test: Add testcase for #1122
Refs: #1122 Change-Id: Ieafee7469d1397461abf05552ffad0bfea1dd6cd
This commit is contained in:
committed by
Masamichi Takagi
parent
e1f204de4a
commit
229b041320
107
test/issues/1122/C1122.sh
Normal file
107
test/issues/1122/C1122.sh
Normal file
@ -0,0 +1,107 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
LTP=
|
||||
BOOTPARAM="-c 1-7,9-15,17-23,25-31 -m 10G@0,10G@1 -r 1-7:0+9-15:8+17-23:16+25-31:24"
|
||||
|
||||
if [ -f ../../../config.h ]; then
|
||||
str=`grep "^#define BINDIR " ../../../config.h | head -1 | sed 's/^#define BINDIR /BINDIR=/'`
|
||||
eval $str
|
||||
fi
|
||||
if [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if [ -f $HOME/ltp/testcases/bin/sched_setaffinity01 ]; then
|
||||
LTPDIR=$HOME/ltp/testcases
|
||||
fi
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
if [ -f $HOME/ostest/bin/test_mck ]; then
|
||||
OSTESTDIR=$HOME/ostest/
|
||||
fi
|
||||
if [ "x$OSTESTDIR" = x ]; then
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ ! -x $SBINDIR/mcstop+release.sh ]; then
|
||||
echo mcstop+releas: not found >&2
|
||||
exit 1
|
||||
fi
|
||||
echo -n "mcstop+release.sh ... "
|
||||
sudo $SBINDIR/mcstop+release.sh
|
||||
echo "done"
|
||||
|
||||
if [ ! -x $SBINDIR/mcreboot.sh ]; then
|
||||
echo mcreboot: not found >&2
|
||||
exit 1
|
||||
fi
|
||||
echo -n "mcreboot.sh $BOOTPARAM ... "
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
echo "done"
|
||||
|
||||
if [ ! -x $BINDIR/mcexec ]; then
|
||||
echo mcexec: not found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 1 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep "RESULT: ok" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 0 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep "RESULT: ok" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 2 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep "RESULT: ok" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 3 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep "RESULT: ok" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=005
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 5 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep "RESULT: ok" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
14
test/issues/1122/Makefile
Normal file
14
test/issues/1122/Makefile
Normal file
@ -0,0 +1,14 @@
|
||||
CC = gcc
|
||||
TARGET=
|
||||
|
||||
CPPFLAGS =
|
||||
LDFLAGS =
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
test: all
|
||||
@sh ./C1122.sh
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) *.o
|
||||
|
||||
34
test/issues/1122/README
Normal file
34
test/issues/1122/README
Normal file
@ -0,0 +1,34 @@
|
||||
【Issue#1122 動作確認】
|
||||
□ テスト内容
|
||||
1. Issueで報告された再現プログラムでの確認
|
||||
RT_001: ostest-sched_getaffinity.001
|
||||
affinityマスクの情報を受け取る第3引数に不正なアドレスを指定した場合、
|
||||
-1が返り、errnoにEFAULTが設定されることを確認
|
||||
|
||||
2. 既存のsched_setaffinity機能に影響がないことをOSTESTを用いて確認
|
||||
RT_002: ostest_schedgetaffinity.000
|
||||
自プロセスのaffinityマスクを取得し、実行中のCPUがaffinityマスクに
|
||||
含まれていることを確認
|
||||
|
||||
RT_003: ostest_schedgetaffinity.002
|
||||
cpusetsizeに不正な値(0) を指定した場合、
|
||||
-1が返り、errnoにEINVALが設定されることを確認
|
||||
|
||||
RT_004: ostest_schedgetaffinity.003
|
||||
pidに存在しないプロセスIDを指定した場合、
|
||||
-1が返り、errnoにESRCHが設定されることを確認
|
||||
|
||||
RT_005: ostest_schedgetaffinity.005
|
||||
子プロセスが親プロセスのaffinityマスクを引き継いでいることを確認
|
||||
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1122.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
37
test/issues/1122/result.log
Normal file
37
test/issues/1122/result.log
Normal file
@ -0,0 +1,37 @@
|
||||
*** RT_001 start *******************************
|
||||
TEST_SUITE: sched_getaffinity
|
||||
TEST_NUMBER: 1
|
||||
ARGS:
|
||||
sched_getaffinity result:-1, errno:14 (expect error is "EFAULT"=14)
|
||||
RESULT: ok
|
||||
*** RT_001: PASSED
|
||||
|
||||
*** RT_002 start *******************************
|
||||
TEST_SUITE: sched_getaffinity
|
||||
TEST_NUMBER: 0
|
||||
ARGS: -p 20
|
||||
RESULT: ok
|
||||
*** RT_002: PASSED
|
||||
|
||||
*** RT_003 start *******************************
|
||||
TEST_SUITE: sched_getaffinity
|
||||
TEST_NUMBER: 2
|
||||
ARGS: -p 20
|
||||
sched_getaffinity result:-1, errno:22 (expect error is "EINVAL"=22)
|
||||
RESULT: ok
|
||||
*** RT_003: PASSED
|
||||
|
||||
*** RT_004 start *******************************
|
||||
TEST_SUITE: sched_getaffinity
|
||||
TEST_NUMBER: 3
|
||||
ARGS: -p 20
|
||||
sched_getaffinity result:-1, errno:3 (expect error is "ESRCH"=3)
|
||||
RESULT: ok
|
||||
*** RT_004: PASSED
|
||||
|
||||
*** RT_005 start *******************************
|
||||
TEST_SUITE: sched_getaffinity
|
||||
TEST_NUMBER: 5
|
||||
ARGS: -p 20
|
||||
RESULT: ok
|
||||
*** RT_005: PASSED
|
||||
Reference in New Issue
Block a user