Change logic of ktap parser to run on a thread
The ktap parser should be listening and parsing messages as the tests are executed, and not after the end of module load. v1 -> v2: - fix coding style - remove usleep - add error check logic - follow the structure of igt_kselftests more closely v2 -> v3: - fixed sublevel issues by rewriting tap parser flow v3 -> v4: - fixed delimiter - squashed lib/igt_kmod: fix nesting igt_fixture in igt_subtest Fix the following issue: $ ./build/tests/drm_buddy Starting subtest: all-tests nesting igt_fixture in igt_subtest is invalid please refer to lib/igt_core documentation - squashed lib/igt_kmod: place KUnit tests on a subtest There's a hidden bug at KUnit implementation: as it doesn't place tests inside a subtest, trying to use it with igt_main causes a crash: $ ./build/tests/drm_mm --list skipping is allowed only in fixtures, subtests or igt_simple_main please refer to lib/igt_core documentation drm_mm: ../lib/igt_core.c:437: internal_assert: Assertion `0' failed. Received signal SIGABRT. Stack trace: #0 [fatal_sig_handler+0x17b] #1 [__sigaction+0x50] #2 [__pthread_kill_implementation+0x114] #3 [gsignal+0x1e] #4 [abort+0xdf] #5 [__assert_fail_base.cold+0xe] #6 [__assert_fail+0x47] #7 [internal_assert+0xe5] #8 [igt_skip+0x169] #9 [__igt_skip_check+0x1bb] #10 [igt_ktest_begin+0xa6] #11 [igt_kunit+0x70] #12 [main+0x2a] #13 [__libc_start_call_main+0x7a] #14 [__libc_start_main+0x8b] #15 [_start+0x25] Fix it by using igt_subtests() before actually implememnting KUnit logic. After the patch, it should now report subtests: $ ./build/tests/drm_mm --list all-tests Signed-off-by:Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by:
Dominik Karol Piątkowski <dominik.karol.piatkowski@intel.com> Acked-by:
Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
Loading
Please register or sign in to comment