mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-28 12:58:07 +00:00
Adjust test-ptrace_parse.py to use PtraceRule
The tests in test-ptrace_parse.py used aa.parse_ptrace_rule(), which is based on Raw_Ptrace_Rule (= regex check + "just store it"). This patch changes the tests to test against PtraceRule.get_clean(). Since get_clean does some cleanups, the expected result slightly differs from the original rule. Finally switch to the AATest class and setup_all_loops() we use in most tests. Also change test-regex_matches.py to import RE_PROFILE_SIGNAL directly from apparmor.regex instead of apparmor.aa (where it will vanish soon). Acked-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
parent
5d6ca98af6
commit
c303214286
@ -9,27 +9,29 @@
|
|||||||
#
|
#
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
import apparmor.aa as aa
|
|
||||||
import unittest
|
import unittest
|
||||||
from common_test import AAParseTest, setup_regex_tests
|
from common_test import AATest, setup_all_loops
|
||||||
|
|
||||||
class AAParsePtraceTest(AAParseTest):
|
from apparmor.rule.ptrace import PtraceRule
|
||||||
def setUp(self):
|
|
||||||
self.parse_function = aa.parse_ptrace_rule
|
class AAParsePtraceTest(AATest):
|
||||||
|
def _run_test(self, params, expected):
|
||||||
|
rule_obj = PtraceRule.parse(params)
|
||||||
|
self.assertEqual(rule_obj.get_clean(), expected)
|
||||||
|
|
||||||
tests = [
|
tests = [
|
||||||
('ptrace,', 'ptrace base keyword rule'),
|
('ptrace,', 'ptrace,'),
|
||||||
('ptrace (readby),', 'ptrace readby rule'),
|
('ptrace (readby),', 'ptrace readby,'),
|
||||||
('ptrace (trace),', 'ptrace trace rule'),
|
('ptrace (trace),', 'ptrace trace,'),
|
||||||
('ptrace (trace read),', 'ptrace multi-perm rule'),
|
('ptrace (trace read),', 'ptrace (read trace),'),
|
||||||
('ptrace r,', 'ptrace r rule'),
|
('ptrace r,', 'ptrace r,'),
|
||||||
('ptrace w,', 'ptrace w rule'),
|
('ptrace w,', 'ptrace w,'),
|
||||||
('ptrace rw,', 'ptrace rw rule'),
|
('ptrace rw,', 'ptrace rw,'),
|
||||||
('ptrace read peer=foo,', 'ptrace peer rule 1'),
|
('ptrace read peer=foo,', 'ptrace read peer=foo,'),
|
||||||
('ptrace (trace read) peer=/usr/bin/bar,', 'ptrace peer rule 2'),
|
('ptrace (trace read) peer=/usr/bin/bar,', 'ptrace (read trace) peer=/usr/bin/bar,'),
|
||||||
('ptrace wr peer=/sbin/baz,', 'ptrace peer rule 3'),
|
('ptrace wr peer=/sbin/baz,', 'ptrace wr peer=/sbin/baz,'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
setup_all_loops(__name__)
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
setup_regex_tests(AAParsePtraceTest)
|
|
||||||
unittest.main(verbosity=2)
|
unittest.main(verbosity=2)
|
||||||
|
@ -14,7 +14,7 @@ import unittest
|
|||||||
from common_test import AATest, setup_all_loops
|
from common_test import AATest, setup_all_loops
|
||||||
from apparmor.common import AppArmorBug, AppArmorException
|
from apparmor.common import AppArmorBug, AppArmorException
|
||||||
|
|
||||||
from apparmor.regex import strip_quotes, parse_profile_start_line, re_match_include, RE_PROFILE_START, RE_PROFILE_CAP, RE_PROFILE_SIGNAL
|
from apparmor.regex import strip_quotes, parse_profile_start_line, re_match_include, RE_PROFILE_START, RE_PROFILE_CAP, RE_PROFILE_PTRACE, RE_PROFILE_SIGNAL
|
||||||
|
|
||||||
|
|
||||||
class AARegexTest(AATest):
|
class AARegexTest(AATest):
|
||||||
@ -318,7 +318,7 @@ class AARegexPtrace(AARegexTest):
|
|||||||
'''Tests for RE_PROFILE_PTRACE'''
|
'''Tests for RE_PROFILE_PTRACE'''
|
||||||
|
|
||||||
def AASetup(self):
|
def AASetup(self):
|
||||||
self.regex = aa.RE_PROFILE_PTRACE
|
self.regex = RE_PROFILE_PTRACE
|
||||||
|
|
||||||
tests = [
|
tests = [
|
||||||
# audit allow rule rule details comment
|
# audit allow rule rule details comment
|
||||||
|
Loading…
x
Reference in New Issue
Block a user