Commit 091cf557 authored by Daniel Vetter's avatar Daniel Vetter

lib/tests: Add testcase for nonexisting subtest name

While at it, convert the existing testcase for invalid subtest names
to a positive one.

This is the only thing the invalid subtest checking for all tests did
cover, which wasn't covered through some other checks already.
Reviewed-by: Arkadiusz Hiler's avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
Signed-off-by: Daniel Vetter's avatarDaniel Vetter <daniel.vetter@intel.com>
parent 84096969
Pipeline #20190 passed with stages
in 4 minutes and 34 seconds
......@@ -21,11 +21,71 @@
* IN THE SOFTWARE.
*/
#include <errno.h>
#include <sys/wait.h>
#include "igt_core.h"
igt_main
#include "igt_tests_common.h"
static void invalid_subtest_name(void)
{
char prog[] = "igt_no_exit";
char *fake_argv[] = {prog};
int fake_argc = 1;
igt_subtest_init(fake_argc, fake_argv);
igt_subtest("# invalid name !") {
igt_info("Invalid subtest name test\n");
}
igt_exit();
}
static void nonexisting_subtest(void)
{
char prog[] = "igt_no_exit";
char arg1[] = "--run-subtest";
char arg2[] = "invalid-subtest";
char *fake_argv[] = {prog, arg1, arg2};
int fake_argc = 3;
igt_subtest_init(fake_argc, fake_argv);
igt_subtest("some-subtest")
;
igt_exit();
}
static int do_fork(void (*test_to_run)(void))
{
int pid, status;
switch (pid = fork()) {
case -1:
internal_assert(0);
case 0:
test_to_run();
default:
while (waitpid(pid, &status, 0) == -1 &&
errno == EINTR)
;
return status;
}
}
int main(int argc, char **argv)
{
int ret;
ret = do_fork(invalid_subtest_name);
internal_assert_wsignaled(ret, SIGABRT);
ret = do_fork(nonexisting_subtest);
internal_assert_wexited(ret, IGT_EXIT_INVALID);
return 0;
}
......@@ -7,6 +7,7 @@ lib_tests = [
'igt_fork_helper',
'igt_hdmi_inject',
'igt_list_only',
'igt_invalid_subtest_name',
'igt_no_exit',
'igt_segfault',
'igt_simulation',
......@@ -18,7 +19,6 @@ lib_fail_tests = [
'igt_no_subtest',
'igt_simple_test_subtests',
'igt_timeout',
'igt_invalid_subtest_name',
]
foreach lib_test : lib_tests
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment