forked from zatosource/zato
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
141 lines (110 loc) · 5.41 KB
/
Copy pathMakefile
File metadata and controls
141 lines (110 loc) · 5.41 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
.PHONY: build install
MAKEFLAGS += --silent
default: run-tests
install:
$(CURDIR)/code/bin/uv pip install --upgrade --python $(CURDIR)/code/bin/python $(filter-out $@,$(MAKECMDGOALS))
PY_DIR=$(CURDIR)/../bin
static-check:
cd $(CURDIR)/code/zato-broker && $(MAKE) static-check
cd $(CURDIR)/code/zato-cli && $(MAKE) static-check
cd $(CURDIR)/code/zato-client && $(MAKE) static-check
cd $(CURDIR)/code/zato-common && $(MAKE) static-check
cd $(CURDIR)/code/zato-distlock && $(MAKE) static-check
cd $(CURDIR)/code/zato-cy && $(MAKE) static-check
cd $(CURDIR)/code/zato-scheduler && $(MAKE) static-check
cd $(CURDIR)/code/zato-server && $(MAKE) static-check
cd $(CURDIR)/code/zato-testing && $(MAKE) static-check
cd $(CURDIR)/code/zato-web-admin && $(MAKE) static-check
echo "Static checks OK"
type-check:
cd $(CURDIR)/code/zato-common && $(MAKE) type-check
cd $(CURDIR)/code/zato-server && $(MAKE) type-check
echo "Type checks OK"
web-admin-tests:
cd $(CURDIR)/code/zato-web-admin && PYTHONWARNINGS='ignore:X509Extension support in pyOpenSSL is deprecated.:DeprecationWarning' make run-tests
common-tests:
cd $(CURDIR)/code/zato-common && make run-tests
server-tests:
cd $(CURDIR)/code/zato-server && PYTHONWARNINGS=ignore make run-tests
cy-tests:
cd $(CURDIR)/code/zato-cy && make PYTHONWARNINGS='ignore:X509Extension support in pyOpenSSL is deprecated.:DeprecationWarning' run-tests
cli-tests:
cd $(CURDIR)/code/zato-cli && make run-tests
enmasse-tests:
cd $(CURDIR)/code/zato-cli && make run-tests
openapi-tests:
cd $(CURDIR)/code/zato-openapi && $(CURDIR)/code/bin/py -m unittest discover -s test/zato/openapi_ -p 'test_*.py' -v
%:
@:
qa-reqs-install:
$(CURDIR)/code/bin/pip install --upgrade -r $(CURDIR)/code/qa-requirements.txt
npx playwright install
mkdir -p $(CURDIR)/code/eggs/requests/ || true
cp -v $(CURDIR)/code/patches/requests/* $(CURDIR)/code/eggs/requests/
sudo snap install k6
run-tests:
# $(MAKE) web-admin-tests
$(MAKE) common-tests
# $(MAKE) server-tests
$(MAKE) cli-tests
# $(MAKE) cy-tests
all-tests:
$(MAKE) run-tests
unify:
mkdir -p $(CURDIR)/code/lib/python3.12/site-packages/lib2to3/pgen2
printf 'def detect_encoding(readline):\n return ("utf-8", [])\n' > $(CURDIR)/code/lib/python3.12/site-packages/lib2to3/pgen2/tokenize.py
touch $(CURDIR)/code/lib/python3.12/site-packages/lib2to3/__init__.py
touch $(CURDIR)/code/lib/python3.12/site-packages/lib2to3/pgen2/__init__.py
python3 $(CURDIR)/code/util/unify.py
generate-enmasse:
cd $(CURDIR)/code/zato-common && $(MAKE) generate-enmasse USERS=$(word 2,$(MAKECMDGOALS)) TOPICS_MULTIPLIER=$(word 3,$(MAKECMDGOALS))
run-producers:
py code/zato-common/src/zato/common/pubsub/perftest/python_/app.py \
--num-producers $(if $(word 2,$(MAKECMDGOALS)),$(word 2,$(MAKECMDGOALS)),1) \
--reqs-per-producer $(if $(word 3,$(MAKECMDGOALS)),$(word 3,$(MAKECMDGOALS)),1) \
--reqs-per-second $(if $(word 4,$(MAKECMDGOALS)),$(word 4,$(MAKECMDGOALS)),1.0) \
--topics $(if $(word 5,$(MAKECMDGOALS)),$(word 5,$(MAKECMDGOALS)),3) \
--burst-multiplier $(if $(word 6,$(MAKECMDGOALS)),$(word 6,$(MAKECMDGOALS)),10) \
--burst-interval $(if $(word 7,$(MAKECMDGOALS)),$(word 7,$(MAKECMDGOALS)),60) \
--burst-duration $(if $(word 8,$(MAKECMDGOALS)),$(word 8,$(MAKECMDGOALS)),10) \
$(if $(word 9,$(MAKECMDGOALS)),--cpu-num $(word 9,$(MAKECMDGOALS)),) \
$(if $(word 10,$(MAKECMDGOALS)),--use-new-requests,)
run-consumers:
py code/zato-common/src/zato/common/pubsub/perftest/python_/app.py \
--num-consumers $(if $(word 2,$(MAKECMDGOALS)),$(word 2,$(MAKECMDGOALS)),1) \
--pull-interval $(if $(word 3,$(MAKECMDGOALS)),$(word 3,$(MAKECMDGOALS)),1.0) \
--max-messages $(if $(word 4,$(MAKECMDGOALS)),$(word 4,$(MAKECMDGOALS)),100) \
$(if $(word 5,$(MAKECMDGOALS)),--cpu-num $(word 5,$(MAKECMDGOALS)),) \
$(if $(word 6,$(MAKECMDGOALS)),--use-new-requests,)
prometheus:
prometheus --config.file=$(CURDIR)/code/zato-common/src/zato/common/pubsub/perftest/prometheus_/prometheus.yml
test-var:
@echo "Zato_Grafana_Password is: $$Zato_Grafana_Password"
grafana:
env GF_SECURITY_ADMIN_PASSWORD=$$Zato_Grafana_Password \
Zato_Grafana_Base_Path=$(CURDIR)/code/zato-common/src/zato/common/pubsub/perftest/grafana_ \
grafana-server \
--homepath=/usr/share/grafana \
--config=/dev/null \
cfg:default.paths.data=/tmp/grafana-data \
cfg:default.paths.logs=/tmp/grafana-logs \
cfg:default.paths.plugins=/tmp/grafana-plugins \
cfg:default.paths.provisioning=$(CURDIR)/code/zato-common/src/zato/common/pubsub/perftest/grafana_
update:
py $(CURDIR)/code/zato-common/src/zato/common/util/updates_cli.py
cron-update:
/opt/zato/current/bin/py $(CURDIR)/code/zato-common/src/zato/common/util/updates_cron.py
stop-server:
py $(CURDIR)/code/zato-common/src/zato/common/util/component_cli.py stop-server
restart-server-with-scheduler:
py $(CURDIR)/code/zato-common/src/zato/common/util/component_cli.py restart-server-with-scheduler
stop-scheduler:
py $(CURDIR)/code/zato-common/src/zato/common/util/component_cli.py stop-scheduler
restart-scheduler:
py $(CURDIR)/code/zato-common/src/zato/common/util/component_cli.py restart-scheduler
stop-dashboard:
py $(CURDIR)/code/zato-common/src/zato/common/util/component_cli.py stop-dashboard
restart-dashboard:
py $(CURDIR)/code/zato-common/src/zato/common/util/component_cli.py restart-dashboard
pubsub-tests:
cd $(CURDIR)/code/zato-server/test/zato/pubsub/rest_tests && $(CURDIR)/code/bin/py -m unittest discover -v -p 'test_*.py'