Fix tests: skip test_getcpu_override on single core systems
[lttng-tools.git] / tests / regression / ust / getcpu-override / test_getcpu_override
index 585f3b3a0c58d8593ed720b3dc5c99a5042791f3..72010581e83aa251451ba4ffeee8db32c11d97f9 100755 (executable)
@@ -45,14 +45,10 @@ SEQUENCE_SEED=(
 89 13 63 6 136 153 23 16 47 130 75 62
 )
 
 89 13 63 6 136 153 23 16 47 130 75 62
 )
 
-# Equivalent to the syconf(_SC_NPROCESSORS_CONF) call.
-num_cpus=$(conf_proc_count)
-
 source $TESTDIR/utils/utils.sh
 
 source $TESTDIR/utils/utils.sh
 
-if [ ! -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then
-       BAIL_OUT "No shared object generated"
-fi
+# Equivalent to the syconf(_SC_NPROCESSORS_CONF) call.
+num_cpus=$(conf_proc_count)
 
 # MUST set TESTDIR before calling those functions
 
 
 # MUST set TESTDIR before calling those functions
 
@@ -161,6 +157,20 @@ plan_tests $NUM_TESTS
 
 print_test_banner "$TEST_DESC"
 
 
 print_test_banner "$TEST_DESC"
 
+if [ ! -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then
+       skip 0 "No shared object generated. Skipping all tests." $NUM_TESTS && exit 0
+fi
+
+if [ "$num_cpus" -eq "1" ]; then
+       # Skip the test since we cannot perform it as designed since N mod 1
+       # is always equals to zero. There is no point testing this on a system
+       # with a single configured core. LTTng-UST limits the get_cpu function
+       # to return value inside the [0, NUM_CPU - 1] range for a valid event
+       # (present in trace).
+       skip 0 "Test system only have a single thread. Skipping all tests." $NUM_TESTS && exit 0
+fi
+
+
 TESTS=(
        test_getcpu_override_fail
        test_getcpu_override
 TESTS=(
        test_getcpu_override_fail
        test_getcpu_override
This page took 0.023712 seconds and 4 git commands to generate.