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:
committed by
Benjamin Herrenschmidt
parent
de506f73dd
commit
33b4819f3b
@@ -105,7 +105,10 @@ int test_harness(int (test_function)(void), char *name)
|
|||||||
|
|
||||||
rc = run_test(test_function, 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;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,11 @@ static inline void test_error(char *name)
|
|||||||
printf("error: %s\n", 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)
|
static inline void test_success(char *name)
|
||||||
{
|
{
|
||||||
printf("success: %s\n", name);
|
printf("success: %s\n", name);
|
||||||
|
|||||||
@@ -31,6 +31,18 @@ do { \
|
|||||||
} \
|
} \
|
||||||
} while (0)
|
} 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) #s
|
||||||
#define str(s) _str(s)
|
#define str(s) _str(s)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user