-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathMakefile
68 lines (57 loc) · 2.05 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
.PHONY: flake8 test coverage style style_check
style:
black --target-version=py36 \
--line-length=120 \
--skip-string-normalization \
bulk_update_or_create tests setup.py
flake8 bulk_update_or_create tests
style_check: flake8
black --target-version=py36 \
--line-length=120 \
--skip-string-normalization \
--check \
bulk_update_or_create tests setup.py
flake8:
flake8 bulk_update_or_create tests
startmysql:
@docker inspect django-bulk_update_or_create-mysql | grep -q '"Running": true' || \
docker run --name django-bulk_update_or_create-mysql \
-e MYSQL_ROOT_PASSWORD=root \
--rm -p 8877:3306 -d \
--health-cmd "mysqladmin ping" \
--health-interval 10s \
--health-timeout 5s \
--health-retries=5 \
mysql:5 # TODO: wait for healthy
startpg:
@docker inspect django-bulk_update_or_create-pg | grep -q '"Running": true' || \
docker run --name django-bulk_update_or_create-pg \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-e POSTGRES_DB=postgres \
--rm -p 8878:5432 -d \
--health-cmd pg_isready \
--health-interval 10s \
--health-timeout 5s \
--health-retries 5 \
postgres:10 # TODO: wait for healthy
test: startmysql
DJANGO_SETTINGS_MODULE=settings_mysql \
tests/manage.py test $${TEST_ARGS:-tests}
testpg: startpg
DJANGO_SETTINGS_MODULE=settings_postgresql \
tests/manage.py test $${TEST_ARGS:-tests}
testcmd: startpg startmysql
# default - sqlite
DJANGO_SETTINGS_MODULE=settings tests/manage.py migrate
DJANGO_SETTINGS_MODULE=settings tests/manage.py bulk_it
# mysql
DJANGO_SETTINGS_MODULE=settings_mysql tests/manage.py migrate
DJANGO_SETTINGS_MODULE=settings_mysql tests/manage.py bulk_it
# postgres
DJANGO_SETTINGS_MODULE=settings_postgresql tests/manage.py migrate
DJANGO_SETTINGS_MODULE=settings_postgresql tests/manage.py bulk_it
coverage:
PYTHONPATH="tests" \
python -b -W always -m coverage run tests/manage.py test $${TEST_ARGS:-tests}
coverage report