From 17eb062661e02a3cea97c4893d373ce8124a0b94 Mon Sep 17 00:00:00 2001 From: Thomas Wood Date: Tue, 13 May 2014 15:22:52 +0100 Subject: lib: add exit status defines Add defines for success, skip and timeout exit statuses. Suggested-by: Daniel Vetter Signed-off-by: Thomas Wood --- lib/igt_core.c | 24 ++++++++++++------------ lib/igt_core.h | 22 ++++++++++++++++++++++ 2 files changed, 34 insertions(+), 12 deletions(-) (limited to 'lib') diff --git a/lib/igt_core.c b/lib/igt_core.c index 54f87c0f..05bc19bc 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -564,7 +564,7 @@ void igt_skip(const char *f, ...) assert(in_fixture); __igt_fixture_end(); } else { - exit(77); + exit(IGT_EXIT_SKIP); } } @@ -630,7 +630,7 @@ void igt_success(void) */ void igt_fail(int exitcode) { - assert(exitcode != 0 && exitcode != 77); + assert(exitcode != IGT_EXIT_SUCCESS && exitcode != IGT_EXIT_SKIP); if (!failed_one) igt_exitcode = exitcode; @@ -642,7 +642,7 @@ void igt_fail(int exitcode) exit(exitcode); if (in_subtest) { - if (exitcode == 78) + if (exitcode == IGT_EXIT_TIMEOUT) exit_subtest("TIMEOUT"); else exit_subtest("FAIL"); @@ -710,10 +710,10 @@ void igt_exit(void) igt_exit_called = true; if (igt_only_list_subtests()) - exit(0); + exit(IGT_EXIT_SUCCESS); if (!test_with_subtests) - exit(0); + exit(IGT_EXIT_SUCCESS); /* Calling this without calling one of the above is a failure */ assert(skipped_one || succeeded_one || failed_one); @@ -721,9 +721,9 @@ void igt_exit(void) if (failed_one) exit(igt_exitcode); else if (succeeded_one) - exit(0); + exit(IGT_EXIT_SUCCESS); else - exit(77); + exit(IGT_EXIT_SKIP); } /* fork support code */ @@ -1233,8 +1233,8 @@ static void igt_alarm_handler(int signal) /* subsequent tests are skipped */ skip_subtests_henceforth = SKIP; - /* exit with status 78 to indicate timeout */ - igt_fail(78); + /* exit with timeout status */ + igt_fail(IGT_EXIT_TIMEOUT); } /** @@ -1242,9 +1242,9 @@ static void igt_alarm_handler(int signal) * @seconds: number of seconds before timeout * * Stop the current test and skip any subsequent tests after the specified - * number of seconds have elapsed. The test will exit with "timeout" status - * (78). Any previous timer is cancelled and no timeout is scheduled if @seconds - * is zero. + * number of seconds have elapsed. The test will exit with #IGT_EXIT_TIMEOUT + * status. Any previous timer is cancelled and no timeout is scheduled if + * @seconds is zero. * */ void igt_set_timeout(unsigned int seconds) diff --git a/lib/igt_core.h b/lib/igt_core.h index 3a6ee1a4..f7f7015a 100644 --- a/lib/igt_core.h +++ b/lib/igt_core.h @@ -37,6 +37,28 @@ #include #include +/** + * IGT_EXIT_TIMEOUT: + * + * Exit status indicating a timeout occurred. + */ +#define IGT_EXIT_TIMEOUT 78 + +/** + * IGT_EXIT_SKIP: + * + * Exit status indicating the test was skipped. + */ +#define IGT_EXIT_SKIP 77 + +/** + * IGT_EXIT_SUCCESS + * + * Exit status indicating the test executed successfully. + */ +#define IGT_EXIT_SUCCESS 0 + + bool __igt_fixture(void); void __igt_fixture_complete(void); void __igt_fixture_end(void) __attribute__((noreturn)); -- cgit v1.2.3