gpg-lacre/Makefile

85 lines
1.8 KiB
Makefile
Raw Normal View History

.POSIX:
.PHONY: test e2etest unittest crontest daemontest pre-clean clean restore-keyhome
#
# On systems where Python 3.x binary has a different name, just
# overwrite the name/path on the command line, like:
#
# make test PYTHON=/usr/local/bin/python3.8
#
2023-11-25 15:05:27 +01:00
# This macro is passed via environment to test/e2e_test.py, where it's
# used to compute further commands.
#
PYTHON = python
2023-11-25 15:05:27 +01:00
#
# SQLite database used during tests
#
# This database stores key queue and identity repository for e2etest,
# daemontest, and crontest.
#
TEST_DB = test/lacre.db
#
2023-11-25 15:05:27 +01:00
# Main goal to run all tests.
#
2023-11-25 15:05:27 +01:00
test: e2etest daemontest unittest crontest
#
# Run a set of end-to-end tests.
#
# Test scenarios are described and configured by the test/e2e.ini file.
# Basically this is just a script that feeds Lacre with known input and checks
# whether output meets expectations.
#
e2etest: test/tmp test/logs pre-clean restore-keyhome
$(PYTHON) test/e2e_test.py
#
# Run a basic cron-job test.
#
# We use PYTHONPATH to make sure that cron.py can import GnuPG
# package. We also set LACRE_CONFIG env. variable to make sure
# it slurps the right config.
#
crontest: clean-db $(TEST_DB)
LACRE_CONFIG=test/lacre-daemon.conf PYTHONPATH=`pwd` \
2023-11-25 15:05:27 +01:00
$(PYTHON) webgate-cron.py
$(TEST_DB):
$(PYTHON) test/utils/schema.py $(TEST_DB)
#
# Run an e2e test of Advanced Content Filter.
#
2023-11-25 15:05:27 +01:00
daemontest: restore-keyhome
$(PYTHON) test/daemon_test.py
# Before running the crontest goal we need to make sure that the
# database gets regenerated.
clean-db:
rm -f $(TEST_DB)
#
# Run unit tests
#
unittest:
LACRE_CONFIG=test/lacre.conf $(PYTHON) -m unittest discover -s test/modules
pre-clean:
rm -fv test/lacre.conf
rm -f test/logs/*.log
restore-keyhome:
git restore test/keyhome
2023-11-25 15:05:27 +01:00
git restore test/keyhome.other
test/tmp:
mkdir test/tmp
test/logs:
mkdir test/logs
2023-11-25 15:05:27 +01:00
clean: pre-clean clean-db
rm -rfv test/tmp test/logs