![]() Note that the old code assigned dummy_prof to aa[profile][hat] and active_profiles[profile] (= the main/parent profile) - which is diffferent when testing a log for a child profile. aa[profile][hat] was the wrong place - but since we used exactly that again when checking for added exec rules, this error was hidden. Now that the test is switched to using active_profiles, only check the main profile for exec rules added by ask_exec(). (This will need to be adjusted when we add a test for exec rules/events in nested childs, but not earlier ;-) |
||
---|---|---|
.. | ||
logprof | ||
wtmp-examples | ||
cleanprof_test.complain | ||
cleanprof_test.in | ||
cleanprof_test.out | ||
common_test.py | ||
easyprof.conf | ||
logprof.conf | ||
Makefile | ||
README.md | ||
runtests-py3.sh | ||
severity.db | ||
severity_broken.db | ||
task.yaml | ||
test-aa-cli-bootstrap.py | ||
test-aa-decode.py | ||
test-aa-easyprof.py | ||
test-aa-notify.py | ||
test-aa.py | ||
test-aare.py | ||
test-abi.py | ||
test-alias.py | ||
test-all.py | ||
test-baserule.py | ||
test-boolean.py | ||
test-capability.py | ||
test-change_profile.py | ||
test-common.py | ||
test-config.py | ||
test-dbus.py | ||
test-example.py | ||
test-file.py | ||
test-include.py | ||
test-io_uring.py | ||
test-libapparmor-test_multi.py | ||
test-logparser.py | ||
test-logprof.py | ||
test-minitools.py | ||
test-mount.py | ||
test-mqueue.py | ||
test-network.py | ||
test-notify.py | ||
test-parser-simple-tests.py | ||
test-pivot_root.py | ||
test-profile-list.py | ||
test-profile-storage.py | ||
test-profiles.py | ||
test-ptrace.py | ||
test-regex_matches.py | ||
test-rlimit.py | ||
test-severity.py | ||
test-signal.py | ||
test-translations.py | ||
test-unix.py | ||
test-userns.py | ||
test-variable.py |
Test data generated elsewhere
The tests in parser
generate additional test profiles in
parser/tst/simple_tests/
: see gen-dbus.py
and gen-xtrans.py
.
utils/test/test-parser-simple-tests.py
uses this test data when it is
available. If this test data has not been generated, this test will not
complain: it will simply exercise fewer test profiles.
Running individual tests
Python's unittest allows individual tests to be executed by specifying the class name and the test on the command line. When running tests individually, the unittest framework executes the "setUp" and "tearDown" methods automatically. For more information, refer to the unittest documentation.
Make sure to set the environment variables pointing to the in-tree apparmor modules, and the in-tree libapparmor and its python wrapper:
$ export PYTHONPATH=..:../../libraries/libapparmor/swig/python/build/$(/usr/bin/python3 ../../libraries/libapparmor/swig/python/test/buildpath.py)
$ export __AA_CONFDIR=.
To execute the test individually, run:
$ python3 ./test-tile.py ClassFoo.test_bar