| |
| TEST_TARGETS = |
| ITEST_TARGETS = -m integration |
| UTEST_TARGETS = -m "not(integration)" |
| |
| all: _tests |
| |
| integration: |
| $(eval TEST_TARGETS := $(ITEST_TARGETS)) |
| |
| unit: |
| $(eval TEST_TARGETS := $(UTEST_TARGETS)) |
| |
| utests: test |
| utest: test |
| tests: test |
| test: unit _tests |
| itests: itest |
| itest: integration _tests |
| |
| _tests: py_env |
| bash -c 'source py_env/bin/activate && py.test tests $(TEST_TARGETS)' |
| |
| ucoverage: unit coverage |
| icoverage: integration coverage |
| |
| coverage: py_env |
| bash -c 'source py_env/bin/activate && \ |
| coverage erase && \ |
| coverage run `which py.test` tests $(TEST_TARGETS) && \ |
| coverage report -m' |
| |
| py_env: requirements.txt |
| rm -rf py_env |
| virtualenv py_env |
| bash -c 'source py_env/bin/activate && \ |
| pip install -e . && \ |
| pip install -r requirements.txt' |
| |
| clean: |
| rm -rf py_env |