1SHELL					        := bash
2
3POSTGRES_VERSION      ?= 11
4POSTGRES_SUPPORTED    ?= 12 $(POSTGRES_VERSION) 10 9
5PROJECT               ?= upper_postgres_$(POSTGRES_VERSION)
6
7DB_HOST               ?= 127.0.0.1
8DB_PORT               ?= 5432
9
10DB_NAME               ?= upperio
11DB_USERNAME           ?= upperio_user
12DB_PASSWORD           ?= upperio//s3cr37
13
14TEST_FLAGS            ?=
15PARALLEL_FLAGS        ?= --halt-on-error 2 --jobs 1
16
17export POSTGRES_VERSION
18
19export DB_HOST
20export DB_NAME
21export DB_PASSWORD
22export DB_PORT
23export DB_USERNAME
24
25export TEST_FLAGS
26
27test:
28	go test -v $(TEST_FLAGS)
29
30server-up: server-down
31	docker-compose -p $(PROJECT) up -d && \
32	sleep 10
33
34server-down:
35	docker-compose -p $(PROJECT) down
36
37test-extended:
38	parallel $(PARALLEL_FLAGS) \
39		"POSTGRES_VERSION={} DB_PORT=\$$((5432+{#})) $(MAKE) server-up test server-down" ::: \
40		$(POSTGRES_SUPPORTED)
41