[apparmor] [patch 5/8] utils tests: restructure mount parse tests

Steve Beattie steve at nxnw.org
Fri Aug 29 00:04:09 UTC 2014


Convert the mount parse tests to use common AAParseTest super class in
common_test.py.

Signed-off-by: Steve Beattie <steve at nxnw.org>
---
 utils/test/test-mount_parse.py |   94 ++++++++++++-----------------------------
 1 file changed, 29 insertions(+), 65 deletions(-)

Index: b/utils/test/test-mount_parse.py
===================================================================
--- a/utils/test/test-mount_parse.py
+++ b/utils/test/test-mount_parse.py
@@ -11,72 +11,36 @@
 
 import apparmor.aa as aa
 import unittest
+from common_test import AAParseTest, setup_regex_tests
 
-class AAParseMountTest(unittest.TestCase):
-
-    def test_parse_plain_mount_rule(self):
-        rule = 'mount,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-    def test_parse_ro_mount(self):
-        rule = 'mount -o ro,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-    def test_parse_rw_mount_with_mount_points(self):
-        rule = 'mount -o rw /dev/sdb1 -> /mnt/external,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-class AAParseRemountTest(unittest.TestCase):
-
-    def test_parse_plain_remount_rule(self):
-        rule = 'remount,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-    def test_parse_ro_remount(self):
-        rule = 'remount -o ro,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-    def test_parse_ro_remount_with_mount_point(self):
-        rule = 'remount -o ro /,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-class AAParseUmountTest(unittest.TestCase):
-
-    def test_parse_plain_umount_rule(self):
-        rule = 'umount,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-    def test_parse_umount_with_mount_point(self):
-        rule = 'umount /mnt/external,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-    def test_parse_plain_unmount_rule(self):
-        rule = 'unmount,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
-
-    def test_parse_unmount_with_mount_point(self):
-        rule = 'unmount /mnt/external,'
-        mount = aa.parse_mount_rule(rule)
-        self.assertEqual(rule, mount.serialize(),
-                'mount object returned "%s", expected "%s"' % (mount.serialize(), rule))
+class BaseAAParseMountTest(AAParseTest):
+    def setUp(self):
+        self.parse_function = aa.parse_mount_rule
+
+class AAParseMountTest(BaseAAParseMountTest):
+    tests = [
+        ('mount,', 'mount base keyword rule'),
+        ('mount -o ro,', 'mount ro rule'),
+        ('mount -o rw /dev/sdb1 -> /mnt/external,', 'mount rw with mount point'),
+    ]
+
+class AAParseRemountTest(BaseAAParseMountTest):
+    tests = [
+        ('remount,', 'remount base keyword rule'),
+        ('remount -o ro,', 'remount ro rule'),
+        ('remount -o ro /,', 'remount ro with mountpoint'),
+    ]
+
+class AAParseUmountTest(BaseAAParseMountTest):
+    tests = [
+        ('umount,', 'umount base keyword rule'),
+        ('umount /mnt/external,', 'umount with mount point'),
+        ('unmount,', 'unmount base keyword rule'),
+        ('unmount /mnt/external,', 'unmount with mount point'),
+    ]
 
 if __name__ == '__main__':
+    setup_regex_tests(AAParseMountTest)
+    setup_regex_tests(AAParseRemountTest)
+    setup_regex_tests(AAParseUmountTest)
     unittest.main(verbosity=2)




More information about the AppArmor mailing list