@@ -38,14 +38,24 @@ PRIMARY_GRP=$( id -ng )
38
38
PRIMARY_USR=$( id -nu )
39
39
PYTHON_PATH=.:./subprojects/libnvme
40
40
41
+ log () {
42
+ msg=" $1 "
43
+ printf " %b[1;36m%s%b[0m\n" " \0033" " ${msg} " " \0033"
44
+ sudo logger -i " @@@@@ COVERAGE -" -p 4 " ${msg} "
45
+ }
46
+
41
47
sd_stop () {
42
- unit=" $1 " -cov.service
48
+ app=" $1 "
49
+ unit=" ${app} " -cov.service
50
+ log " Stop ${app} "
43
51
sudo systemctl stop " ${unit} " > /dev/null 2>&1
44
52
sudo systemctl reset-failed " ${unit} " > /dev/null 2>&1
45
53
}
46
54
47
55
sd_restart () {
48
- unit=" $1 " -cov.service
56
+ app=" $1 "
57
+ unit=" ${app} " -cov.service
58
+ log " Restart ${app} "
49
59
sudo systemctl restart " ${unit} " > /dev/null 2>&1
50
60
}
51
61
@@ -61,7 +71,7 @@ sd_start() {
61
71
cmd=" ${app} --syslog -f ${conf} "
62
72
fi
63
73
64
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Start ${app} " " \0033 "
74
+ log " Start ${app} "
65
75
66
76
RUNTIME_DIRECTORY=/tmp/${app}
67
77
rm -rf ${RUNTIME_DIRECTORY}
@@ -75,23 +85,32 @@ reload_cfg() {
75
85
app=" $1 "
76
86
unit=" ${app} " -cov.service
77
87
pid=$( systemctl show --property MainPID --value " ${unit} " )
78
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Reload config ${app} " " \0033 "
88
+ log " Reload config ${app} "
79
89
sudo kill -HUP " ${pid} "
80
90
}
81
91
82
92
if [ ! -d coverage ]; then
83
93
mkdir coverage
84
94
fi
85
95
96
+
97
+ log " START-START-START-START-START-START-START-START-START-START-START-START"
98
+
99
+
100
+
86
101
# ###############################################################################
87
102
# Load nvme kernel module
103
+ log " modprobe nvme-tcp"
88
104
sudo /usr/sbin/modprobe nvme-tcp
89
105
106
+ log " nvme disconnect-all"
90
107
sudo nvme disconnect-all
91
108
92
109
# ###############################################################################
93
110
# Create a dummy config file for @STAFD_PROCNAME@
94
- stafd_conf_fname=
$( mktemp /tmp/@[email protected] )
111
+
112
+ log " Create dummy config file $file "
113
+ stafd_conf_fname=$( mktemp $file )
95
114
cat > " ${stafd_conf_fname} " << 'EOF '
96
115
[Global]
97
116
tron=true
102
121
103
122
# ###############################################################################
104
123
# Create a dummy config file for @STACD_PROCNAME@
105
- stacd_conf_fname=
$( mktemp /tmp/@[email protected] )
124
+
125
+ log " Create dummy config file $file "
126
+ stacd_conf_fname=$( mktemp $file )
106
127
cat > " ${stacd_conf_fname} " << 'EOF '
107
128
[Global]
108
129
tron=true
@@ -111,18 +132,19 @@ udev-rule=disabled
111
132
sticky-connections=enabled
112
133
EOF
113
134
135
+ log " Stop & Mask Avahi daemon"
114
136
sudo systemctl stop avahi-daemon.service
115
137
sudo systemctl stop avahi-daemon.socket
116
138
sudo systemctl mask avahi-daemon.service
117
139
sudo systemctl mask avahi-daemon.socket
118
140
sleep 1
119
141
120
142
121
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ status while @STAFD_PROCNAME@ is not running" " \0033 "
143
+ log " Invoking @STAFD_CTLNAME@ status while @STAFD_PROCNAME@ is not running"
122
144
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ ls > /dev/null 2>&1
123
145
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ invalid-command > /dev/null 2>&1
124
146
125
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ status while @STACD_PROCNAME@ is not running" " \0033 "
147
+ log " Invoking @STACD_CTLNAME@ status while @STACD_PROCNAME@ is not running"
126
148
coverage run --rcfile=.coveragerc @STACD_CTLNAME@ ls > /dev/null 2>&1
127
149
coverage run --rcfile=.coveragerc @STACD_CTLNAME@ invalid-command > /dev/null 2>&1
128
150
@@ -132,30 +154,33 @@ sd_start "@STAFD_PROCNAME@" "@STAFD_DBUS_NAME@" "${stafd_conf_fname}"
132
154
sd_start " @STACD_PROCNAME@" " @STACD_DBUS_NAME@" " ${stacd_conf_fname} "
133
155
sleep 3
134
156
135
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ status" " \0033 "
157
+ log " Invoking @STAFD_CTLNAME@ status"
136
158
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ status > /dev/null 2>&1
137
159
138
160
reload_cfg " @STAFD_PROCNAME@"
139
161
sleep 1
140
162
163
+ log " Restart Avahi daemon"
141
164
sudo systemctl unmask avahi-daemon.socket
142
165
sudo systemctl unmask avahi-daemon.service
143
166
sudo systemctl start avahi-daemon.socket
144
167
sudo systemctl start avahi-daemon.service
145
168
sleep 2
146
169
170
+ log " Change stafd config: tron=true, persistent-connections=false, zeroconf=enable"
147
171
cat > " ${stafd_conf_fname} " << 'EOF '
148
172
[Global]
149
173
tron=true
150
174
persistent-connections=false
151
175
152
176
[Service Discovery]
153
- zeroconf=disabled
177
+ zeroconf=enabled
154
178
EOF
155
179
reload_cfg " @STAFD_PROCNAME@"
156
180
157
181
sleep 1
158
182
183
+ log " Change stafd config: ip-family=ipv4, kato=10, adding multiple controllers"
159
184
cat > " ${stafd_conf_fname} " << 'EOF '
160
185
[Global]
161
186
tron=true
@@ -172,11 +197,15 @@ controller=transport=tcp;traddr=abracadabra
172
197
controller=
173
198
controller=trsvcid
174
199
controller=transport=rdma;traddr=!@#$
200
+ controller=transport=fc;traddr=21:00:00:00:00:00:00:00;host-traddr=20:00:00:00:00:00:00:00
201
+ controller=transport=XM;traddr=2.2.2.2
175
202
blacklist=transport=tcp;traddr=1.1.1.1
176
203
blacklist=transport=tcp;traddr=1000.1000.1000.1000
177
204
EOF
178
205
reload_cfg " @STAFD_PROCNAME@"
179
206
207
+
208
+ log " Change stacd config: tron=true, udev-rule=disabled, sticky-connections=disabled"
180
209
cat > " ${stacd_conf_fname} " << 'EOF '
181
210
[Global]
182
211
tron=true
@@ -186,12 +215,12 @@ EOF
186
215
reload_cfg " @STACD_PROCNAME@"
187
216
sleep 3
188
217
189
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ status" " \0033 "
218
+ log " Invoking @STAFD_CTLNAME@ status"
190
219
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ status > /dev/null 2>&1
191
220
192
221
# ###############################################################################
193
222
# Fake mDNS packets from a CDC
194
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Start Avahi publisher" " \0033 "
223
+ log " Start Avahi publisher"
195
224
AVAHI_PUBLISHER=mdns_publisher.service
196
225
sudo systemctl stop ${AVAHI_PUBLISHER} > /dev/null 2>&1
197
226
sudo systemctl reset-failed ${AVAHI_PUBLISHER} > /dev/null 2>&1
@@ -200,7 +229,7 @@ sleep 1
200
229
201
230
# ###############################################################################
202
231
# Start nvme target simulator
203
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Start nvmet" " \0033 "
232
+ log " Start nvmet"
204
233
sudo ../utils/nvmet/nvmet.py clean
205
234
sudo ../utils/nvmet/nvmet.py create -f ../utils/nvmet/nvmet.conf
206
235
sleep 2
@@ -210,76 +239,76 @@ reload_cfg "@STACD_PROCNAME@"
210
239
sleep 3
211
240
212
241
# ###############################################################################
213
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_PROCNAME@ --version" " \0033 "
242
+ log " Invoking @STAFD_PROCNAME@ --version"
214
243
coverage run --rcfile=.coveragerc @STAFD_PROCNAME@ --version
215
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_PROCNAME@ --idl" " \0033 "
244
+ log " Invoking @STAFD_PROCNAME@ --idl"
216
245
coverage run --rcfile=.coveragerc @STAFD_PROCNAME@ --idl /tmp/@
[email protected]
217
246
218
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_PROCNAME@ --version" " \0033 "
247
+ log " Invoking @STACD_PROCNAME@ --version"
219
248
coverage run --rcfile=.coveragerc @STACD_PROCNAME@ --version
220
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_PROCNAME@ --idl" " \0033 "
249
+ log " Invoking @STACD_PROCNAME@ --idl"
221
250
coverage run --rcfile=.coveragerc @STACD_PROCNAME@ --idl /tmp/@
[email protected]
222
251
223
252
# ###############################################################################
224
253
# Stimulate D-Bus activity
225
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ --version" " \0033 "
254
+ log " Invoking @STAFD_CTLNAME@ --version"
226
255
sudo coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ --version
227
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ with a bad command" " \0033 "
256
+ log " Invoking @STAFD_CTLNAME@ with a bad command"
228
257
sudo coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ blah
229
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ troff" " \0033 "
258
+ log " Invoking @STAFD_CTLNAME@ troff"
230
259
sudo coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ troff
231
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ status" " \0033 "
260
+ log " Invoking @STAFD_CTLNAME@ status"
232
261
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ status > /dev/null 2>&1
233
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ tron" " \0033 "
262
+ log " Invoking @STAFD_CTLNAME@ tron"
234
263
sudo coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ tron
235
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ ls" " \0033 "
264
+ log " Invoking @STAFD_CTLNAME@ ls"
236
265
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ ls -d > /dev/null 2>&1
237
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ adlp" " \0033 "
266
+ log " Invoking @STAFD_CTLNAME@ adlp"
238
267
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ adlp -d > /dev/null 2>&1
239
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STAFD_CTLNAME@ dlp" " \0033 "
268
+ log " Invoking @STAFD_CTLNAME@ dlp"
240
269
coverage run --rcfile=.coveragerc @STAFD_CTLNAME@ dlp -t tcp -a ::1 -s 8009 > /dev/null 2>&1
241
270
242
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ --version" " \0033 "
271
+ log " Invoking @STACD_CTLNAME@ --version"
243
272
sudo coverage run --rcfile=.coveragerc @STACD_CTLNAME@ --version
244
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ with a bad command" " \0033 "
273
+ log " Invoking @STACD_CTLNAME@ with a bad command"
245
274
sudo coverage run --rcfile=.coveragerc @STACD_CTLNAME@ blah
246
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ troff" " \0033 "
275
+ log " Invoking @STACD_CTLNAME@ troff"
247
276
sudo coverage run --rcfile=.coveragerc @STACD_CTLNAME@ troff
248
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ status" " \0033 "
277
+ log " Invoking @STACD_CTLNAME@ status"
249
278
coverage run --rcfile=.coveragerc @STACD_CTLNAME@ status > /dev/null 2>&1
250
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ tron" " \0033 "
279
+ log " Invoking @STACD_CTLNAME@ tron"
251
280
sudo coverage run --rcfile=.coveragerc @STACD_CTLNAME@ tron
252
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ ls" " \0033 "
281
+ log " Invoking @STACD_CTLNAME@ ls"
253
282
coverage run --rcfile=.coveragerc @STACD_CTLNAME@ ls -d > /dev/null 2>&1
254
283
255
284
# ###############################################################################
256
285
# Stimulate AENs activity by removing/restoring namespaces
257
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Remove namespace: klingons" " \0033 "
286
+ log " Remove namespace: klingons"
258
287
sudo ../utils/nvmet/nvmet.py unlink -p 1 -s klingons
259
288
sleep 2
260
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ ls" " \0033 "
289
+ log " Invoking @STACD_CTLNAME@ ls"
261
290
coverage run --rcfile=.coveragerc @STACD_CTLNAME@ ls -d > /dev/null 2>&1
262
291
263
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Restore namespace: klingons" " \0033 "
292
+ log " Restore namespace: klingons"
264
293
sudo ../utils/nvmet/nvmet.py link -p 1 -s klingons
265
294
sleep 2
266
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Invoking @STACD_CTLNAME@ ls" " \0033 "
295
+ log " Invoking @STACD_CTLNAME@ ls"
267
296
coverage run --rcfile=.coveragerc @STACD_CTLNAME@ ls -d > /dev/null 2>&1
268
297
269
298
# ###############################################################################
270
299
# Stop Avahi Publisher
271
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Stop Avahi publisher" " \0033 "
300
+ log " Stop Avahi publisher"
272
301
sudo systemctl stop ${AVAHI_PUBLISHER}
273
302
sleep 1
274
303
275
304
# ###############################################################################
276
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Restart Avahi publisher" " \0033 "
305
+ log " Restart Avahi publisher"
277
306
sudo systemd-run --unit=${AVAHI_PUBLISHER} --working-directory=. avahi-publish -s SFSS _nvme-disc._tcp 8009 " p=tcp"
278
307
sleep 2
279
308
280
309
# ###############################################################################
281
310
# Make config changes for @STAFD_PROCNAME@
282
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Empty configuration and disable zeroconf for @STAFD_PROCNAME@" " \0033 "
311
+ log " Empty configuration and disable zeroconf for @STAFD_PROCNAME@"
283
312
cat > " ${stafd_conf_fname} " << 'EOF '
284
313
[Global]
285
314
tron=true
@@ -293,7 +322,7 @@ sleep 1
293
322
294
323
# ###############################################################################
295
324
# Make more config changes for @STAFD_PROCNAME@
296
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Add single controller (::1) and re-enable zeroconf for @STAFD_PROCNAME@" " \0033 "
325
+ log " Add single controller (::1) and re-enable zeroconf for @STAFD_PROCNAME@"
297
326
cat > " ${stafd_conf_fname} " << 'EOF '
298
327
[Global]
299
328
tron=true
@@ -307,24 +336,23 @@ sleep 2
307
336
308
337
# ###############################################################################
309
338
# Stop Avahi Publisher
310
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Stop Avahi publisher" " \0033 "
339
+ log " Stop Avahi publisher"
311
340
sudo systemctl stop ${AVAHI_PUBLISHER}
312
341
sleep 2
313
342
314
343
# ###############################################################################
315
344
# Remove one of the NVMe device's
316
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Remove (disconnect) nvme1" " \0033 "
345
+ log " Remove (disconnect) nvme1"
317
346
sudo nvme disconnect -d nvme1
318
347
sleep 2
319
348
320
349
321
350
# ###############################################################################
322
- printf " %b[1;36m%s%b[0m\n" " \0033" " Restart @STAFD_PROCNAME@ and @STACD_PROCNAME@" " \0033"
323
351
sd_restart " @STAFD_PROCNAME@"
324
352
sd_restart " @STACD_PROCNAME@"
325
353
sleep 1
326
354
327
- printf " %b[1;36m%s%b[0m\n " " \0033 " " Create invalid conditions for saving/loading @STAFD_PROCNAME@'s last known config" " \0033 "
355
+ log " Create invalid conditions for saving/loading @STAFD_PROCNAME@'s last known config"
328
356
rm -rf " /tmp/@STAFD_PROCNAME@"
329
357
sd_stop " @STAFD_PROCNAME@"
330
358
sd_restart " @STACD_PROCNAME@"
@@ -334,7 +362,7 @@ sleep 2
334
362
335
363
# ###############################################################################
336
364
# Stop everything and collect coverage stats
337
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Stop @STAFD_PROCNAME@ and @STACD_PROCNAME@" " \0033 "
365
+ log " Stop @STAFD_PROCNAME@ and @STACD_PROCNAME@"
338
366
sd_stop " @STAFD_PROCNAME@"
339
367
sd_stop " @STACD_PROCNAME@"
340
368
sleep 1
@@ -345,33 +373,49 @@ sudo chown -R "${PRIMARY_USR}":"${PRIMARY_GRP}" coverage >/dev/null 2>&1
345
373
sudo chown -R " ${PRIMARY_USR} " :" ${PRIMARY_GRP} " staslib/__pycache__ > /dev/null 2>&1
346
374
sudo chown -R " ${PRIMARY_USR} " :" ${PRIMARY_GRP} " subprojects/libnvme/libnvme/__pycache__ > /dev/null 2>&1
347
375
376
+ log " nvme disconnect-all"
348
377
sudo nvme disconnect-all
349
378
379
+ log " Remove ${stafd_conf_fname} and ${stacd_conf_fname} "
350
380
rm " ${stafd_conf_fname} "
351
381
rm " ${stacd_conf_fname} "
352
382
383
+ log " Run unit test: test-udev"
353
384
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-udev.py
385
+ log " Run unit test: test-avahi"
354
386
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-avahi.py
387
+ log " Run unit test: test-gtimer"
355
388
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-gtimer.py
389
+ log " Run unit test: test-version"
356
390
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-version.py
391
+ log " Run unit test: test-transport_id"
357
392
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-transport_id.py
393
+ log " Run unit test: test-config"
358
394
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-config.py
395
+ log " Run unit test: test-controller"
359
396
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-controller.py
397
+ log " Run unit test: test-service"
360
398
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-service.py
399
+ log " Run unit test: test-log"
361
400
PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-log.py
401
+ log " Run unit test: test-nvme_options"
362
402
sudo PYTHONPATH=${PYTHON_PATH} coverage run --rcfile=.coveragerc ../test/test-nvme_options.py
363
403
364
404
# ###############################################################################
365
405
# Stop nvme target simulator
366
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Stop nvmet" " \0033 "
406
+ log " Stop nvmet"
367
407
sudo ../utils/nvmet/nvmet.py clean
368
408
369
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Collect all coverage data" " \0033 "
409
+ log " Collect all coverage data"
370
410
coverage combine --rcfile=.coveragerc
371
411
372
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Generating coverage report" " \0033 "
412
+ log " Generating coverage report"
373
413
coverage report -i --rcfile=.coveragerc
374
414
375
- printf " \n%b[1;36m%s%b[0m\n " " \0033 " " Generating coverage report (HTML)" " \0033 "
415
+ log " Generating coverage report (HTML)"
376
416
coverage html -i --rcfile=.coveragerc
377
417
418
+
419
+ log " All done!!!"
420
+
421
+ log " FINISHED-FINISHED-FINISHED-FINISHED-FINISHED-FINISHED-FINISHED-FINISHED"
0 commit comments