mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-03 16:04:44 +01:00
Merge utils: tests: cleanups and allow profile skipping in test-logprof and test-minitools
The utils cannot parse some profile constructs yet, so allow some profiles to be ignored in those tests. Signed-off-by: Ryan Lee <ryan.lee@canonical.com> MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/1563 Approved-by: Georgia Garcia <georgia.garcia@canonical.com> Merged-by: Georgia Garcia <georgia.garcia@canonical.com>
This commit is contained in:
commit
bf2054d963
5 changed files with 18 additions and 14 deletions
|
@ -24,6 +24,13 @@ import unittest
|
|||
# print("Please press the Y button on the keyboard.")
|
||||
# self.assertEqual(apparmor.common.readkey().lower(), 'y', 'Error reading key from shell!')
|
||||
|
||||
# If a profile can't be parsed by the tools, add it to skip_active_profiles or skip_extra_profiles.
|
||||
# Add only the filename (without path), for example 'usr.bin.foo'.
|
||||
# These skip lists are meant as a temporary solution, and should be empty on release.
|
||||
skip_active_profiles = []
|
||||
|
||||
skip_extra_profiles = []
|
||||
|
||||
|
||||
class AATest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
|
|
|
@ -16,7 +16,7 @@ import sys
|
|||
import unittest
|
||||
|
||||
# import apparmor.aa as aa # see the setup_aa() call for details
|
||||
from common_test import AATest, read_file, setup_all_loops # , setup_aa
|
||||
from common_test import AATest, read_file, setup_all_loops, skip_active_profiles # , setup_aa
|
||||
|
||||
|
||||
class TestLogprof(AATest):
|
||||
|
@ -35,7 +35,8 @@ class TestLogprof(AATest):
|
|||
|
||||
# copy the local profiles to the test directory
|
||||
self.profile_dir = self.tmpdir + '/profiles'
|
||||
shutil.copytree('../../profiles/apparmor.d/', self.profile_dir, symlinks=True)
|
||||
shutil.copytree('../../profiles/apparmor.d/', self.profile_dir,
|
||||
symlinks=True, ignore=shutil.ignore_patterns(*skip_active_profiles))
|
||||
|
||||
def AATeardown(self):
|
||||
self._terminate()
|
||||
|
|
|
@ -18,7 +18,7 @@ import sys
|
|||
import unittest
|
||||
|
||||
import apparmor.aa as apparmor
|
||||
from common_test import AATest, read_file, write_file, setup_aa, setup_all_loops
|
||||
from common_test import AATest, read_file, write_file, setup_aa, setup_all_loops, skip_active_profiles
|
||||
|
||||
# Use the same python as the one this script is being run with
|
||||
python_interpreter = sys.executable
|
||||
|
@ -34,7 +34,8 @@ class MinitoolsTest(AATest):
|
|||
# copy the local profiles to the test directory
|
||||
# Should be the set of cleanprofile
|
||||
self.profile_dir = self.tmpdir + '/profiles'
|
||||
shutil.copytree('../../profiles/apparmor.d/', self.profile_dir, symlinks=True)
|
||||
shutil.copytree('../../profiles/apparmor.d/', self.profile_dir,
|
||||
symlinks=True, ignore=shutil.ignore_patterns(*skip_active_profiles))
|
||||
|
||||
apparmor.profile_dir = self.profile_dir
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ from apparmor.rule.alias import AliasRule
|
|||
from apparmor.rule.boolean import BooleanRule
|
||||
from apparmor.rule.include import IncludeRule
|
||||
from apparmor.rule.variable import VariableRule
|
||||
from common_test import AATest, setup_aa, setup_all_loops, write_file
|
||||
from common_test import AATest, setup_aa, setup_all_loops, write_file, skip_active_profiles
|
||||
|
||||
|
||||
class TestAdd_profile(AATest):
|
||||
|
@ -428,7 +428,9 @@ class AaTest_get_all_merged_variables(AATest):
|
|||
# load the profiles and abstractions
|
||||
apparmor.aa.profile_dir = self.profile_dir
|
||||
apparmor.aa.loadincludes()
|
||||
apparmor.aa.read_profiles()
|
||||
# Keep this synced with the list in test-logprof.py and
|
||||
# test-minitools.py
|
||||
apparmor.aa.read_profiles(skip_profiles=skip_active_profiles)
|
||||
|
||||
def test_unchanged(self):
|
||||
self._load_profiles()
|
||||
|
|
|
@ -12,14 +12,7 @@
|
|||
import unittest
|
||||
|
||||
import apparmor.aa as aa
|
||||
from common_test import AATest, setup_aa, setup_all_loops
|
||||
|
||||
# If a profile can't be parsed by the tools, add it to skip_active_profiles or skip_extra_profiles.
|
||||
# Add only the filename (without path), for example 'usr.bin.foo'.
|
||||
# These skip lists are meant as a temporary solution, and should be empty on release.
|
||||
skip_active_profiles = []
|
||||
|
||||
skip_extra_profiles = []
|
||||
from common_test import AATest, setup_aa, setup_all_loops, skip_active_profiles, skip_extra_profiles
|
||||
|
||||
|
||||
class TestFoo(AATest):
|
||||
|
|
Loading…
Add table
Reference in a new issue