From 77cb95ab944832503ee6a8c1a56590212aaf0950 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 23 Jun 2025 14:59:16 -0500 Subject: [PATCH] Add taskset tests. --- tests/taskset.test | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 tests/taskset.test diff --git a/tests/taskset.test b/tests/taskset.test new file mode 100755 index 00000000..39bee16b --- /dev/null +++ b/tests/taskset.test @@ -0,0 +1,33 @@ +#!/bin/bash + +[ -f testing.sh ] && . testing.sh + +#testing "name" "command" "result" "infile" "stdin" + +CPUS=$(($(nproc)+0)) +if [ $CPUS -lt 2 ] +then + echo "$SHOWSKIP: taskset (not SMP)" + exit +fi +MASK=$(printf %x $(((1</dev/null; taskset -p $BASHPID | sed "s/.*: //")'\ + "$MASK\n" '' '' +testing 'set mask to first' \ + '(taskset -p 1 $BASHPID >/dev/null; taskset -p $BASHPID | sed "s/.*: //")'\ + '1\n' '' '' +testing 'set mask to last' \ + '(taskset -p $LAST $BASHPID >/dev/null; taskset -p $BASHPID | sed "s/.*: //")'\ + "$LAST\n" '' '' + +# alas procps-ng always says "-" for -o cpu so fetch the field from /proc +testing 'run on first' \ + 'X=$(taskset 1 cat /proc/self/stat); x() { echo ${39};}; x $X' \ + '0\n' '' '' +testing 'run on last' \ + 'X=$(taskset $LAST cat /proc/self/stat); x() { echo ${39};}; x $X' \ + "$((CPUS-1))\n" '' '' -- 2.39.5