blob: 365fcaaf432c60f6f3ccf2ace73f86eb5160b5a9 [file] [log] [blame]
Neels Hofmeyr3531a192017-03-28 14:30:28 +02001- non-existing suite dir
Neels Hofmeyref9ed2d2017-05-04 16:39:29 +02002cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in ./suite_test which is [PATH]/selftest/suite_test
3cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/suite_test/test_work/state_dir
4cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path . is [PATH]/selftest/suite_test
5cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test
6--- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test
Neels Hofmeyr3531a192017-03-28 14:30:28 +02007- no suite.conf
Neels Hofmeyref9ed2d2017-05-04 16:39:29 +02008cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test
Neels Hofmeyr31e83202017-06-06 19:44:32 +02009cnf empty_dir: DBG: reading suite.conf
Neels Hofmeyr1a7a3f02017-06-10 01:18:27 +020010cnf [PATH]/selftest/suite_test/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/empty_dir/suite.conf' [empty_dir↪[PATH]/selftest/suite_test/empty_dir/suite.conf]
Neels Hofmeyr3531a192017-03-28 14:30:28 +020011- valid suite dir
Neels Hofmeyref9ed2d2017-05-04 16:39:29 +020012cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test
Neels Hofmeyr31e83202017-06-06 19:44:32 +020013cnf test_suite: DBG: reading suite.conf
Neels Hofmeyr3531a192017-03-28 14:30:28 +020014defaults:
15 timeout: 60s
16resources:
17 bts:
18 - times: '1'
Pau Espin Pedrol0b302792017-09-10 16:33:10 +020019 - times: '2'
Neels Hofmeyr76d81032017-05-18 18:35:32 +020020 ip_address:
21 - times: '1'
Neels Hofmeyr3531a192017-03-28 14:30:28 +020022 modem:
23 - times: '2'
Neels Hofmeyr3531a192017-03-28 14:30:28 +020024
25- run hello world test
Neels Hofmeyr1a7a3f02017-06-10 01:18:27 +020026cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test
27cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir
Neels Hofmeyr6ccda112017-06-06 19:41:17 +020028
29---------------------------------------------------------------------
30trial test_suite
31---------------------------------------------------------------------
Neels Hofmeyr7e2e8f12017-05-14 03:37:13 +020032tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ...
Neels Hofmeyr31e83202017-06-06 19:44:32 +020033tst test_suite: DBG: {combining='resources'}
Pau Espin Pedrol0b302792017-09-10 16:33:10 +020034tst {combining_scenarios='resources'}: DBG: {definition_conf={bts=[{}, {}, {}], ip_address=[{}], modem=[{}, {}]}} [test_suite↪{combining_scenarios='resources'}]
35tst test_suite: Reserving 3 x bts (candidates: 6)
Neels Hofmeyrcccbe592017-05-07 01:16:07 +020036tst test_suite: DBG: Picked - _hash: 07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9
Neels Hofmeyr17c139e2017-04-12 02:42:02 +020037 addr: 10.42.42.114
38 band: GSM-1800
39 ipa_unit_id: '1'
40 label: sysmoBTS 1002
41 type: sysmo
Pau Espin Pedrol0b302792017-09-10 16:33:10 +020042- _hash: 76c8d2f459113cd6c99ed62d1a94bbe9a291ba94
43 addr: 10.42.42.115
44 band: GSM-1800
45 ipa_unit_id: '5'
46 label: octBTS 3000
47 trx_list:
48 - hw_addr: 00:0c:90:32:b5:8a
49 type: oct
50- _hash: 0b7fabd512b36aec43d7d496abd00af4e193b0f8
51 addr: 10.42.42.190
52 band: GSM-1900
53 ipa_unit_id: '1902'
54 label: nanoBTS 1900
55 trx_list:
56 - hw_addr: 00:02:95:00:41:b3
57 type: nanobts
Neels Hofmeyr31e83202017-06-06 19:44:32 +020058tst test_suite: Reserving 1 x ip_address (candidates: 3)
Neels Hofmeyr76d81032017-05-18 18:35:32 +020059tst test_suite: DBG: Picked - _hash: cde1debf28f07f94f92c761b4b7c6bf35785ced4
60 addr: 10.42.42.1
Neels Hofmeyr31e83202017-06-06 19:44:32 +020061tst test_suite: Reserving 2 x modem (candidates: 16)
Neels Hofmeyrcccbe592017-05-07 01:16:07 +020062tst test_suite: DBG: Picked - _hash: 19c69e45aa090fb511446bd00797690aa82ff52f
Neels Hofmeyr17c139e2017-04-12 02:42:02 +020063 imsi: '901700000007801'
64 ki: D620F48487B1B782DA55DF6717F08FF9
65 label: m7801
66 path: /wavecom_0
67- _hash: e1a46516a1fb493b2617ab14fc1693a9a45ec254
68 imsi: '901700000007802'
69 ki: 47FDB2D55CE6A10A85ABDAD034A5B7B3
70 label: m7802
71 path: /wavecom_1
Neels Hofmeyr6ccda112017-06-06 19:41:17 +020072
73----------------------------------------------
74trial test_suite hello_world.py
75----------------------------------------------
Neels Hofmeyrd1bedb12017-05-07 03:02:23 +020076tst hello_world.py:[LINENR]: hello world [test_suitehello_world.py:[LINENR]]
77tst hello_world.py:[LINENR]: I am 'test_suite' / 'hello_world.py:[LINENR]' [test_suitehello_world.py:[LINENR]]
78tst hello_world.py:[LINENR]: one [test_suitehello_world.py:[LINENR]]
79tst hello_world.py:[LINENR]: two [test_suitehello_world.py:[LINENR]]
80tst hello_world.py:[LINENR]: three [test_suitehello_world.py:[LINENR]]
Neels Hofmeyr6ccda112017-06-06 19:41:17 +020081tst hello_world.py:[LINENR] Test passed (N.N sec) [test_suitehello_world.py]
82---------------------------------------------------------------------
83trial test_suite PASS
84---------------------------------------------------------------------
85PASS: test_suite (pass: 1, skip: 5)
86 pass: hello_world.py (N.N sec)
87 skip: mo_mt_sms.py
88 skip: mo_sms.py
89 skip: test_error.py
90 skip: test_fail.py
91 skip: test_fail_raise.py
Neels Hofmeyr3531a192017-03-28 14:30:28 +020092
93- a test with an error
Neels Hofmeyr6ccda112017-06-06 19:41:17 +020094
95---------------------------------------------------------------------
96trial test_suite
97---------------------------------------------------------------------
98
99----------------------------------------------
100trial test_suite test_error.py
101----------------------------------------------
Neels Hofmeyrd1bedb12017-05-07 03:02:23 +0200102tst test_error.py:[LINENR]: I am 'test_suite' / 'test_error.py:[LINENR]' [test_suitetest_error.py:[LINENR]] [test_error.py:[LINENR]]
Neels Hofmeyr1a7a3f02017-06-10 01:18:27 +0200103tst test_error.py:[LINENR]: ERR: AssertionError: test_error.py:[LINENR]: assert False [test_suitetest_error.py:[LINENR]] [test_error.py:[LINENR]: assert False]
Neels Hofmeyr6ccda112017-06-06 19:41:17 +0200104tst test_error.py:[LINENR]: Test FAILED (N.N sec) [test_suitetest_error.py:[LINENR]] [suite.py:[LINENR]]
105---------------------------------------------------------------------
106trial test_suite FAIL
107---------------------------------------------------------------------
108FAIL: test_suite (fail: 1, skip: 5)
109 skip: hello_world.py (N.N sec)
110 skip: mo_mt_sms.py
111 skip: mo_sms.py
Neels Hofmeyr1a7a3f02017-06-10 01:18:27 +0200112 FAIL: test_error.py (N.N sec) AssertionError: test_error.py:[LINENR]: assert False
Neels Hofmeyr6ccda112017-06-06 19:41:17 +0200113 skip: test_fail.py
114 skip: test_fail_raise.py
Pau Espin Pedrol0ffb4142017-05-15 18:24:35 +0200115
116- a test with a failure
Neels Hofmeyr6ccda112017-06-06 19:41:17 +0200117
118---------------------------------------------------------------------
119trial test_suite
120---------------------------------------------------------------------
121
122----------------------------------------------
123trial test_suite test_fail.py
124----------------------------------------------
Pau Espin Pedrol0ffb4142017-05-15 18:24:35 +0200125tst test_fail.py:[LINENR]: I am 'test_suite' / 'test_fail.py:[LINENR]' [test_suitetest_fail.py:[LINENR]] [test_fail.py:[LINENR]]
Neels Hofmeyr1a7a3f02017-06-10 01:18:27 +0200126tst test_fail.py:[LINENR]: ERR: EpicFail: This failure is expected [test_suitetest_fail.py:[LINENR]] [test_fail.py:[LINENR]]
Neels Hofmeyr6ccda112017-06-06 19:41:17 +0200127tst test_fail.py:[LINENR]: Test FAILED (N.N sec) [test_suitetest_fail.py:[LINENR]] [suite.py:[LINENR]]
128---------------------------------------------------------------------
129trial test_suite FAIL
130---------------------------------------------------------------------
131FAIL: test_suite (fail: 1, skip: 5)
132 skip: hello_world.py (N.N sec)
133 skip: mo_mt_sms.py
134 skip: mo_sms.py
135 skip: test_error.py (N.N sec)
136 FAIL: test_fail.py (N.N sec) EpicFail: This failure is expected
137 skip: test_fail_raise.py
Pau Espin Pedrol0ffb4142017-05-15 18:24:35 +0200138
139- a test with a raised failure
Neels Hofmeyr6ccda112017-06-06 19:41:17 +0200140
141---------------------------------------------------------------------
142trial test_suite
143---------------------------------------------------------------------
144
145----------------------------------------------
146trial test_suite test_fail_raise.py
147----------------------------------------------
Neels Hofmeyr1a7a3f02017-06-10 01:18:27 +0200148tst test_fail_raise.py:[LINENR]: ERR: ExpectedFail: This failure is expected [test_suitetest_fail_raise.py:[LINENR]] [test_fail_raise.py:[LINENR]: raise ExpectedFail('This failure is expected')]
Neels Hofmeyr6ccda112017-06-06 19:41:17 +0200149tst test_fail_raise.py:[LINENR]: Test FAILED (N.N sec) [test_suitetest_fail_raise.py:[LINENR]] [suite.py:[LINENR]]
150---------------------------------------------------------------------
151trial test_suite FAIL
152---------------------------------------------------------------------
153FAIL: test_suite (fail: 1, skip: 5)
154 skip: hello_world.py (N.N sec)
155 skip: mo_mt_sms.py
156 skip: mo_sms.py
157 skip: test_error.py (N.N sec)
158 skip: test_fail.py (N.N sec)
Neels Hofmeyr1a7a3f02017-06-10 01:18:27 +0200159 FAIL: test_fail_raise.py (N.N sec) ExpectedFail: This failure is expected
Pau Espin Pedrol0b302792017-09-10 16:33:10 +0200160- test with half empty scenario
161cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]]
162cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]]
163
164---------------------------------------------------------------------
165trial test_suite
166---------------------------------------------------------------------
167tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]]
168tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]]
169tst {combining_scenarios='resources'}: DBG: {definition_conf={bts=[{}, {}, {}], ip_address=[{}], modem=[{}, {}]}} [test_suite↪{combining_scenarios='resources'}] [suite.py:[LINENR]]
170tst {combining_scenarios='resources', scenario='foo'}: [RESOURCE_DICT]
171tst test_suite: Reserving 3 x bts (candidates: 6) [resource.py:[LINENR]]
172tst test_suite: DBG: Picked - _hash: 07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9
173 addr: 10.42.42.114
174 band: GSM-1800
175 ipa_unit_id: '1'
176 label: sysmoBTS 1002
177 type: sysmo
178- _hash: 76c8d2f459113cd6c99ed62d1a94bbe9a291ba94
179 addr: 10.42.42.115
180 band: GSM-1800
181 ipa_unit_id: '5'
182 label: octBTS 3000
183 trx_list:
184 - hw_addr: 00:0c:90:32:b5:8a
185 type: oct
186- _hash: 0b7fabd512b36aec43d7d496abd00af4e193b0f8
187 addr: 10.42.42.190
188 band: GSM-1900
189 ipa_unit_id: '1902'
190 label: nanoBTS 1900
191 trx_list:
192 - hw_addr: 00:02:95:00:41:b3
193 type: nanobts
194 [resource.py:[LINENR]]
195tst test_suite: Reserving 1 x ip_address (candidates: 3) [resource.py:[LINENR]]
196tst test_suite: DBG: Picked - _hash: cde1debf28f07f94f92c761b4b7c6bf35785ced4
197 addr: 10.42.42.1
198 [resource.py:[LINENR]]
199tst test_suite: Reserving 2 x modem (candidates: 16) [resource.py:[LINENR]]
200tst test_suite: DBG: Picked - _hash: 19c69e45aa090fb511446bd00797690aa82ff52f
201 imsi: '901700000007801'
202 ki: D620F48487B1B782DA55DF6717F08FF9
203 label: m7801
204 path: /wavecom_0
205- _hash: e1a46516a1fb493b2617ab14fc1693a9a45ec254
206 imsi: '901700000007802'
207 ki: 47FDB2D55CE6A10A85ABDAD034A5B7B3
208 label: m7802
209 path: /wavecom_1
210 [resource.py:[LINENR]]
211
212----------------------------------------------
213trial test_suite hello_world.py
214----------------------------------------------
215tst hello_world.py:[LINENR]: hello world [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
216tst hello_world.py:[LINENR]: I am 'test_suite' / 'hello_world.py:[LINENR]' [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
217tst hello_world.py:[LINENR]: one [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
218tst hello_world.py:[LINENR]: two [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
219tst hello_world.py:[LINENR]: three [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
220tst hello_world.py:[LINENR] Test passed (N.N sec) [test_suitehello_world.py] [suite.py:[LINENR]]
221---------------------------------------------------------------------
222trial test_suite PASS
223---------------------------------------------------------------------
224PASS: test_suite (pass: 1, skip: 5)
225 pass: hello_world.py (N.N sec)
226 skip: mo_mt_sms.py
227 skip: mo_sms.py
228 skip: test_error.py
229 skip: test_fail.py
230 skip: test_fail_raise.py
231- test with scenario
232cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]]
233cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]]
234
235---------------------------------------------------------------------
236trial test_suite
237---------------------------------------------------------------------
238tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]]
239tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]]
240tst {combining_scenarios='resources'}: DBG: {definition_conf={bts=[{}, {}, {}], ip_address=[{}], modem=[{}, {}]}} [test_suite↪{combining_scenarios='resources'}] [suite.py:[LINENR]]
241tst {combining_scenarios='resources', scenario='foo'}: [RESOURCE_DICT]
242tst test_suite: Reserving 3 x bts (candidates: 6) [resource.py:[LINENR]]
243tst test_suite: DBG: Picked - _hash: f1cab48db5b9004986e2030cb71730a5c55e823e
244 addr: 10.42.42.52
245 band: GSM-1800
246 ipa_unit_id: '6'
247 label: Ettus B200
248 launch_trx: 'True'
249 trx_list:
250 - nominal_power: '10'
251 - nominal_power: '12'
252 type: osmo-bts-trx
253- _hash: 1d00bd0d6643db5590cdbefff3152e70500abefc
254 addr: 10.42.42.53
255 band: GSM-1800
256 ipa_unit_id: '7'
257 label: sysmoCell 5000
258 trx_list:
259 - nominal_power: '10'
260 - nominal_power: '12'
261 trx_remote_ip: 10.42.42.112
262 type: osmo-bts-trx
263- _hash: 07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9
264 addr: 10.42.42.114
265 band: GSM-1800
266 ipa_unit_id: '1'
267 label: sysmoBTS 1002
268 type: sysmo
269 [resource.py:[LINENR]]
270tst test_suite: Reserving 1 x ip_address (candidates: 3) [resource.py:[LINENR]]
271tst test_suite: DBG: Picked - _hash: cde1debf28f07f94f92c761b4b7c6bf35785ced4
272 addr: 10.42.42.1
273 [resource.py:[LINENR]]
274tst test_suite: Reserving 2 x modem (candidates: 16) [resource.py:[LINENR]]
275tst test_suite: DBG: Picked - _hash: 19c69e45aa090fb511446bd00797690aa82ff52f
276 imsi: '901700000007801'
277 ki: D620F48487B1B782DA55DF6717F08FF9
278 label: m7801
279 path: /wavecom_0
280- _hash: e1a46516a1fb493b2617ab14fc1693a9a45ec254
281 imsi: '901700000007802'
282 ki: 47FDB2D55CE6A10A85ABDAD034A5B7B3
283 label: m7802
284 path: /wavecom_1
285 [resource.py:[LINENR]]
286
287----------------------------------------------
288trial test_suite hello_world.py
289----------------------------------------------
290tst hello_world.py:[LINENR]: hello world [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
291tst hello_world.py:[LINENR]: I am 'test_suite' / 'hello_world.py:[LINENR]' [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
292tst hello_world.py:[LINENR]: one [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
293tst hello_world.py:[LINENR]: two [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
294tst hello_world.py:[LINENR]: three [test_suitehello_world.py:[LINENR]] [hello_world.py:[LINENR]]
295tst hello_world.py:[LINENR] Test passed (N.N sec) [test_suitehello_world.py] [suite.py:[LINENR]]
296---------------------------------------------------------------------
297trial test_suite PASS
298---------------------------------------------------------------------
299PASS: test_suite (pass: 1, skip: 5)
300 pass: hello_world.py (N.N sec)
301 skip: mo_mt_sms.py
302 skip: mo_sms.py
303 skip: test_error.py
304 skip: test_fail.py
305 skip: test_fail_raise.py
Neels Hofmeyr3531a192017-03-28 14:30:28 +0200306
307- graceful exit.