2
0
mirror of https://gitlab.com/apparmor/apparmor synced 2025-08-22 01:57:43 +00:00

Test if active and extra profiles can be parsed by the tools

The added test makes sure that the python code can parse all profiles
shipped with AppArmor. If this fails, read_profiles() /
read_inactive_profiles() will raise an exception.

Checking for the number of read profiles is mostly done to ensure
*something* is read (to make sure an empty or non-existing directory
won't make the test useless).
This commit is contained in:
Christian Boltz 2020-11-01 01:06:36 +01:00
parent 92883d7e6c
commit b02c59a730
No known key found for this signature in database
GPG Key ID: C6A682EA63C82F1C

View File

@ -0,0 +1,36 @@
#! /usr/bin/python3
# ------------------------------------------------------------------
#
# Copyright (C) 2020 Christian Boltz <apparmor@cboltz.de>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 2 of the GNU General Public
# License published by the Free Software Foundation.
#
# ------------------------------------------------------------------
import unittest
from common_test import AATest, setup_all_loops, setup_aa
import apparmor.aa as aa
class TestFoo(AATest):
# Make sure the python code can parse all profiles shipped with AppArmor.
# If this fails, read_profiles() / read_inactive_profiles() will raise an exception.
#
# Checking for the number of read profiles is mostly done to ensure *something* is read
# (to make sure an empty or non-existing directory won't make this test useless).
def test_active_profiles(self):
aa.read_profiles()
self.assertGreaterEqual(len(aa.active_profiles.profile_names), 42)
def test_extra_profiles(self):
aa.read_inactive_profiles()
self.assertGreaterEqual(len(aa.extra_profiles.profile_names), 100)
setup_aa(aa)
setup_all_loops(__name__)
if __name__ == '__main__':
unittest.main(verbosity=1)