COV2_CMD=venv2/bin/coverage COV3_CMD=venv3/bin/coverage PYT2_CMD=venv2/bin/python PYT3_CMD=venv3/bin/python PDF_CMD=xdg-open OUTDIR=testresults TEXFILE=$(OUTDIR)/unittest.tex PDFFILE=$(OUTDIR)/unittest.pdf .PHONY: all help 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 venv: @[[ -d venv2 ]] || make venv2 @[[ -d venv3 ]] || make venv3 venv2: virtualenv -p /usr/bin/python2 venv2 venv2/bin/pip install --upgrade pip venv2/bin/pip install -r requirements.txt venv3: virtualenv -p /usr/bin/python3 venv3 venv3/bin/pip install --upgrade pip venv3/bin/pip install -r requirements.txt clean: venv @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 "\e[1m * Virtualenv\e[0m" @rm -rf venv? release_testcases: @$(PYT3_CMD) src/unittest/scripts/unittest.py release_testcases prepare: venv @$(PYT3_CMD) src/unittest/scripts/unittest.py prepare testrun_full: clean prepare @$(COV2_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e full @$(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e full testrun_short: clean prepare @$(COV2_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e short @$(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e short testrun_smoke: clean prepare @$(COV2_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e smoke @$(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e smoke testrun_single: clean prepare @$(COV2_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e single @$(COV3_CMD) run -a --branch --source=`$(PYT3_CMD) src/config.py -p` src/unittest/scripts/unittest.py testrun -e single coverage_analysis: @echo "\e[1m\e[93mCreating 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)