.ONESHELL: SHELL = /usr/bin/bash .SILENT: COV3_CMD=venv3/bin/coverage PYT3_CMD=venv3/bin/python PDF_CMD=xdg-open OUTDIR=testresults TEXFILE=$(OUTDIR)/unittest.tex PDFFILE=$(OUTDIR)/unittest.pdf .PHONY: all help venv3 release full short smoke single testrun_full testrun_short testrun_smoke testrun_single coverage_analysis finalise status compile release_testcases publish view clean all: full help: echo "make [target]" echo " Here is a list of the most helpfull targets:" echo " - release: Release the testcases, creates a pdf ducument including all testcases and copy testdata to the module" echo " ----------------------------------------------------------------------------------------------------------------" echo " - full: Create a pdf ducument including all testcases" echo " - short: Create a pdf ducument including most testcases" echo " - smoke: Create a pdf ducument including some testcases" echo " - single: Create a pdf ducument including one testcases" echo " ----------------------------------------------------------------------------------------------------------------" echo " - testrun_full: Run all testcases" echo " - testrun_short: Run most testcases" echo " - testrun_smoke: Run some testcases" echo " - testrun_single: Run one testcases" release: testrun_full coverage_analysis finalise compile publish status full: testrun_full finalise compile status short: testrun_short finalise compile status smoke: testrun_smoke finalise compile status single: testrun_single finalise compile status venv3: echo -e "\033[1;33mCreating virtual env...\e[0m" virtualenv -p /usr/bin/python3 venv3 venv3/bin/pip install --upgrade pip venv3/bin/pip install -r requirements.txt clean: venv3 echo -e "\033[1;33mCleaning up unittest...\e[0m" echo -e "\e[1m * Testresults from last testrun\e[0m" ls testresults | xargs -i echo " testresults/{}" ls testresults | xargs -i rm -f "testresults/{}" echo -e "\e[1m * Collected coverage information\e[0m" $(COV3_CMD) erase cleanall: clean echo "\e[1m * Virtualenv\e[0m" rm -rf venv3 release_testcases: $(PYT3_CMD) src/unittest/scripts/unittest.py release_testcases prepare: venv3 $(PYT3_CMD) src/unittest/scripts/unittest.py prepare testrun_full: clean prepare $(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e full testrun_short: clean prepare $(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e short testrun_smoke: clean prepare $(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e smoke testrun_single: clean prepare $(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e single coverage_analysis: echo -e "\033[1;33mCreating Coverage-XML-File: $(pwd)/testresults/coverage.xml\e[0m" $(COV3_CMD) xml -o testresults/coverage.xml finalise: coverage_analysis $(PYT3_CMD) src/unittest/scripts/unittest.py finalise compile: latexmk -pdf -quiet -pdflatex="pdflatex -interaction=nonstopmode" -output-directory=$(OUTDIR) -use-make $(TEXFILE) > /dev/null status: $(PYT3_CMD) src/unittest/scripts/unittest.py status publish: $(PYT3_CMD) src/unittest/scripts/unittest.py publish view: $(PDF_CMD) $(PDFFILE)