aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests
diff options
context:
space:
mode:
authorSachin Sant <sachinp@linux.vnet.ibm.com>2017-02-26 11:38:39 +0530
committerMichael Ellerman <mpe@ellerman.id.au>2017-03-03 11:24:50 +1100
commita6d8a21596df041f36f4c2ccc260c459e3e851f1 (patch)
treec0e5c498611999ceefc9c7e18c54a87c51f55814 /tools/testing/selftests
parentpowerpc/powernv: Fix bug due to labeling ambiguity in power_enter_stop (diff)
downloadlinux-dev-a6d8a21596df041f36f4c2ccc260c459e3e851f1.tar.xz
linux-dev-a6d8a21596df041f36f4c2ccc260c459e3e851f1.zip
selftest/powerpc: Fix false failures for skipped tests
Tests under alignment subdirectory are skipped when executed on previous generation hardware, but harness still marks them as failed. test: test_copy_unaligned tags: git_version:unknown [SKIP] Test skipped on line 26 skip: test_copy_unaligned selftests: copy_unaligned [FAIL] The MAGIC_SKIP_RETURN_VALUE value assigned to rc variable is retained till the program exit which causes the test to be marked as failed. This patch resets the value before returning to the main() routine. With this patch the test o/p is as follows: test: test_copy_unaligned tags: git_version:unknown [SKIP] Test skipped on line 26 skip: test_copy_unaligned selftests: copy_unaligned [PASS] Signed-off-by: Sachin Sant <sachinp@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'tools/testing/selftests')
-rw-r--r--tools/testing/selftests/powerpc/harness.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/testing/selftests/powerpc/harness.c b/tools/testing/selftests/powerpc/harness.c
index 248a820048df..66d31de60b9a 100644
--- a/tools/testing/selftests/powerpc/harness.c
+++ b/tools/testing/selftests/powerpc/harness.c
@@ -114,9 +114,11 @@ int test_harness(int (test_function)(void), char *name)
rc = run_test(test_function, name);
- if (rc == MAGIC_SKIP_RETURN_VALUE)
+ if (rc == MAGIC_SKIP_RETURN_VALUE) {
test_skip(name);
- else
+ /* so that skipped test is not marked as failed */
+ rc = 0;
+ } else
test_finish(name, rc);
return rc;