diff --git a/utils/test/aa_test.py b/utils/test/aa_test.py index 0af026cd8..0bf973a55 100755 --- a/utils/test/aa_test.py +++ b/utils/test/aa_test.py @@ -38,53 +38,6 @@ class Test(unittest.TestCase): def test_loadinclude(self): apparmor.aa.loadincludes() - def test_path_globs(self): - globs = { - '/foo/': '/*/', - '/foo': '/*', - '/b*': '/*', - '/*b': '/*', - '/*': '/*', - '/*/': '/*/', - '/*.foo/': '/*/', - '/**.foo/': '/**/', - '/foo/*/': '/**/', - '/usr/foo/*': '/usr/**', - '/usr/foo/**': '/usr/**', - '/usr/foo/bar**': '/usr/foo/**', - '/usr/foo/**bar': '/usr/foo/**', - '/usr/bin/foo**bar': '/usr/bin/**', - '/usr/foo/**/bar': '/usr/foo/**/*', - '/usr/foo/**/*': '/usr/foo/**', - '/usr/foo/*/bar': '/usr/foo/*/*', - '/usr/bin/foo*bar': '/usr/bin/*', - '/usr/bin/*foo*': '/usr/bin/*', - '/usr/foo/*/*': '/usr/foo/**', - '/usr/foo/*/**': '/usr/foo/**', - '/**': '/**', - '/**/': '/**/' - } - for path in globs.keys(): - self.assertEqual(apparmor.aa.glob_path(path), globs[path], 'Unexpected glob generated for path: %s'%path) - - def test_path_withext_globs(self): - globs = { - '/foo/bar': '/foo/bar', - '/foo/**/bar': '/foo/**/bar', - '/foo.bar': '/*.bar', - '/*.foo': '/*.foo' , - '/usr/*.bar': '/**.bar', - '/usr/**.bar': '/**.bar', - '/usr/foo**.bar': '/usr/**.bar', - '/usr/foo*.bar': '/usr/*.bar', - '/usr/fo*oo.bar': '/usr/*.bar', - '/usr/*foo*.bar': '/usr/*.bar', - '/usr/**foo.bar': '/usr/**.bar', - '/usr/*foo.bar': '/usr/*.bar', - '/usr/foo.b*': '/usr/*.b*' - } - for path in globs.keys(): - self.assertEqual(apparmor.aa.glob_path_withext(path), globs[path], 'Unexpected glob generated for path: %s'%path) def test_modes_to_string(self): diff --git a/utils/test/test-aare.py b/utils/test/test-aare.py index 94592df39..0f351185b 100644 --- a/utils/test/test-aare.py +++ b/utils/test/test-aare.py @@ -275,6 +275,27 @@ class TestAAREglobPath(AATest): ('/foo/*/**', '/foo/**'), ('/foo/*/*', '/foo/**'), + ('/foo', '/*',), + ('/b*', '/*',), + ('/*b', '/*',), + ('/*', '/*',), + ('/*.foo', '/*',), + ('/**.foo', '/**',), + ('/foo/*', '/**',), + ('/usr/foo/*', '/usr/**',), + ('/usr/foo/**', '/usr/**',), + ('/usr/foo/bar**', '/usr/foo/**',), + ('/usr/foo/**bar', '/usr/foo/**',), + ('/usr/bin/foo**bar', '/usr/bin/**',), + ('/usr/foo/**/bar', '/usr/foo/**/*',), + ('/usr/foo/**/*', '/usr/foo/**',), + ('/usr/foo/*/bar', '/usr/foo/*/*',), + ('/usr/bin/foo*bar', '/usr/bin/*',), + ('/usr/bin/*foo*', '/usr/bin/*',), + ('/usr/foo/*/*', '/usr/foo/**',), + ('/usr/foo/*/**', '/usr/foo/**',), + ('/**', '/**',), + ] def _run_test(self, params, expected): @@ -319,6 +340,23 @@ class TestAAREglobPathWithExt(AATest): ('/foo/*/**', '/foo/*/**'), ('/foo/*/*', '/foo/*/*'), + ('/*', '/*'), + ('/**', '/**'), + + ('/foo/bar', '/foo/bar'), + ('/foo/**/bar', '/foo/**/bar'), + ('/foo.bar', '/*.bar'), + ('/*.foo', '/*.foo' ), + ('/usr/*.bar', '/**.bar'), + ('/usr/**.bar', '/**.bar'), + ('/usr/foo**.bar', '/usr/**.bar'), + ('/usr/foo*.bar', '/usr/*.bar'), + ('/usr/fo*oo.bar', '/usr/*.bar'), + ('/usr/*foo*.bar', '/usr/*.bar'), + ('/usr/**foo.bar', '/usr/**.bar'), + ('/usr/*foo.bar', '/usr/*.bar'), + ('/usr/foo.b*', '/usr/*.b*'), + # with extension added ('/foo/bar/baz**.xy', '/foo/bar/**.xy'), ('/foo/bar/**baz.xy', '/foo/bar/**.xy'), @@ -344,6 +382,28 @@ class TestAAREglobPathWithExt(AATest): ('/foo/**/*.xy', '/foo/**.xy'), ('/foo/*/**.xy', '/foo/**.xy'), ('/foo/*/*.xy', '/foo/**.xy'), + + ('/*.foo', '/*.foo'), + ('/**.foo', '/**.foo'), + + ('/foo.baz', '/*.baz'), + ('/b*.baz', '/*.baz'), + ('/*b.baz', '/*.baz'), + ('/foo/*.baz', '/**.baz'), + ('/usr/foo/*.baz', '/usr/**.baz'), + ('/usr/foo/**.baz', '/usr/**.baz'), + ('/usr/foo/bar**.baz', '/usr/foo/**.baz'), + ('/usr/foo/**bar.baz', '/usr/foo/**.baz'), + ('/usr/bin/foo**bar.baz', '/usr/bin/**.baz'), + ('/usr/foo/**/bar.baz', '/usr/foo/**/*.baz'), + ('/usr/foo/**/*.baz', '/usr/foo/**.baz'), + ('/usr/foo/*/bar.baz', '/usr/foo/*/*.baz'), + ('/usr/bin/foo*bar.baz', '/usr/bin/*.baz'), + ('/usr/bin/*foo*.baz', '/usr/bin/*.baz'), + ('/usr/foo/*/*.baz', '/usr/foo/**.baz'), + ('/usr/foo/*/**.baz', '/usr/foo/**.baz'), + + ] def _run_test(self, params, expected):