summaryrefslogtreecommitdiffstats
path: root/selftest/suite_test.ok
blob: 30c6915f583c3c3e8847c115aca437217227ba4a (plain)
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
- non-existing suite dir
cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in ./suite_test which is [PATH]/selftest/suite_test
cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/suite_test/test_work/state_dir
cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path . is [PATH]/selftest/suite_test
cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test
--- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test
- no suite.conf
cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test
cnf empty_dir: DBG: reading suite.conf  [empty_dir↪empty_dir]
--- [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]
- valid suite dir
cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test
cnf test_suite: DBG: reading suite.conf  [test_suite↪test_suite]
defaults:
  timeout: 60s
resources:
  bts:
  - times: '1'
  modem:
  - times: '2'
  nitb_iface:
  - times: '1'

- run hello world test
cnf -: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test
cnf -: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir
tst test_suite: Suite run start
tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ...
tst test_suite: DBG: {combining='resources'}  [test_suite↪test_suite]
tst test_suite: DBG: {definition_conf={bts=[{'times': '1'}], modem=[{'times': '2'}], nitb_iface=[{'times': '1'}]}}  [test_suite↪(combining_scenarios='resources')↪test_suite]
tst test_suite: Reserving 1 x bts (candidates: 3)  [test_suite↪test_suite]
tst test_suite: DBG: Picked - _hash: 07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9
  addr: 10.42.42.114
  band: GSM-1800
  ipa_unit_id: '1'
  label: sysmoBTS 1002
  type: sysmo
  [test_suite↪test_suite]
tst test_suite: Reserving 2 x modem (candidates: 16)  [test_suite↪test_suite]
tst test_suite: DBG: Picked - _hash: 19c69e45aa090fb511446bd00797690aa82ff52f
  imsi: '901700000007801'
  ki: D620F48487B1B782DA55DF6717F08FF9
  label: m7801
  path: /wavecom_0
- _hash: e1a46516a1fb493b2617ab14fc1693a9a45ec254
  imsi: '901700000007802'
  ki: 47FDB2D55CE6A10A85ABDAD034A5B7B3
  label: m7802
  path: /wavecom_1
  [test_suite↪test_suite]
tst test_suite: Reserving 1 x nitb_iface (candidates: 3)  [test_suite↪test_suite]
tst test_suite: DBG: Picked - _hash: cde1debf28f07f94f92c761b4b7c6bf35785ced4
  addr: 10.42.42.1
  [test_suite↪test_suite]
tst hello_world.py:[LINENR] START  [test_suite↪hello_world.py]
tst hello_world.py:[LINENR]: hello world  [test_suite↪hello_world.py:[LINENR]]
tst hello_world.py:[LINENR]: I am 'test_suite' / 'hello_world.py:[LINENR]'  [test_suite↪hello_world.py:[LINENR]]
tst hello_world.py:[LINENR]: one  [test_suite↪hello_world.py:[LINENR]]
tst hello_world.py:[LINENR]: two  [test_suite↪hello_world.py:[LINENR]]
tst hello_world.py:[LINENR]: three  [test_suite↪hello_world.py:[LINENR]]
tst hello_world.py:[LINENR] PASS  [test_suite↪hello_world.py]
tst test_suite: PASS
pass: all 6 tests passed (5 skipped).

- a test with an error
tst test_suite: Suite run start  [suite.py:[LINENR]]
tst test_error.py:[LINENR] START  [test_suite↪test_error.py]  [suite.py:[LINENR]]
tst test_error.py:[LINENR]: I am 'test_suite' / 'test_error.py:[LINENR]'  [test_suite↪test_error.py:[LINENR]]  [test_error.py:[LINENR]]
tst test_error.py:[LINENR]: ERR: AssertionError:   [test_error.py:[LINENR]: assert False]
tst test_error.py:[LINENR] FAIL (AssertionError)  [test_suite↪test_error.py]  [suite.py:[LINENR]]
tst test_suite: FAIL  [suite.py:[LINENR]]

- a test with a failure
tst test_suite: Suite run start  [suite.py:[LINENR]]
tst test_fail.py:[LINENR] START  [test_suite↪test_fail.py]  [suite.py:[LINENR]]
tst test_fail.py:[LINENR]: I am 'test_suite' / 'test_fail.py:[LINENR]'  [test_suite↪test_fail.py:[LINENR]]  [test_fail.py:[LINENR]]
tst test_fail.py:[LINENR] FAIL (EpicFail)  [test_suite↪test_fail.py]  [suite.py:[LINENR]]
tst test_suite: FAIL  [suite.py:[LINENR]]

- a test with a raised failure
tst test_suite: Suite run start  [suite.py:[LINENR]]
tst test_fail_raise.py:[LINENR] START  [test_suite↪test_fail_raise.py]  [suite.py:[LINENR]]
tst test_fail_raise.py:[LINENR]: I am 'test_suite' / 'test_fail_raise.py:[LINENR]'  [test_suite↪test_fail_raise.py:[LINENR]]  [test_fail_raise.py:[LINENR]]
tst test_fail_raise.py:[LINENR]: ERR: Failure: ('EpicFail', 'This failure is expected')  [test_fail_raise.py:[LINENR]: raise Failure('EpicFail', 'This failure is expected')]
tst test_fail_raise.py:[LINENR] FAIL (EpicFail)  [test_suite↪test_fail_raise.py]  [suite.py:[LINENR]]
tst test_suite: FAIL  [suite.py:[LINENR]]

- graceful exit.