mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-11 16:44:59 +00:00
789d0ebbf9
When trying to get policycoreutils working in python3, I kept running into TabErrors: Traceback (most recent call last): File "/usr/lib/python-exec/python3.3/semanage", line 27, in <module> import seobject File "/usr/lib64/python3.3/site-packages/seobject.py", line 154 context = "%s%s" % (filler, raw) ^ TabError: inconsistent use of tabs and spaces in indentation Python3 is a lot stricter than python2 regarding whitespace and looks like previous commits mixed the two. When fixing this, I took the chance to fix other PEP8 style issues at the same time. This commit was made using: $ file $(find . -type f) | grep -i python | sed 's/:.*$//' > pyfiles $ autopep8 --in-place --ignore=E501,E265 $(cat pyfiles) The ignore E501 is long lines since there are many that would be wrapped otherwise, and E265 is block comments that start with ## instead of just #. Signed-off-by: Jason Zaman <jason@perfinion.com>
123 lines
4.3 KiB
Python
123 lines
4.3 KiB
Python
import unittest
|
|
import os
|
|
import shutil
|
|
from tempfile import mkdtemp
|
|
from subprocess import Popen, PIPE
|
|
|
|
|
|
class SepolicyTests(unittest.TestCase):
|
|
|
|
def assertDenied(self, err):
|
|
self.assert_('Permission denied' in err,
|
|
'"Permission denied" not found in %r' % err)
|
|
|
|
def assertNotFound(self, err):
|
|
self.assert_('not found' in err,
|
|
'"not found" not found in %r' % err)
|
|
|
|
def assertFailure(self, status):
|
|
self.assert_(status != 0,
|
|
'"Succeeded when it should have failed')
|
|
|
|
def assertSuccess(self, status, err):
|
|
self.assert_(status == 0,
|
|
'"sepolicy should have succeeded for this test %r' % err)
|
|
|
|
def test_man_domain(self):
|
|
"Verify sepolicy manpage -d works"
|
|
p = Popen(['sepolicy', 'manpage', '-d', 'httpd_t'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
print out, err
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_man_all(self):
|
|
"Verify sepolicy manpage -a works"
|
|
p = Popen(['sepolicy', 'manpage', '-a'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_network_l(self):
|
|
"Verify sepolicy network -l works"
|
|
p = Popen(['sepolicy', 'network', '-l'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_network_t(self):
|
|
"Verify sepolicy network -t works"
|
|
p = Popen(['sepolicy', 'network', '-t', 'http_port_t'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_network_p(self):
|
|
"Verify sepolicy network -p works"
|
|
p = Popen(['sepolicy', 'network', '-p', '80'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_network_d(self):
|
|
"Verify sepolicy network -d works"
|
|
p = Popen(['sepolicy', 'network', '-d', 'httpd_t'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_transition_s(self):
|
|
"Verify sepolicy transition -l works"
|
|
p = Popen(['sepolicy', 'transition', '-s', 'httpd_t'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_transition_t(self):
|
|
"Verify sepolicy transition -t works"
|
|
p = Popen(['sepolicy', 'transition', '-s', 'httpd_t', '-t', 'sendmail_t'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_booleans_a(self):
|
|
"Verify sepolicy booleans -a works"
|
|
p = Popen(['sepolicy', 'booleans', '-a'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_booleans_b_alias(self):
|
|
"Verify sepolicy booleans -b works"
|
|
p = Popen(['sepolicy', 'booleans', '-b', 'allow_ypbind'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_booleans_b(self):
|
|
"Verify sepolicy booleans -b works"
|
|
p = Popen(['sepolicy', 'booleans', '-b', 'nis_enabled'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_interface_l(self):
|
|
"Verify sepolicy interface -l works"
|
|
p = Popen(['sepolicy', 'interface', '-l'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_interface_a(self):
|
|
"Verify sepolicy interface -a works"
|
|
p = Popen(['sepolicy', 'interface', '-a'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_interface_p(self):
|
|
"Verify sepolicy interface -u works"
|
|
p = Popen(['sepolicy', 'interface', '-u'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
def test_interface_ci(self):
|
|
"Verify sepolicy interface -c -i works"
|
|
p = Popen(['sepolicy', 'interface', '-c', '-i', 'apache_admin'], stdout=PIPE)
|
|
out, err = p.communicate()
|
|
self.assertSuccess(p.returncode, err)
|
|
|
|
if __name__ == "__main__":
|
|
import selinux
|
|
if selinux.security_getenforce() == 1:
|
|
unittest.main()
|
|
else:
|
|
print "SELinux must be in enforcing mode for this test"
|