[apparmor] [PATCH 3/8] utils: Add confdir env variable to aa.py for in-tree testing
Tyler Hicks
tyhicks at canonical.com
Wed Feb 8 22:01:40 UTC 2017
Instead of hard-coding the location of logprof.conf and other utils
related configuration files to /etc/apparmor/, this patch looks for the
"APPARMOR_PY_CONFDIR" environment variable and, when set, uses its value
for the configuration directory.
This allows for the make check target to use the in-tree config file,
profiles, and parser by default. To override this behavior, the
USE_SYSTEM make variable needs to be set like so:
$ make USE_SYSTEM=1 -C utils check
The APPARMOR_PY_CONFDIR should be considered somewhat user-facing,
although undocumented at this time.
Signed-off-by: Tyler Hicks <tyhicks at canonical.com>
Cc: Christian Boltz <apparmor at cboltz.de>
---
utils/apparmor/aa.py | 2 +-
utils/test/Makefile | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/utils/apparmor/aa.py b/utils/apparmor/aa.py
index eecf8c7..9450baa 100644
--- a/utils/apparmor/aa.py
+++ b/utils/apparmor/aa.py
@@ -73,7 +73,7 @@ _ = init_translation()
# Setup logging incase of debugging is enabled
debug_logger = DebugLogger('aa')
-CONFDIR = '/etc/apparmor'
+CONFDIR = os.getenv('APPARMOR_PY_CONFDIR', '/etc/apparmor')
# The database for severity
sev_db = None
diff --git a/utils/test/Makefile b/utils/test/Makefile
index 014c094..f5273e3 100644
--- a/utils/test/Makefile
+++ b/utils/test/Makefile
@@ -23,11 +23,13 @@ include $(COMMONDIR)/Make.rules
ifdef USE_SYSTEM
LD_LIBRARY_PATH=
PYTHONPATH=
+ CONFDIR=
else
# PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am
PYTHON_DIST_BUILD_PATH = ../../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))")
LD_LIBRARY_PATH=../../libraries/libapparmor/src/.libs/
PYTHONPATH=..:$(PYTHON_DIST_BUILD_PATH)
+ CONFDIR=$(CURDIR)
endif
.PHONY: __libapparmor
@@ -62,10 +64,10 @@ clean:
rm -rf __pycache__/ .coverage htmlcov
check: __libapparmor
- export PYTHONPATH=$(PYTHONPATH) ; export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) ; export LC_ALL=C; $(foreach test, $(wildcard test-*.py), echo ; echo === $(test) === ; $(call pyalldo, $(test)))
+ export PYTHONPATH=$(PYTHONPATH) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) LC_ALL=C APPARMOR_PY_CONFDIR=$(CONFDIR) ; $(foreach test, $(wildcard test-*.py), echo ; echo === $(test) === ; $(call pyalldo, $(test)))
.coverage: $(wildcard ../aa-* ../apparmor/*.py test-*.py) __libapparmor
- export PYTHONPATH=$(PYTHONPATH) ; export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH); export LC_ALL=C; $(COVERAGE_IGNORE_FAILURES_CMD) ; $(foreach test, $(wildcard test-*.py), echo ; echo === $(test) === ; $(PYTHON) -m coverage run --branch -p $(test); )
+ export PYTHONPATH=$(PYTHONPATH) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) LC_ALL=C APPARMOR_PY_CONFDIR=$(CONFDIR) ; $(COVERAGE_IGNORE_FAILURES_CMD) ; $(foreach test, $(wildcard test-*.py), echo ; echo === $(test) === ; $(PYTHON) -m coverage run --branch -p $(test); )
$(PYTHON) -m coverage combine
coverage: .coverage
--
2.7.4
More information about the AppArmor
mailing list