test: timer-thread: Move timer start from wrong thread to separate test
Starting a timer from the wrong thread is expected to fail, and we test this in the timer-thread unit test. This is however not something that a caller is allowed to do, and libcamera will get assertion failures to catch this invalid usage. The unit test will then fail. To prepare for this, split the unit test in two, with a test that is expected by meson to succeed, and one that is expected to fail. The assertion will then cause an expected failure, making the test suite succeed. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com>
This commit is contained in:
parent
dfe81fd702
commit
4f76beae86
3 changed files with 109 additions and 25 deletions
|
@ -69,6 +69,7 @@ internal_tests = [
|
|||
{'name': 'signal-threads', 'sources': ['signal-threads.cpp']},
|
||||
{'name': 'threads', 'sources': 'threads.cpp', 'dependencies': [libthreads]},
|
||||
{'name': 'timer', 'sources': ['timer.cpp']},
|
||||
{'name': 'timer-fail', 'sources': ['timer-fail.cpp'], 'should_fail': true},
|
||||
{'name': 'timer-thread', 'sources': ['timer-thread.cpp']},
|
||||
{'name': 'unique-fd', 'sources': ['unique-fd.cpp']},
|
||||
{'name': 'utils', 'sources': ['utils.cpp']},
|
||||
|
@ -91,7 +92,7 @@ foreach test : public_tests
|
|||
link_with : test_libraries,
|
||||
include_directories : test_includes_public)
|
||||
|
||||
test(test['name'], exe)
|
||||
test(test['name'], exe, should_fail : test.get('should_fail', false))
|
||||
endforeach
|
||||
|
||||
foreach test : internal_tests
|
||||
|
@ -105,7 +106,7 @@ foreach test : internal_tests
|
|||
link_with : test_libraries,
|
||||
include_directories : test_includes_internal)
|
||||
|
||||
test(test['name'], exe)
|
||||
test(test['name'], exe, should_fail : test.get('should_fail', false))
|
||||
endforeach
|
||||
|
||||
foreach test : internal_non_parallel_tests
|
||||
|
@ -119,5 +120,7 @@ foreach test : internal_non_parallel_tests
|
|||
link_with : test_libraries,
|
||||
include_directories : test_includes_internal)
|
||||
|
||||
test(test['name'], exe, is_parallel : false)
|
||||
test(test['name'], exe,
|
||||
is_parallel : false,
|
||||
should_fail : test.get('should_fail', false))
|
||||
endforeach
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue