Add unit tests for possible_cpus_array_len
[urcu.git] / tests / unit / test_get_cpu_mask_from_sysfs
diff --git a/tests/unit/test_get_cpu_mask_from_sysfs b/tests/unit/test_get_cpu_mask_from_sysfs
new file mode 100755 (executable)
index 0000000..fff561f
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then
+       UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh"
+else
+       UTILSSH="$(dirname "$0")/../utils/utils.sh"
+fi
+
+# shellcheck source=../utils/utils.sh
+source "$UTILSSH"
+
+# shellcheck source=../../utils/tap.sh
+source "$URCU_TESTS_SRCDIR/utils/tap.sh"
+
+CURDIR="${URCU_TESTS_BUILDDIR}/unit"
+
+NUM_TESTS=8
+
+TESTFILE=$(mktemp)
+
+populate_testfile() {
+       local cpumask="$1"
+
+       # shellcheck disable=SC2059
+       printf "$cpumask" > "$TESTFILE"
+}
+
+test_test_get_cpu_mask_from_sysfs() {
+       local cpumask="$1"
+       local result
+
+       # Without '\n'
+       populate_testfile "$cpumask"
+       result=$("${CURDIR}/get_cpu_mask_from_sysfs" "$TESTFILE")
+       test "$cpumask" == "$result"
+       ok $? "test_get_cpu_mask_from_sysfs - without '\n' expected: '$cpumask', result: '$result'"
+
+       # With '\n'
+       populate_testfile "$cpumask\n"
+       result=$("${CURDIR}/get_cpu_mask_from_sysfs" "$TESTFILE")
+       test "$cpumask" == "$result"
+       ok $? "test_get_cpu_mask_from_sysfs - with '\n' expected: '$cpumask', result: '$result'"
+}
+
+plan_tests $NUM_TESTS
+
+test_test_get_cpu_mask_from_sysfs ""
+test_test_get_cpu_mask_from_sysfs "0"
+test_test_get_cpu_mask_from_sysfs "0-3"
+test_test_get_cpu_mask_from_sysfs "0,3-7,9"
This page took 0.0228 seconds and 4 git commands to generate.