committed by
Masamichi Takagi
parent
c716e87c53
commit
ec99adde4a
70
test/issues/998+999/C998+999.sh
Normal file
70
test/issues/998+999/C998+999.sh
Normal file
@ -0,0 +1,70 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
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/ostest/bin/test_mck ]; then
|
||||
OSTESTDIR=$HOME/ostest/
|
||||
fi
|
||||
if [ "x$OSTESTDIR" = x ]; then
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
if [ ! -x "$OSTESTDIR"/bin/test_mck ]; then
|
||||
echo no ostest found $OSTEST >&2
|
||||
exit 1
|
||||
fi
|
||||
TESTMCK="$OSTESTDIR/bin/test_mck"
|
||||
|
||||
if [ ! -x $SBINDIR/mcstop+release.sh ]; then
|
||||
echo mcstop+release: 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
|
||||
|
||||
for i in {1..10}; do
|
||||
for j in {1..100}; do
|
||||
$BINDIR/mcexec "$TESTMCK" -s wait4 -n 3 > testmck.log 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
echo "****** ERROR ******"
|
||||
cat testmck.log
|
||||
exit 1
|
||||
fi
|
||||
echo -n .
|
||||
done
|
||||
echo
|
||||
echo "*** $i"00" ****************************"
|
||||
done
|
||||
|
||||
echo "*** C998+999 OK ****************************"
|
||||
29
test/issues/998+999/C998+999.txt
Normal file
29
test/issues/998+999/C998+999.txt
Normal file
@ -0,0 +1,29 @@
|
||||
Script started on Wed Aug 1 15:08:25 2018
|
||||
bash-4.2$ make test
|
||||
mcstop+release.sh ... done
|
||||
mcreboot.sh -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 ... done
|
||||
....................................................................................................
|
||||
*** 100 ****************************
|
||||
....................................................................................................
|
||||
*** 200 ****************************
|
||||
....................................................................................................
|
||||
*** 300 ****************************
|
||||
....................................................................................................
|
||||
*** 400 ****************************
|
||||
....................................................................................................
|
||||
*** 500 ****************************
|
||||
....................................................................................................
|
||||
*** 600 ****************************
|
||||
....................................................................................................
|
||||
*** 700 ****************************
|
||||
....................................................................................................
|
||||
*** 800 ****************************
|
||||
....................................................................................................
|
||||
*** 900 ****************************
|
||||
....................................................................................................
|
||||
*** 1000 ****************************
|
||||
*** C998+999 OK ****************************
|
||||
bash-4.2$ exit
|
||||
exit
|
||||
|
||||
Script done on Wed Aug 1 15:48:56 2018
|
||||
14
test/issues/998+999/Makefile
Normal file
14
test/issues/998+999/Makefile
Normal file
@ -0,0 +1,14 @@
|
||||
CC = gcc
|
||||
TARGET=
|
||||
|
||||
CPPFLAGS =
|
||||
LDFLAGS =
|
||||
|
||||
all:
|
||||
|
||||
test: all
|
||||
@sh ./C998+999.sh
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) *.o
|
||||
|
||||
32
test/issues/998+999/README
Normal file
32
test/issues/998+999/README
Normal file
@ -0,0 +1,32 @@
|
||||
【Issue#998 Issue#999 動作確認】
|
||||
□ テスト内容
|
||||
Issue#998 で指摘された現象は、既に解消している。
|
||||
これは、IKC3のサポートによりシステムコールデリゲーションの実装が変更され、
|
||||
システムコール要求がキューによって管理されるようになったため取りこぼしが
|
||||
発生しないようになっているためである。
|
||||
|
||||
Issue#999 で指摘された現象は、既に解消されている。
|
||||
これは、シグナルをMcKernelからmcexecに通知するスレッドをシグナル送信元から
|
||||
シグナル受信先に変更されたことによって、シグナルの通知とシステムコール要求の
|
||||
順序が入れ替わることが無くなったためである。
|
||||
|
||||
以上により、Issue#998とIssue#999に対するプログラム修正は不要であるが、
|
||||
現象が本当に解消されていることを指摘プログラムを用いて確認する。
|
||||
|
||||
C998+999 mcexec test_mck -s wait4 -n 3 を 1000 回(※)連続実行し、プログラムが
|
||||
正常終了することを確認する。
|
||||
|
||||
※ McKernelの動作タイミングによって Issue#998 と Issue#999 の現象が発生したり
|
||||
しなかったりしていたため、十分な繰り返しを行い、再発しない確認とする。
|
||||
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C998+999.sh の以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTEST が存在するパス
|
||||
|
||||
□ 実行結果
|
||||
C998+999.txt 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
Reference in New Issue
Block a user