mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-06 09:21:00 +01:00

Also add support for the USE_SYSTEM variable, which means: - test against the in-tree libapparmor and python modules by default - test against the system libapparmor and python modules if USE_SYSTEM is set The old behaviour was a mix of both - it always used the in-tree python modules and the system libapparmor. For obvious reasons, you'll need to build libapparmor before running the tests (unless you specify USE_SYSTEM=1 as parameter to make check). Acked-by: John Johansen <john.johansen@canonical.com> for trunk and 2.9
75 lines
2.6 KiB
Makefile
75 lines
2.6 KiB
Makefile
# ----------------------------------------------------------------------
|
|
# Copyright (c) 1999, 2004-2009 NOVELL (All rights reserved)
|
|
# Copyright (c) 2010-2014 Canonical Ltd.
|
|
#
|
|
# 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.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, contact Novell, Inc.
|
|
# ----------------------------------------------------------------------
|
|
NAME = apparmor-utils
|
|
all:
|
|
COMMONDIR=../../common/
|
|
|
|
include common/Make.rules
|
|
|
|
COMMONDIR_EXISTS=$(strip $(shell [ -d ${COMMONDIR} ] && echo true))
|
|
ifeq ($(COMMONDIR_EXISTS), true)
|
|
common/Make.rules: $(COMMONDIR)/Make.rules
|
|
ln -sf $(COMMONDIR) .
|
|
endif
|
|
|
|
ifdef USE_SYSTEM
|
|
LD_LIBRARY_PATH=
|
|
PYTHONPATH=
|
|
else
|
|
LD_LIBRARY_PATH=../../libraries/libapparmor/src/.libs/
|
|
PYTHONPATH=..
|
|
endif
|
|
|
|
.PHONY: __libapparmor
|
|
__libapparmor:
|
|
ifndef USE_SYSTEM
|
|
@if [ ! -f $(LD_LIBRARY_PATH)libapparmor.so ]; then \
|
|
echo "error: $(LD_LIBRARY_PATH)libapparmor.so is missing. Pick one of these possible solutions:" 1>&2; \
|
|
echo " 1) Build against the in-tree libapparmor by building it first and then trying again. See the top-level README for help." 1>&2; \
|
|
echo " 2) Build against the system libapparmor by adding USE_SYSTEM=1 to your make command." 1>&2; \
|
|
return 1; \
|
|
fi
|
|
endif
|
|
|
|
COVERAGE_OMIT=test-*.py,common_test.py
|
|
ifneq ($(COVERAGE_OUT), )
|
|
HTML_COVR_ARGS=-d $(COVERAGE_OUT)
|
|
endif
|
|
|
|
.PHONY: clean check coverage coverage-report coverage-html
|
|
ifndef VERBOSE
|
|
.SILENT: clean check .coverage coverage coverage-report coverage-html
|
|
endif
|
|
|
|
clean: _clean
|
|
rm -rf __pycache__/ common .coverage htmlcov
|
|
|
|
check: __libapparmor
|
|
export PYTHONPATH=$(PYTHONPATH) ; export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) ; $(foreach test, $(wildcard test-*.py), $(call pyalldo, $(test)))
|
|
|
|
.coverage: $(wildcard ../aa-* ../apparmor/*.py test-*.py) __libapparmor
|
|
export PYTHONPATH=$(PYTHONPATH) ; export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH); $(foreach test, $(wildcard test-*.py), $(PYTHON) -m coverage run --branch -p $(test); )
|
|
$(PYTHON) -m coverage combine
|
|
|
|
coverage: .coverage
|
|
|
|
coverage-report: .coverage
|
|
$(PYTHON) -m coverage report --omit="$(COVERAGE_OMIT)"
|
|
|
|
coverage-html: .coverage
|
|
$(PYTHON) -m coverage html --omit="$(COVERAGE_OMIT)" $(HTML_COVR_ARGS)
|
|
|