Re: [RFC PATCH for 4.15 v3 14/22] cpu_opv: selftests: Implement selftests
From: Mathieu Desnoyers <hidden>
Date: 2017-11-21 16:45:14
Also in:
linux-kselftest, lkml
----- On Nov 21, 2017, at 10:17 AM, shuah shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org wrote: [...]
quoted
+int main(int argc, char **argv) +{ + int ret = 0; + + ret |= test_compare_eq_same(); + ret |= test_compare_eq_diff(); + ret |= test_compare_ne_same(); + ret |= test_compare_ne_diff(); + ret |= test_2compare_eq_index(); + ret |= test_2compare_ne_index(); + ret |= test_memcpy(); + ret |= test_memcpy_u32(); + ret |= test_memcpy_mb_memcpy(); + ret |= test_add(); + ret |= test_two_add(); + ret |= test_or(); + ret |= test_and(); + ret |= test_xor(); + ret |= test_lshift(); + ret |= test_rshift(); + ret |= test_cmpxchg_success(); + ret |= test_cmpxchg_fail(); + ret |= test_memcpy_fault(); + ret |= test_unknown_op(); + ret |= test_max_ops(); + ret |= test_too_many_ops(); + ret |= test_memcpy_single_too_large(); + ret |= test_memcpy_single_ok_sum_too_large(); + ret |= test_page_fault(); +Where do pass counts get printed. I am seeing error messages when tests fail, not seeing any pass messages. It would be nice to use ksft framework for counting pass/fail for these series of tests that get run.
done. New output: TAP version 13 (standard_in) 1: syntax error selftests: basic_cpu_opv_test ======================================== TAP version 13 ok 1 test_compare_eq same test ok 2 test_compare_eq different test ok 3 test_compare_ne same test ok 4 test_compare_ne different test ok 5 test_2compare_eq index test ok 6 test_2compare_ne index test ok 7 test_memcpy test ok 8 test_memcpy_u32 test ok 9 test_memcpy_mb_memcpy test ok 10 test_add test ok 11 test_two_add test ok 12 test_or test ok 13 test_and test ok 14 test_xor test ok 15 test_lshift test ok 16 test_rshift test ok 17 test_cmpxchg success test ok 18 test_cmpxchg fail test ok 19 test_memcpy_fault test ok 20 test_unknown_op test ok 21 test_max_ops test ok 22 test_too_many_ops test ok 23 test_memcpy_single_too_large test ok 24 test_memcpy_single_ok_sum_too_large test ok 25 test_page_fault test Pass 25 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0 1..25 ok 1.. selftests: basic_cpu_opv_test [PASS] (note the "(standard_in) 1: syntax error" for which I provided a fix in a separate thread still appears with my make version) [...]
quoted
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk index 5bef05d6ba39..441d7bc63bb7 100644 --- a/tools/testing/selftests/lib.mk +++ b/tools/testing/selftests/lib.mk@@ -105,6 +105,9 @@ COMPILE.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c LINK.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) endif +# Selftest makefiles can override those targets by setting +# OVERRIDE_TARGETS = 1. +ifeq ($(OVERRIDE_TARGETS),) $(OUTPUT)/%:%.c $(LINK.c) $^ $(LDLIBS) -o $@@@ -113,5 +116,6 @@ $(OUTPUT)/%.o:%.S $(OUTPUT)/%:%.S $(LINK.S) $^ $(LDLIBS) -o $@ +endif .PHONY: run_tests all clean install emit_testsAs I said before, please do this change in a separate patch.
Sorry, it appears that I missed this comment last time. Will move this change to a separate patch. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com