Home | History | Annotate | Line # | Download | only in unit
      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