tarantool / test-run

Tarantool functional testing framework
14 stars 14 forks source link

Not enough return values ​​in `check_tap_output` in case of TAP13 parse error #414

Closed Astronomax closed 3 months ago

Astronomax commented 7 months ago

Most likely this happened in lib: propagate test status 'skip'. check_tap_output (lib/test.py) is expected to return 3 values: https://github.com/tarantool/test-run/blob/82542d3e2ffbe93a55d66803a6d2dcd37dbe75b7/lib/test.py#L351 However, if parsing fails, only 2 values ​​are returned: https://github.com/tarantool/test-run/blob/82542d3e2ffbe93a55d66803a6d2dcd37dbe75b7/lib/test.py#L366 As a result, after running the tests I get the following output:

[001] replication-luatest/gh_9263_assertion_in_box_p>                 
[001] TAP13 parse failed (Descending test id on line: 'ok     1\tassertion-in-box-promote-qsync.test_is_in_box_promote').
[001] 
[001] No result file (replication-luatest/gh_9263_assertion_in_box_promote_qsync.result) found.
[001] Run the test with --update-result option to write the new result file.
[001] 
[001] Worker "001_replication-luatest" received the following error; stopping...
[001] Traceback (most recent call last):
[001]   File "/home/a-kuzdnets/tarantool3/test-run/lib/worker.py", line 347, in run_task
[001]     short_status, duration = self.suite.run_test(
[001]   File "/home/a-kuzdnets/tarantool3/test-run/lib/test_suite.py", line 277, in run_test
[001]     short_status = test.run(server)
[001]   File "/home/a-kuzdnets/tarantool3/test-run/lib/test.py", line 233, in run
[001]     is_tap, is_ok, is_skip = self.check_tap_output()
[001] ValueError: not enough values to unpack (expected 3, got 2)
[001] 
[001] Exception: not enough values to unpack (expected 3, got 2)
---------------------------------------------------------------------------------