selftests/powerpc: Add support for skipping tests

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Michael Ellerman 2014-06-10 22:23:09 +10:00 committed by Benjamin Herrenschmidt
parent de506f73dd
commit 33b4819f3b
3 changed files with 21 additions and 1 deletions

View File

@ -105,7 +105,10 @@ int test_harness(int (test_function)(void), char *name)
rc = run_test(test_function, name);
test_finish(name, rc);
if (rc == MAGIC_SKIP_RETURN_VALUE)
test_skip(name);
else
test_finish(name, rc);
return rc;
}

View File

@ -26,6 +26,11 @@ static inline void test_error(char *name)
printf("error: %s\n", name);
}
static inline void test_skip(char *name)
{
printf("skip: %s\n", name);
}
static inline void test_success(char *name)
{
printf("success: %s\n", name);

View File

@ -31,6 +31,18 @@ do { \
} \
} while (0)
/* The test harness uses this, yes it's gross */
#define MAGIC_SKIP_RETURN_VALUE 99
#define SKIP_IF(x) \
do { \
if ((x)) { \
fprintf(stderr, \
"[SKIP] Test skipped on line %d\n", __LINE__); \
return MAGIC_SKIP_RETURN_VALUE; \
} \
} while (0)
#define _str(s) #s
#define str(s) _str(s)