1 #!/usr/bin/env bash 2 3 # SPDX-FileCopyrightText: 2023 EfficiOS Inc. 4 # 5 # SPDX-License-Identifier: GPL-2.0-or-later 6 7 if [ "x${URCU_TESTS_SRCDIR:-}" != "x" ]; then 8 UTILSSH="$URCU_TESTS_SRCDIR/utils/utils.sh" 9 else 10 UTILSSH="$(dirname "$0")/../utils/utils.sh" 11 fi 12 13 # shellcheck source=../utils/utils.sh 14 source "$UTILSSH" 15 16 # shellcheck source=../../utils/tap.sh 17 source "$URCU_TESTS_SRCDIR/utils/tap.sh" 18 19 CURDIR="${URCU_TESTS_BUILDDIR}/unit" 20 21 NUM_TESTS=8 22 23 TESTFILE=$(mktemp) 24 25 populate_testfile() { 26 local cpumask="$1" 27 28 # shellcheck disable=SC2059 29 printf "$cpumask" > "$TESTFILE" 30 } 31 32 test_test_get_cpu_mask_from_sysfs() { 33 local cpumask="$1" 34 local result 35 36 # Without '\n' 37 populate_testfile "$cpumask" 38 result=$("${CURDIR}/get_cpu_mask_from_sysfs" "$TESTFILE") 39 test "$cpumask" == "$result" 40 ok $? "test_get_cpu_mask_from_sysfs - without '\n' expected: '$cpumask', result: '$result'" 41 42 # With '\n' 43 populate_testfile "$cpumask\n" 44 result=$("${CURDIR}/get_cpu_mask_from_sysfs" "$TESTFILE") 45 test "$cpumask" == "$result" 46 ok $? "test_get_cpu_mask_from_sysfs - with '\n' expected: '$cpumask', result: '$result'" 47 } 48 49 if [ "$URCU_TESTS_OS_TYPE" == "linux" ]; then 50 plan_tests $NUM_TESTS 51 52 test_test_get_cpu_mask_from_sysfs "" 53 test_test_get_cpu_mask_from_sysfs "0" 54 test_test_get_cpu_mask_from_sysfs "0-3" 55 test_test_get_cpu_mask_from_sysfs "0,3-7,9" 56 else 57 plan_skip_all "Linux specific tests." 58 fi 59