[apparmor] [patch] move globbing tests to test-aare.py
Christian Boltz
apparmor at cboltz.de
Sun Oct 9 17:56:06 UTC 2016
Hello,
aa_test.py doesn't run in 'make check' because its filename doesn't
match the 'test-*.py' pattern.
Move tests for globbing ("plain" globbing and globbing with ext) to
test-aare.py to make sure those tests actually run.
Note: This isn't an exact move - I adjusted some of the tests to make
them more useful, and added some more tests.
Also, glob_path() and glob_path_withext() no longer exist in aa.py.
They moved to the AARE class as part of the FileRule patch series.
[ 02-move-aare-tests-to-test-aare.diff ]
=== modified file ./utils/test/aa_test.py
--- utils/test/aa_test.py 2015-01-18 14:54:32.128733106 +0100
+++ utils/test/aa_test.py 2016-10-09 19:45:14.542938279 +0200
@@ -38,53 +38,6 @@
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):
=== modified file ./utils/test/test-aare.py
--- utils/test/test-aare.py 2016-10-01 21:00:58.949770000 +0200
+++ utils/test/test-aare.py 2016-10-09 19:44:05.699283921 +0200
@@ -275,6 +275,27 @@
('/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 @@
('/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 +383,28 @@
('/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):
Regards,
Christian Boltz
--
[AppArmor] Unlike SELinux, it does not require a PhD in computer
security to get it working... [Peter Czanik in opensuse-factory]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20161009/20c4b29d/attachment.pgp>
More information about the AppArmor
mailing list