mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-22 01:57:43 +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
|
||||
from common_test import AAParseTest, setup_regex_tests
|
||||
from common_test import AATest, setup_all_loops
|
||||
|
||||
class AAParsePtraceTest(AAParseTest):
|
||||
def setUp(self):
|
||||
self.parse_function = aa.parse_ptrace_rule
|
||||
from apparmor.rule.ptrace import PtraceRule
|
||||
|
||||
class AAParsePtraceTest(AATest):
|
||||
def _run_test(self, params, expected):
|
||||
rule_obj = PtraceRule.parse(params)
|
||||
self.assertEqual(rule_obj.get_clean(), expected)
|
||||
|
||||
tests = [
|
||||
('ptrace,', 'ptrace base keyword rule'),
|
||||
('ptrace (readby),', 'ptrace readby rule'),
|
||||
('ptrace (trace),', 'ptrace trace rule'),
|
||||
('ptrace (trace read),', 'ptrace multi-perm rule'),
|
||||
('ptrace r,', 'ptrace r rule'),
|
||||
('ptrace w,', 'ptrace w rule'),
|
||||
('ptrace rw,', 'ptrace rw rule'),
|
||||
('ptrace read peer=foo,', 'ptrace peer rule 1'),
|
||||
('ptrace (trace read) peer=/usr/bin/bar,', 'ptrace peer rule 2'),
|
||||
('ptrace wr peer=/sbin/baz,', 'ptrace peer rule 3'),
|
||||
('ptrace,', 'ptrace,'),
|
||||
('ptrace (readby),', 'ptrace readby,'),
|
||||
('ptrace (trace),', 'ptrace trace,'),
|
||||
('ptrace (trace read),', 'ptrace (read trace),'),
|
||||
('ptrace r,', 'ptrace r,'),
|
||||
('ptrace w,', 'ptrace w,'),
|
||||
('ptrace rw,', 'ptrace rw,'),
|
||||
('ptrace read peer=foo,', 'ptrace read peer=foo,'),
|
||||
('ptrace (trace read) peer=/usr/bin/bar,', 'ptrace (read trace) peer=/usr/bin/bar,'),
|
||||
('ptrace wr peer=/sbin/baz,', 'ptrace wr peer=/sbin/baz,'),
|
||||
]
|
||||
|
||||
setup_all_loops(__name__)
|
||||
if __name__ == '__main__':
|
||||
setup_regex_tests(AAParsePtraceTest)
|
||||
unittest.main(verbosity=2)
|
||||
|
@ -14,7 +14,7 @@ import unittest
|
||||
from common_test import AATest, setup_all_loops
|
||||
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):
|
||||
@ -318,7 +318,7 @@ class AARegexPtrace(AARegexTest):
|
||||
'''Tests for RE_PROFILE_PTRACE'''
|
||||
|
||||
def AASetup(self):
|
||||
self.regex = aa.RE_PROFILE_PTRACE
|
||||
self.regex = RE_PROFILE_PTRACE
|
||||
|
||||
tests = [
|
||||
# audit allow rule rule details comment
|
||||
|
Loading…
x
Reference in New Issue
Block a user