test: Refactor test programs
Change-Id: I77fec2f5f30f6fda3bda6f85ce00f1c2e7f7a9b3
This commit is contained in:
@@ -1,58 +1,18 @@
|
||||
#!/bin/sh
|
||||
if [ -f $HOME/mck_test_config ]; then
|
||||
. $HOME/mck_test_config
|
||||
else
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
fi
|
||||
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 [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
USELTP=1
|
||||
USEOSTEST=0
|
||||
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
if [ "x$OSTESTDIR" = x ]; then
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
$BINDIR/mcexec ./CT_001
|
||||
$BINDIR/mcexec ./CT_002
|
||||
${MCEXEC} ./CT_001
|
||||
${MCEXEC} ./CT_002
|
||||
./CT_003
|
||||
./CT_004
|
||||
|
||||
tid=001
|
||||
echo "*** LT_$tid start *******************************"
|
||||
$BINDIR/mcexec $LTPDIR/bin/perf_event_open01 2>&1 | tee ./LT_${tid}.txt
|
||||
${MCEXEC} ${LTPBIN}/perf_event_open01 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
include $(HOME)/mck_test_config
|
||||
MCKDIR=$(BIN)/..
|
||||
include $(HOME)/.mck_test_config.mk
|
||||
|
||||
CC = gcc
|
||||
TARGET=perf_tool.o processing CT_001 CT_002 CT_003 CT_004
|
||||
|
||||
@@ -15,10 +15,10 @@ CT_002: CT_002.c perf_tool.o
|
||||
$(CC) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
CT_003: CT_003.c perf_tool.o
|
||||
$(CC) -o $@ $^ $(LDFLAGS) -I$(MCKDIR)/include -L$(MCKDIR)/lib -l ihk
|
||||
$(CC) -o $@ $^ $(LDFLAGS) -I$(MCK_DIR)/include -L$(MCK_DIR)/lib -Wl,--rpath=$(MCK_DIR)/lib -l ihk
|
||||
|
||||
CT_004: CT_004.c perf_tool.o
|
||||
$(CC) -o $@ $^ $(LDFLAGS) -I$(MCKDIR)/include -L$(MCKDIR)/lib -l ihk
|
||||
$(CC) -o $@ $^ $(LDFLAGS) -I$(MCK_DIR)/include -L$(MCK_DIR)/lib -Wl,--rpath=$(MCK_DIR)/lib -l ihk
|
||||
|
||||
perf_tool.o: perf_tool.c perf_tool.h
|
||||
|
||||
|
||||
@@ -50,17 +50,12 @@ LT_001: perf_event_open01 で、PERF_TYPE_HARDWARE 種別の計測が行える
|
||||
(PERF_TYPE_SOFTWARE指定はMcKernelでは未サポートのため)
|
||||
|
||||
□ 実行手順
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/mck_test_config を参照している
|
||||
mck_test_config は、McKernelをビルドした際に生成される
|
||||
mck_test_config.sample ファイルを$HOMEにコピーし、適宜編集する
|
||||
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1001.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -27,5 +27,5 @@ $HOME/.mck_test_config を参照している
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照
|
||||
すべての項目をPASSしていることを確認
|
||||
result.log 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
|
||||
@@ -1,54 +1,13 @@
|
||||
#!/bin/sh
|
||||
if [ -f $HOME/mck_test_config ]; then
|
||||
. $HOME/mck_test_config
|
||||
else
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
LTP=
|
||||
fi
|
||||
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 [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
USELTP=1
|
||||
USEOSTEST=1
|
||||
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if [ "x$OSTESTDIR" = x ]; then
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s ptrace -n 8 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s ptrace -n 8 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep "RESULT: ok" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
@@ -58,7 +17,7 @@ echo ""
|
||||
|
||||
tid=001
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/ptrace01 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/ptrace01 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -70,7 +29,7 @@ echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/ptrace02 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/ptrace02 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -82,7 +41,7 @@ echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/ptrace03 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/ptrace03 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -94,7 +53,7 @@ echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/ptrace05 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/ptrace05 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -19,18 +19,12 @@ LT_004: ltp-ptrace05
|
||||
TRACE状態での各シグナル受信時の動作を確認 (TPASS 65件)
|
||||
|
||||
□ 実行手順
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/mck_test_config を参照している
|
||||
mck_test_config は、McKernelをビルドした際に生成される
|
||||
mck_test_config.sample ファイルを$HOMEにコピーし、適宜編集する
|
||||
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C976.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,122 +1,13 @@
|
||||
#!/bin/sh
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
USELTP=1
|
||||
USEOSTEST=
|
||||
USEOSTEST=0
|
||||
|
||||
################################################################################
|
||||
BINDIR=
|
||||
SBINDIR=
|
||||
OSTESTDIR=
|
||||
LTPDIR=
|
||||
LTPBIN=
|
||||
MCEXEC=
|
||||
TESTMCK=
|
||||
|
||||
if [ -f $HOME/mck_test_config ]; then
|
||||
. $HOME/mck_test_config
|
||||
elif [ -f ../../../mck_test_config.sample ]; then
|
||||
. ../../../mck_test_config.sample
|
||||
else
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
LTP=
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "x$BIN" = x ]; then
|
||||
if [ -f ../../../config.h ]; then
|
||||
str=`grep "^#define BINDIR " ../../../config.h | head -1 | sed 's/^#define BINDIR /BINDIR=/'`
|
||||
eval $str
|
||||
fi
|
||||
else
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
|
||||
if [ "x$SBIN" = x ]; then
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
else
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if [ ! -x "$BINDIR/mcexec" ]; then
|
||||
echo no mckernel found $BINDIR >&2
|
||||
exit 1
|
||||
fi
|
||||
MCEXEC="$BINDIR/mcexec"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "x$USELTP" != x ]; then
|
||||
if [ "x$LTP" = x ]; then
|
||||
if [ -f "$HOME/ltp/testcases/bin/fork01" ]; then
|
||||
LTPDIR="$HOME/ltp"
|
||||
fi
|
||||
else
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
if [ ! -x "$LTPDIR/testcases/bin/fork01" ]; then
|
||||
echo no LTP found $LTPDIR >&2
|
||||
exit 1
|
||||
fi
|
||||
LTPBIN="$LTPDIR/testcases/bin"
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "x$USEOSTEST" != x ]; then
|
||||
if [ "x$OSTEST" = x ]; then
|
||||
if [ -f "$HOME/ostest/bin/test_mck" ]; then
|
||||
OSTESTDIR="$HOME/ostest"
|
||||
fi
|
||||
else
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ ! -x "$OSTESTDIR"/bin/test_mck ]; then
|
||||
echo no ostest found $OSTESTDIR >&2
|
||||
exit 1
|
||||
fi
|
||||
TESTMCK="$OSTESTDIR/bin/test_mck"
|
||||
fi
|
||||
|
||||
#===============================================================================
|
||||
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 lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
echo mckernel shutdown failed >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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 ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
echo mckernel boot failed >&2
|
||||
exit 1
|
||||
fi
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
. ../../common.sh
|
||||
|
||||
################################################################################
|
||||
$MCEXEC ./C1009T01
|
||||
|
||||
if [ x$LTPDIR = x ]; then
|
||||
echo no LTP found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for i in kill01:02 kill12:03 pause02:04 sigaction01:05 ; do
|
||||
tp=`echo $i|sed 's/:.*//'`
|
||||
id=`echo $i|sed 's/.*://'`
|
||||
|
||||
@@ -17,10 +17,10 @@ C1009T05 sigaction01: sigaction の基本機能の確認
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1009.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTP が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C1009.txt 参照。
|
||||
|
||||
@@ -1,77 +1,18 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
LTP=
|
||||
OSTEST=
|
||||
USELTP=0
|
||||
USEOSTEST=0
|
||||
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
. ../../common.sh
|
||||
|
||||
if ! sudo ls /sys/kernel/debug | grep kmemleak > /dev/null 2>&1; then
|
||||
echo kmemleak: not found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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/fork01 ]; then
|
||||
LTPDIR=$HOME/ltp
|
||||
fi
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
if [ "x$LTPDIR" != x ]; then
|
||||
LTPDIR="$LTPDIR/testcases"
|
||||
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 no mcexec found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
sudo sh -c 'echo clear > /sys/kernel/debug/kmemleak'
|
||||
$BINDIR/mcexec ./C1021
|
||||
$MCEXEC ./C1021
|
||||
sudo $SBINDIR/mcstop+release.sh
|
||||
sudo sh -c 'echo scan > /sys/kernel/debug/kmemleak'
|
||||
if sudo cat /sys/kernel/debug/kmemleak | tee C1021T71.kmemleak | grep 'mcctrl'; then
|
||||
|
||||
@@ -48,10 +48,10 @@ C1021T61 kmemleak を用いて mcctrl の procfs 処理がメモリリークを
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1021.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTP が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C1021.txt 参照。
|
||||
|
||||
@@ -1,69 +1,20 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
LTP=
|
||||
USELTP=1
|
||||
USEOSTEST=0
|
||||
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
|
||||
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/fork01 ]; then
|
||||
LTPDIR=$HOME/ltp/testcases
|
||||
fi
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
if [ ! -x $SBINDIR/mcreboot.sh ]; then
|
||||
echo no mcreboot found >&2
|
||||
exit 1
|
||||
fi
|
||||
if lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
sudo $SBINDIR/mcstop+release.sh
|
||||
if lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
echo shutdown failed >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
if ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
echo reboot failed >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -x $BINDIR/mcexec ]; then
|
||||
echo no mcexec found >&2
|
||||
exit 1
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
################################################################################
|
||||
rm -f mcexec
|
||||
ln -s $BINDIR/mcexec
|
||||
ln -s $MCEXEC
|
||||
./C1024T01
|
||||
./mcexec ./C1024T02
|
||||
|
||||
if [ x$LTPDIR = x ]; then
|
||||
echo no LTP found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for i in process_vm_readv02:03 process_vm_readv03:04 process_vm_writev02:05; do
|
||||
tp=`echo $i|sed 's/:.*//'`
|
||||
id=`echo $i|sed 's/.*://'`
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/$tp 2>&1 | tee $tp.txt
|
||||
sudo $MCEXEC $LTPBIN/$tp 2>&1 | tee $tp.txt
|
||||
ok=`grep TPASS $tp.txt | wc -l`
|
||||
ng=`grep TFAIL $tp.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -14,10 +14,10 @@ C1024T05 process_vm_writev02 (process_vm_writevの処理でVMAPを使用)
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1024.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTP が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C1024.txt 参照。
|
||||
|
||||
@@ -1,70 +1,19 @@
|
||||
#!/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
|
||||
USELTP=1
|
||||
USEOSTEST=1
|
||||
|
||||
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 [ -f $HOME/ltp/testcases/bin/fork01 ]; then
|
||||
LTPDIR=$HOME/ltp/testcases
|
||||
fi
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP/testcases"
|
||||
fi
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_yield -n 0
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_yield -n 0
|
||||
echo "*** RT_$tid: PASSED"
|
||||
echo ""
|
||||
|
||||
tid=001
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/fork01 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo ${MCEXEC} ${LTPBIN}/fork01 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -76,7 +25,7 @@ echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/fork02 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo ${MCEXEC} ${LTPBIN}/fork02 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -88,7 +37,7 @@ echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/fork03 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo ${MCEXEC} ${LTPBIN}/fork03 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -100,7 +49,7 @@ echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/fork04 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo ${MCEXEC} ${LTPBIN}/fork04 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -112,7 +61,7 @@ echo ""
|
||||
|
||||
tid=005
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/fork07 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo ${MCEXEC} ${LTPBIN}/fork07 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -124,7 +73,7 @@ echo ""
|
||||
|
||||
tid=006
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/fork08 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo ${MCEXEC} ${LTPBIN}/fork08 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -34,11 +34,10 @@ LT_006: ltp-fork08
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1027.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,61 +1,19 @@
|
||||
#!/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
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
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+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
|
||||
|
||||
echo "*** RT_001 start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s rt_sigaction -n 4
|
||||
echo "*** RT_001: CHECK \"Terminate by signal 10\""
|
||||
tid=001
|
||||
echo "*** RT_${tid} start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s rt_sigaction -n 4
|
||||
echo "*** RT_${tid}: CHECK \"Terminate by signal 10\""
|
||||
echo ""
|
||||
|
||||
sudo $BINDIR/mcexec ./CT_001
|
||||
sudo $BINDIR/mcexec ./CT_002
|
||||
sudo $BINDIR/mcexec ./CT_003
|
||||
sudo $BINDIR/mcexec ./CT_004
|
||||
sudo $BINDIR/mcexec ./CT_005
|
||||
sudo ${MCEXEC} ./CT_001
|
||||
sudo ${MCEXEC} ./CT_002
|
||||
sudo ${MCEXEC} ./CT_003
|
||||
sudo ${MCEXEC} ./CT_004
|
||||
sudo ${MCEXEC} ./CT_005
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
□ テスト内容
|
||||
1. Issueで報告された再現プログラムでの確認
|
||||
RT_001: ostest-rt_sigaction.004 による確認
|
||||
SIGUSR1 でプロセスが終了し、「Terminate by signal 10」が出力される
|
||||
SIGUSR1 でプロセスが終了し、「Terminate by signal 10」が出力されることを確認する
|
||||
|
||||
2. 既存のsigaction機能に影響がないことを確認
|
||||
CT_001: SIG_RESETHAND 指定時の動作
|
||||
@@ -50,10 +50,10 @@ CT_005: 複数回(非上書き)のSIG_RESETHAND 指定時の動作
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1031.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,50 +1,9 @@
|
||||
#!/bin/sh
|
||||
if [ -f $HOME/mck_test_config ]; then
|
||||
. $HOME/mck_test_config
|
||||
else
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
LTP=
|
||||
fi
|
||||
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 [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
USELTP=1
|
||||
USEOSTEST=0
|
||||
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if [ "x$OSTESTDIR" = x ]; then
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP/testcases"
|
||||
fi
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
strace -f -c -o ./CT_001.strc $BINDIR/mcexec ./CT_001
|
||||
|
||||
|
||||
@@ -20,18 +20,12 @@ LT_004: ltp-syscall_gettimeofday02
|
||||
gettimeofday(2)で取得される時刻が増加し続けることを確認する
|
||||
|
||||
□ 実行手順
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/mck_test_config を参照している
|
||||
mck_test_config は、McKernelをビルドした際に生成される
|
||||
mck_test_config.sample ファイルを$HOMEにコピーし、適宜編集する
|
||||
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1036.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,63 +1,15 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
LTP=
|
||||
USELTP=1
|
||||
USEOSTEST=0
|
||||
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
|
||||
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/fork01 ]; then
|
||||
LTPDIR=$HOME/ltp/testcases
|
||||
fi
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
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 no mcexec found >&2
|
||||
exit 1
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
################################################################################
|
||||
if [ x$LTPDIR = x ]; then
|
||||
echo no LTP found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for i in fork02:01 fork03:02 execve01:03 execve02:04 execve03:05 mmap12:06; do
|
||||
tp=`echo $i|sed 's/:.*//'`
|
||||
id=`echo $i|sed 's/.*://'`
|
||||
sudo sh -c "PATH=$LTPDIR/bin:$PATH $BINDIR/mcexec $LTPDIR/bin/$tp" 2>&1 | tee $tp.txt
|
||||
sudo sh -c "PATH=$LTPBIN:$PATH $MCEXEC $LTPBIN/$tp" 2>&1 | tee $tp.txt
|
||||
ok=`grep TPASS $tp.txt | wc -l`
|
||||
ng=`grep TFAIL $tp.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -16,10 +16,10 @@ C1039T06 mmap12
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1039.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTP が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C1039.txt 参照。
|
||||
|
||||
@@ -1,64 +1,13 @@
|
||||
#!/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
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s setrlimit -n 15 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s setrlimit -n 15 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep "RESULT: ok" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
@@ -66,7 +15,7 @@ else
|
||||
fi
|
||||
echo ""
|
||||
|
||||
sudo $BINDIR/mcexec ./CT_001
|
||||
sudo $BINDIR/mcexec ./CT_002
|
||||
sudo $BINDIR/mcexec ./CT_003
|
||||
sudo $BINDIR/mcexec ./CT_004
|
||||
sudo ${MCEXEC} ./CT_001
|
||||
sudo ${MCEXEC} ./CT_002
|
||||
sudo ${MCEXEC} ./CT_003
|
||||
sudo ${MCEXEC} ./CT_004
|
||||
|
||||
@@ -5,7 +5,7 @@ RT_001: ostest-setrlimit.015
|
||||
rlim_max(ハードリミット)を超えるrlim_cur(ソフトリミット)を指定した場合、
|
||||
-1が返り、errnoにEINVALが設定されることを確認
|
||||
|
||||
2. 既存のsched_setaffinity機能に影響がないことをテストプログラムを用いて確認
|
||||
2. 既存のset/get_rlimit機能に影響がないことをテストプログラムを用いて確認
|
||||
なお、以下のテストプログラムは特権ユーザ権限で実行する
|
||||
CT_001: Linuxに処理移譲しないresource指定で、rlim_maxを減少させる操作の確認
|
||||
RLIMIT_NPROC をresourceに指定し、以下を確認
|
||||
@@ -42,10 +42,10 @@ CT_004: Linuxに処理移譲するresource指定で、rlim_maxを増加させる
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1050.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
163
test/issues/1065/C1065.sh
Normal file
163
test/issues/1065/C1065.sh
Normal file
@@ -0,0 +1,163 @@
|
||||
#!/bin/sh
|
||||
|
||||
USELTP=0
|
||||
USEOSTEST=0
|
||||
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
map_path=`realpath ./dummy_file`
|
||||
real_path=`realpath ${map_path}`
|
||||
|
||||
echo "file map: ${map_path}"
|
||||
|
||||
${MCEXEC} ./file_map ${map_path} | tee ./CT_${tid}.txt
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./CT_${tid}.txt
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
map_path="./dummy_file"
|
||||
real_path=`realpath ${map_path}`
|
||||
|
||||
echo "file map: ${map_path}"
|
||||
|
||||
${MCEXEC} ./file_map ${map_path} | tee ./CT_${tid}.txt
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./CT_${tid}.txt
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
map_path=`realpath ./lnk_to_dummy`
|
||||
real_path=`realpath ${map_path}`
|
||||
|
||||
echo "file map: ${map_path}"
|
||||
|
||||
${MCEXEC} ./file_map ${map_path} | tee ./CT_${tid}.txt
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./CT_${tid}.txt
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
map_path="./lnk_to_dummy"
|
||||
real_path=`realpath ${map_path}`
|
||||
|
||||
echo "file map: ${map_path}"
|
||||
|
||||
${MCEXEC} ./file_map ${map_path} | tee ./CT_${tid}.txt
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./CT_${tid}.txt
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=005
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
map_path="./dummy_file"
|
||||
|
||||
echo "check [vdso], [stack]"
|
||||
|
||||
${MCEXEC} ./file_map ${map_path} | tee ./CT_${tid}.txt
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
for tgt in "\[vdso\]" "\[stack\]"
|
||||
do
|
||||
echo "** grep ${tgt} from maps"
|
||||
grep -a -e "${tgt}$" ./CT_${tid}.txt
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${tgt} is found"
|
||||
else
|
||||
echo "[NG] ${tgt} is not found"
|
||||
fail=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_001
|
||||
arg_path=`realpath ./dummy_file`
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
real_path=`realpath ${arg_path}`
|
||||
|
||||
echo "file map: ${arg_path}"
|
||||
|
||||
${MCEXEC} ./file_map ${arg_path} | tee ./${TESTNAME}.log
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./${TESTNAME}.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_002
|
||||
arg_path=./dummy_file
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
real_path=`realpath ${arg_path}`
|
||||
|
||||
echo "file map: ${arg_path}"
|
||||
|
||||
${MCEXEC} ./file_map ${arg_path} | tee ./${TESTNAME}.log
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./${TESTNAME}.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_003
|
||||
arg_path=./lnk_to_dummy
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
real_path=`realpath ${arg_path}`
|
||||
|
||||
echo "file map: ${arg_path}"
|
||||
|
||||
${MCEXEC} ./file_map ${arg_path} | tee ./${TESTNAME}.log
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./${TESTNAME}.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
@@ -1,52 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_004
|
||||
test_program=./print_maps
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
real_path=`realpath ${test_program}`
|
||||
interp_path=`readelf -l ${test_program} | grep "interpreter:" | sed -r 's/.*\[.*interpreter:\s(.*)\].*/\1/'`
|
||||
interp_real_path=`realpath ${interp_path}`
|
||||
|
||||
echo "exec : ${test_program}"
|
||||
|
||||
${MCEXEC} ${test_program} | tee ./${TESTNAME}.log
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./${TESTNAME}.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${interp_real_path} from maps"
|
||||
grep -a -e "${interp_real_path}$" ./${TESTNAME}.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${interp_real_path} is found"
|
||||
else
|
||||
echo "[NG] ${interp_real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
@@ -1,53 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_005
|
||||
test_program=./static_print_maps
|
||||
ref_program=./print_maps
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
real_path=`realpath ${test_program}`
|
||||
interp_path=`readelf -l ${ref_program} | grep "interpreter:" | sed -r 's/.*\[.*interpreter:\s(.*)\].*/\1/'`
|
||||
interp_real_path=`realpath ${interp_path}`
|
||||
|
||||
echo "exec : ${test_program}"
|
||||
|
||||
${MCEXEC} ${test_program} | tee ./${TESTNAME}.log
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./${TESTNAME}.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${interp_real_path} from maps"
|
||||
grep -a -e "${interp_real_path}$" ./${TESTNAME}.log
|
||||
|
||||
if [ X$? != X0 ]; then
|
||||
echo "[OK] ${interp_real_path} is not found"
|
||||
else
|
||||
echo "[NG] ${interp_real_path} is found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_006
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
${MCEXEC} cat /proc/self/maps
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] shell script is running normaly"
|
||||
else
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_007
|
||||
exec_program="./print_maps_and_cmdline"
|
||||
test_program="./call_execve ${exec_program}"
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
real_path=`realpath ${exec_program}`
|
||||
interp_path=`readelf -l ${exec_program} | grep "interpreter:" | sed -r 's/.*\[.*interpreter:\s(.*)\].*/\1/'`
|
||||
interp_real_path=`realpath ${interp_path}`
|
||||
|
||||
echo "exec : ${test_program}"
|
||||
|
||||
#${test_program} | tee ./${TESTNAME}.log
|
||||
${MCEXEC} ${test_program} 1> ./${TESTNAME}_maps.log 2> ./${TESTNAME}_cmdline.log
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
cat ./${TESTNAME}_maps.log
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./${TESTNAME}_maps.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${interp_real_path} from maps"
|
||||
grep -a -e "${interp_real_path}$" ./${TESTNAME}_maps.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${interp_real_path} is found"
|
||||
else
|
||||
echo "[NG] ${interp_real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
cat ./${TESTNAME}_cmdline.log
|
||||
echo ""
|
||||
echo "** grep ${exec_program} from cmdline"
|
||||
grep -a -e "${exec_program}" ./${TESTNAME}_cmdline.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${exec_program} is found"
|
||||
else
|
||||
echo "[NG] ${exec_program} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}_maps.log
|
||||
rm ./${TESTNAME}_cmdline.log
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_008
|
||||
exec_program="./print_maps_and_cmdline"
|
||||
test_program="./call_execve.sh ${exec_program}"
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
real_path=`realpath ${exec_program}`
|
||||
interp_path=`readelf -l ${exec_program} | grep "interpreter:" | sed -r 's/.*\[.*interpreter:\s(.*)\].*/\1/'`
|
||||
interp_real_path=`realpath ${interp_path}`
|
||||
|
||||
echo "exec : ${test_program}"
|
||||
|
||||
${MCEXEC} ${test_program} 1> ./${TESTNAME}_maps.log 2> ./${TESTNAME}_cmdline.log
|
||||
if [ X$? != X0 ]; then
|
||||
fail=1
|
||||
fi
|
||||
|
||||
cat ./${TESTNAME}_maps.log
|
||||
echo ""
|
||||
echo "** grep ${real_path} from maps"
|
||||
grep -a -e "${real_path}$" ./${TESTNAME}_maps.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${real_path} is found"
|
||||
else
|
||||
echo "[NG] ${real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "** grep ${interp_real_path} from maps"
|
||||
grep -a -e "${interp_real_path}$" ./${TESTNAME}_maps.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${interp_real_path} is found"
|
||||
else
|
||||
echo "[NG] ${interp_real_path} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
cat ./${TESTNAME}_cmdline.log
|
||||
echo ""
|
||||
echo "** grep ${exec_program} from cmdline"
|
||||
grep -a -e "${exec_program}" ./${TESTNAME}_cmdline.log
|
||||
|
||||
if [ X$? = X0 ]; then
|
||||
echo "[OK] ${exec_program} is found"
|
||||
else
|
||||
echo "[NG] ${exec_program} is not found"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
#rm ./${TESTNAME}_maps.log
|
||||
#rm ./${TESTNAME}_cmdline.log
|
||||
@@ -1,3 +0,0 @@
|
||||
STKN:[main] This is shell script
|
||||
STKN:[main_loop] filename:./call_execve shell:0x(nil)
|
||||
STKN:[main_loop] filename:./print_maps_and_cmdline shell:0x(nil)
|
||||
@@ -1,8 +1,5 @@
|
||||
CC = gcc
|
||||
MCK_DIR=/home/satoken/ppos
|
||||
|
||||
MCEXEC=$(MCK_DIR)/bin/mcexec
|
||||
TARGET= file_map print_maps static_print_maps call_execve print_maps_and_cmdline config
|
||||
TARGET= file_map
|
||||
|
||||
CPPFLAGS =
|
||||
LDFLAGS =
|
||||
@@ -12,34 +9,13 @@ all: $(TARGET)
|
||||
file_map: file_map.c
|
||||
$(CC) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
print_maps: print_maps.c
|
||||
$(CC) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
print_maps_and_cmdline: print_maps_and_cmdline.c
|
||||
$(CC) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
static_print_maps: print_maps.c
|
||||
$(CC) -o $@ $^ $(LDFLAGS) -static
|
||||
|
||||
call_execve: call_execve.c
|
||||
$(CC) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
config:
|
||||
@echo "MCEXEC=$(MCEXEC)" > ./config
|
||||
|
||||
init:
|
||||
ln -nfs ./dummy_file ./lnk_to_dummy
|
||||
@echo "This is Test file for mmap" > ./dummy_file
|
||||
@ln -nfs ./dummy_file ./lnk_to_dummy
|
||||
|
||||
test: init all
|
||||
./CT_001.sh
|
||||
./CT_002.sh
|
||||
./CT_003.sh
|
||||
./CT_004.sh
|
||||
./CT_005.sh
|
||||
./CT_006.sh
|
||||
./CT_007.sh
|
||||
./CT_008.sh
|
||||
@sh ./C1065.sh
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) *.o ./lnk_to_dummy
|
||||
rm -f $(TARGET) *.o ./dummy_file ./lnk_to_dummy
|
||||
|
||||
|
||||
@@ -1,32 +1,33 @@
|
||||
【Issue#1065 動作確認】
|
||||
□ テスト内容
|
||||
1. Issueで報告された症状が解消されていることの確認
|
||||
CT_001: 絶対パス指定でのファイルマップ
|
||||
絶対パス指定でファイルマップを実行し、/proc/<PID>/maps に
|
||||
対象ファイルの絶対パスが表示されることを確認する
|
||||
|
||||
CT_001:
|
||||
ファイル実体を指す絶対パスを指定したファイルマップを実行する
|
||||
-> /proc/<PID>/maps にファイル実体の絶対パスで表示される
|
||||
CT_002: 相対パス指定でのファイルマップ
|
||||
相対パス指定でファイルマップを実行し、/proc/<PID>/maps に
|
||||
対象ファイルの絶対パスが表示されることを確認する
|
||||
|
||||
CT_002:
|
||||
ファイル実体を指す相対パスを指定したファイルマップを実行する
|
||||
-> /proc/<PID>/maps にファイル実体の絶対パスで表示される
|
||||
CT_003: シンボリックリンクの絶対パス指定でのファイルマップ
|
||||
シンボリックリンクへの絶対パス指定でファイルマップを実行し、
|
||||
/proc/<PID>/maps に対象ファイルの実体の絶対パスが表示されることを確認する
|
||||
|
||||
CT_003:
|
||||
ファイル実体を指すシンボリックリンクを指定したファイルマップを実行する
|
||||
-> /proc/<PID>/maps にファイル実体の絶対パスで表示される
|
||||
CT_004: シンボリックリンクの相対パス指定でのファイルマップ
|
||||
シンボリックリンクへの相対パス指定でファイルマップを実行し、
|
||||
/proc/<PID>/maps に対象ファイルの実体の絶対パスが表示されることを確認する
|
||||
|
||||
CT_004:
|
||||
ELF形式のプログラムを実行する
|
||||
-> /proc/<PID>/maps に実行したプログラムと、そのinterpの絶対パスが表示される
|
||||
CT_005: vdso, stack 領域の表示
|
||||
/proc/<PID>/maps に[vdso], [maps] が表示されることを確認する
|
||||
|
||||
CT_005:
|
||||
static linkでビルドされたELF形式のプログラムを実行する
|
||||
-> /proc/<PID>/maps に実行したプログラムと、そのinterpの絶対パスが表示される
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
CT_006:
|
||||
シェルスクリプトを実行する
|
||||
-> シェルスクリプトが正しく実行される
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
CT_007:
|
||||
execveを行うプログラムを実行する
|
||||
-> execveされたプログラムが正常に実行され、/proc下のmaps, cmdline から新しい情報が取得できる
|
||||
|
||||
CT_008:
|
||||
execveを行うプログラムをシェルスクリプトから実行する
|
||||
-> execveされたプログラムが正常に実行され、/proc下のmaps, cmdline から新しい情報が取得できる
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
char* command;
|
||||
char* exargv[] = {NULL, NULL};
|
||||
char* exenvp[] = {NULL};
|
||||
int rc;
|
||||
|
||||
if (argc < 2) {
|
||||
printf("Error: too few arguments\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
exargv[0] = argv[1];
|
||||
|
||||
rc = execve(argv[1], exargv, exenvp);
|
||||
|
||||
/* Don't reach here */
|
||||
if (rc == -1) {
|
||||
perror("Error: failed to execve");
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
./call_execve $*
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
This is Test file for mmap.
|
||||
@@ -1,13 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
char command[128];
|
||||
|
||||
sprintf(command, "cat /proc/%d/maps", getpid());
|
||||
system(command);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#define CMD_SIZE 128
|
||||
|
||||
int main(void)
|
||||
{
|
||||
char command[CMD_SIZE];
|
||||
|
||||
memset(command, '0', CMD_SIZE);
|
||||
sprintf(command, "cat /proc/%d/maps", getpid());
|
||||
system(command);
|
||||
|
||||
memset(command, '0', CMD_SIZE);
|
||||
sprintf(command, "cat /proc/%d/cmdline 1>&2", getpid());
|
||||
system(command);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,14 +1,12 @@
|
||||
./CT_001.sh
|
||||
*** CT_001 start *******************
|
||||
file map: /home/satoken/2018_work/04/test/dummy_file
|
||||
000000400000-000000401000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
000000600000-000000601000 r--s 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
000000601000-000000602000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
file map: /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
000000400000-000000401000 r-xs 0 0:0 0
|
||||
000000600000-000000601000 r--s 0 0:0 0
|
||||
000000601000-000000602000 rw-s 0 0:0 0
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac23000-2aaaaac24000 rw-p 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0
|
||||
2aaaaac22000-2aaaaac24000 rw-s 0 0:0 0
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaac4e000 rw-p 0 0:0 0
|
||||
@@ -18,25 +16,23 @@ file map: /home/satoken/2018_work/04/test/dummy_file
|
||||
2aaaab00a000-2aaaab00c000 rw-p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00c000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/dummy_file
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
|
||||
** grep /home/satoken/2018_work/04/test/dummy_file from maps
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/dummy_file
|
||||
[OK] /home/satoken/2018_work/04/test/dummy_file is found
|
||||
** grep /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file from maps
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
[OK] /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file is found
|
||||
*** CT_001 PASSED
|
||||
|
||||
./CT_002.sh
|
||||
*** CT_002 start *******************
|
||||
file map: ./dummy_file
|
||||
000000400000-000000401000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
000000600000-000000601000 r--s 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
000000601000-000000602000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
000000400000-000000401000 r-xs 0 0:0 0
|
||||
000000600000-000000601000 r--s 0 0:0 0
|
||||
000000601000-000000602000 rw-s 0 0:0 0
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac23000-2aaaaac24000 rw-p 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0
|
||||
2aaaaac22000-2aaaaac24000 rw-s 0 0:0 0
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaac4e000 rw-p 0 0:0 0
|
||||
@@ -46,25 +42,23 @@ file map: ./dummy_file
|
||||
2aaaab00a000-2aaaab00c000 rw-p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00c000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/dummy_file
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
|
||||
** grep /home/satoken/2018_work/04/test/dummy_file from maps
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/dummy_file
|
||||
[OK] /home/satoken/2018_work/04/test/dummy_file is found
|
||||
** grep /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file from maps
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
[OK] /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file is found
|
||||
*** CT_002 PASSED
|
||||
|
||||
./CT_003.sh
|
||||
*** CT_003 start *******************
|
||||
file map: ./lnk_to_dummy
|
||||
000000400000-000000401000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
000000600000-000000601000 r--s 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
000000601000-000000602000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/file_map
|
||||
file map: /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
000000400000-000000401000 r-xs 0 0:0 0
|
||||
000000600000-000000601000 r--s 0 0:0 0
|
||||
000000601000-000000602000 rw-s 0 0:0 0
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac23000-2aaaaac24000 rw-p 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0
|
||||
2aaaaac22000-2aaaaac24000 rw-s 0 0:0 0
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaac4e000 rw-p 0 0:0 0
|
||||
@@ -74,25 +68,23 @@ file map: ./lnk_to_dummy
|
||||
2aaaab00a000-2aaaab00c000 rw-p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00c000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/dummy_file
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
|
||||
** grep /home/satoken/2018_work/04/test/dummy_file from maps
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/dummy_file
|
||||
[OK] /home/satoken/2018_work/04/test/dummy_file is found
|
||||
** grep /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file from maps
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
[OK] /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file is found
|
||||
*** CT_003 PASSED
|
||||
|
||||
./CT_004.sh
|
||||
*** CT_004 start *******************
|
||||
exec : ./print_maps
|
||||
000000400000-000000401000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/print_maps
|
||||
000000600000-000000601000 r--s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps
|
||||
000000601000-000000602000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps
|
||||
file map: ./lnk_to_dummy
|
||||
000000400000-000000401000 r-xs 0 0:0 0
|
||||
000000600000-000000601000 r--s 0 0:0 0
|
||||
000000601000-000000602000 rw-s 0 0:0 0
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac23000-2aaaaac24000 rw-p 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0
|
||||
2aaaaac22000-2aaaaac24000 rw-s 0 0:0 0
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaac4e000 rw-p 0 0:0 0
|
||||
@@ -102,54 +94,23 @@ exec : ./print_maps
|
||||
2aaaab00a000-2aaaab00c000 rw-p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00c000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
|
||||
** grep /home/satoken/2018_work/04/test/print_maps from maps
|
||||
000000400000-000000401000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/print_maps
|
||||
000000600000-000000601000 r--s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps
|
||||
000000601000-000000602000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps
|
||||
[OK] /home/satoken/2018_work/04/test/print_maps is found
|
||||
|
||||
** grep /usr/lib64/ld-2.17.so from maps
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
[OK] /usr/lib64/ld-2.17.so is found
|
||||
** grep /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file from maps
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
[OK] /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file is found
|
||||
*** CT_004 PASSED
|
||||
|
||||
./CT_005.sh
|
||||
*** CT_005 start *******************
|
||||
exec : ./static_print_maps
|
||||
000000400000-0000004b8000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/static_print_maps
|
||||
0000006b7000-0000006ba000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/static_print_maps
|
||||
0000006ba000-0000006bc000 rw-p 0 0:0 0
|
||||
000000800000-000000802000 rw-s 0 0:0 0 [heap]
|
||||
000000802000-000000823000 rw-s 0 0:0 0 [heap]
|
||||
000000823000-000000824000 rw-s 0 0:0 0 [heap]
|
||||
check [vdso], [stack]
|
||||
000000400000-000000401000 r-xs 0 0:0 0
|
||||
000000600000-000000601000 r--s 0 0:0 0
|
||||
000000601000-000000602000 rw-s 0 0:0 0
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa02000 r-xs 0 0:0 0 [vdso]
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
|
||||
** grep /home/satoken/2018_work/04/test/static_print_maps from maps
|
||||
000000400000-0000004b8000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/static_print_maps
|
||||
0000006b7000-0000006ba000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/static_print_maps
|
||||
[OK] /home/satoken/2018_work/04/test/static_print_maps is found
|
||||
|
||||
** grep /usr/lib64/ld-2.17.so from maps
|
||||
[OK] /usr/lib64/ld-2.17.so is not found
|
||||
*** CT_005 PASSED
|
||||
|
||||
./CT_006.sh
|
||||
*** CT_006 start *******************
|
||||
000000400000-00000040b000 r-xs 0 0:0 0 /usr/bin/cat
|
||||
00000060b000-00000060c000 r--s 0 0:0 0 /usr/bin/cat
|
||||
00000060c000-00000060d000 rw-s 0 0:0 0 /usr/bin/cat
|
||||
000000800000-000000821000 rw-s 0 0:0 0 [heap]
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac23000-2aaaaac24000 rw-p 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0
|
||||
2aaaaac22000-2aaaaac24000 rw-s 0 0:0 0
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaac4e000 rw-p 0 0:0 0
|
||||
@@ -159,67 +120,13 @@ exec : ./static_print_maps
|
||||
2aaaab00a000-2aaaab00c000 rw-p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00c000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
2aaaab013000-2aaab153c000 r--p 0 0:0 0 /usr/lib/locale/locale-archive
|
||||
2aaaab013000-2aaaab014000 rw-s 0 0:0 0 /home/satoken/mck_srcs/gerrit/mckernel/test/issues/1065/dummy_file
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
[OK] shell script is running normaly
|
||||
*** CT_006 PASSED
|
||||
|
||||
./CT_007.sh
|
||||
*** CT_007 start *******************
|
||||
exec : ./call_execve ./print_maps_and_cmdline
|
||||
000000400000-000000401000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/print_maps_and_cmdline
|
||||
000000600000-000000601000 r--s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps_and_cmdline
|
||||
000000601000-000000602000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps_and_cmdline
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac23000-2aaaaac24000 rw-p 0 0:0 0
|
||||
** grep \[vdso\] from maps
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaae05000 r-xp 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaaae05000-2aaaab005000 ---p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab005000-2aaaab009000 r--p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab009000-2aaaab00b000 rw-p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00b000-2aaaab010000 rw-p 0 0:0 0
|
||||
2aaaab010000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
[OK] \[vdso\] is found
|
||||
** grep \[stack\] from maps
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
STKN:[main_loop] filename:./print_maps_and_cmdline shell:0x(nil)
|
||||
STKN:[main_loop] filename:/bin/sh shell:0x(nil)
|
||||
STKN:[main_loop] filename:./print_maps_and_cmdline shell:0x(nil)
|
||||
|
||||
** grep /home/satoken/2018_work/04/test/print_maps_and_cmdline from maps
|
||||
000000400000-000000401000 r-xs 0 0:0 0 /home/satoken/2018_work/04/test/print_maps_and_cmdline
|
||||
000000600000-000000601000 r--s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps_and_cmdline
|
||||
000000601000-000000602000 rw-s 0 0:0 0 /home/satoken/2018_work/04/test/print_maps_and_cmdline
|
||||
[OK] /home/satoken/2018_work/04/test/print_maps_and_cmdline is found
|
||||
|
||||
** grep /usr/lib64/ld-2.17.so from maps
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
2aaaaac22000-2aaaaac23000 rw-s 0 0:0 0 /usr/lib64/ld-2.17.so
|
||||
[OK] /usr/lib64/ld-2.17.so is found
|
||||
./print_maps_and_cmdlineso.6o.
|
||||
** grep ./print_maps_and_cmdline from cmdline
|
||||
./print_maps_and_cmdlineso.6o.
|
||||
[OK] ./print_maps_and_cmdline is found
|
||||
*** CT_007 PASSED
|
||||
|
||||
./CT_008.sh
|
||||
*** CT_008 start *******************
|
||||
exec : ./call_execve.sh ./print_maps_and_cmdline
|
||||
./CT_008.sh: line 18: 25571 Segmentation fault (core dumped) ${MCEXEC} ${test_program} > ./${TESTNAME}_maps.log 2> ./${TESTNAME}_cmdline.log
|
||||
STKN:[main] This is shell script
|
||||
STKN:[main_loop] filename:./call_execve shell:0x(nil)
|
||||
STKN:[main_loop] filename:./print_maps_and_cmdline shell:0x(nil)
|
||||
|
||||
** grep /home/satoken/2018_work/04/test/print_maps_and_cmdline from maps
|
||||
[NG] /home/satoken/2018_work/04/test/print_maps_and_cmdline is not found
|
||||
|
||||
** grep /usr/lib64/ld-2.17.so from maps
|
||||
[NG] /usr/lib64/ld-2.17.so is not found
|
||||
|
||||
** grep ./print_maps_and_cmdline from cmdline
|
||||
[NG] ./print_maps_and_cmdline is not found
|
||||
*** CT_008 FAILED
|
||||
[OK] \[stack\] is found
|
||||
*** CT_005 PASSED
|
||||
|
||||
188
test/issues/1102/C1102.sh
Normal file
188
test/issues/1102/C1102.sh
Normal file
@@ -0,0 +1,188 @@
|
||||
#!/bin/sh
|
||||
|
||||
USELTP=1
|
||||
USEOSTEST=1
|
||||
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
REP=30
|
||||
echo "** exec ltp-syscall_mkdir09 ${REP} times"
|
||||
echo -n "" > ./CT_${tid}.txt
|
||||
for i in `seq 1 ${REP}`
|
||||
do
|
||||
${MCEXEC} ${LTPBIN}/mkdir09 | tee -a ./CT_${tid}.txt
|
||||
done
|
||||
|
||||
grep -a -e "FAIL" ./CT_${tid}.txt
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] ltp-syscall_mkdir09 ${REP} times all passed"
|
||||
else
|
||||
echo "[NG] ltp-syscall_mkdir09 failed"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
echo "** exec ostest siginfo_00"
|
||||
${MCEXEC} ${TESTMCK} -s siginfo -n 0| tee -a ./CT_${tid}.txt
|
||||
|
||||
tail -n 1 ./CT_${tid}.txt | grep -a -e "RESULT: ok" &> /dev/null
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] ostest siginfo_00 passed"
|
||||
else
|
||||
echo "[NG] ostest siginfo_00 failed"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
SIG_NAME=SIGHUP
|
||||
SIG_NUM=1
|
||||
echo "** exec ostest siginfo_01 and then send ${SIG_NAME} to mcexec"
|
||||
${MCEXEC} ${TESTMCK} -s siginfo -n 1 &
|
||||
sleep 1
|
||||
|
||||
echo "** back ground process(mcexec): $!"
|
||||
echo "** send ${SIG_NAME} to mcexec once"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] $! exists yet"
|
||||
else
|
||||
echo "[NG] $! doesn't exist"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo "** send ${SIG_NAME} to mcexec again"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] $! doesn't exist (be killed by signal)"
|
||||
else
|
||||
echo "[NG] exist yet"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
SIG_NAME=SIGINT
|
||||
SIG_NUM=2
|
||||
echo "** exec ostest siginfo_01 and then send ${SIG_NAME} to mcexec"
|
||||
${MCEXEC} ${TESTMCK} -s siginfo -n 1 &
|
||||
sleep 1
|
||||
|
||||
echo "** back ground process(mcexec): $!"
|
||||
echo "** send ${SIG_NAME} to mcexec once"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] $! exists yet"
|
||||
else
|
||||
echo "[NG] $! doesn't exist"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo "** send ${SIG_NAME} to mcexec again"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] $! doesn't exist (be killed by signal)"
|
||||
else
|
||||
echo "[NG] exist yet"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=005
|
||||
echo "*** CT_${tid} start *******************"
|
||||
fail=0
|
||||
SIG_NAME=SIGTERM
|
||||
SIG_NUM=15
|
||||
echo "** exec ostest siginfo_01 and then send ${SIG_NAME} to mcexec"
|
||||
${MCEXEC} ${TESTMCK} -s siginfo -n 1 &
|
||||
sleep 1
|
||||
|
||||
echo "** back ground process(mcexec): $!"
|
||||
echo "** send ${SIG_NAME} to mcexec once"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] $! exists yet"
|
||||
else
|
||||
echo "[NG] $! doesn't exist"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo "** send ${SIG_NAME} to mcexec again"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] $! doesn't exist (be killed by signal)"
|
||||
else
|
||||
echo "[NG] exist yet"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** CT_${tid} PASSED"
|
||||
else
|
||||
echo "*** CT_${tid} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_001
|
||||
REP=30
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
echo "** exec ltp-syscall_mkdir09 ${REP} times"
|
||||
echo -n "" > ./${TESTNAME}.log
|
||||
for i in `seq 1 ${REP}`
|
||||
do
|
||||
${MCEXEC} ${LTP_DIR}/testcases/bin/mkdir09 | tee -a ./${TESTNAME}.log
|
||||
done
|
||||
|
||||
grep -a -e "FAIL" ./${TESTNAME}.log
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] ltp-syscall_mkdir09 ${REP} times all passed"
|
||||
else
|
||||
echo "[NG] ltp-syscall_mkdir09 failed"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_002
|
||||
|
||||
. ./config
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
echo "** exec ostest siginfo_00"
|
||||
${MCEXEC} ${OSTEST_DIR}/bin/test_mck -s siginfo -n 0| tee -a ./${TESTNAME}.log
|
||||
|
||||
tail -n 1 ./${TESTNAME}.log | grep -a -e "RESULT: ok" &> /dev/null
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] ostest siginfo_00 passed"
|
||||
else
|
||||
echo "[NG] ostest siginfo_00 failed"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
@@ -1,51 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_003
|
||||
|
||||
. ./config
|
||||
|
||||
SIG_NAME=SIGHUP
|
||||
SIG_NUM=1
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
echo "** exec ostest siginfo_01 and then send ${SIG_NAME} to mcexec"
|
||||
${MCEXEC} ${OSTEST_DIR}/bin/test_mck -s siginfo -n 1 &
|
||||
sleep 1
|
||||
|
||||
echo "** back ground process(mcexec): $!"
|
||||
echo "** send ${SIG_NAME} to mcexec once"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] $! exists yet"
|
||||
else
|
||||
echo "[NG] $! doesn't exist"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo "** send ${SIG_NAME} to mcexec again"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] $! doesn't exist (be killed by signal)"
|
||||
else
|
||||
echo "[NG] exist yet"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_004
|
||||
|
||||
. ./config
|
||||
|
||||
SIG_NAME=SIGINT
|
||||
SIG_NUM=2
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
echo "** exec ostest siginfo_01 and then send ${SIG_NAME} to mcexec"
|
||||
${MCEXEC} ${OSTEST_DIR}/bin/test_mck -s siginfo -n 1 &
|
||||
sleep 1
|
||||
|
||||
echo "** back ground process(mcexec): $!"
|
||||
echo "** send ${SIG_NAME} to mcexec once"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] $! exists yet"
|
||||
else
|
||||
echo "[NG] $! doesn't exist"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo "** send ${SIG_NAME} to mcexec again"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] $! doesn't exist (be killed by signal)"
|
||||
else
|
||||
echo "[NG] exist yet"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_005
|
||||
|
||||
. ./config
|
||||
|
||||
SIG_NAME=SIGTERM
|
||||
SIG_NUM=15
|
||||
|
||||
fail=0
|
||||
|
||||
echo "*** ${TESTNAME} start *******************"
|
||||
echo "** exec ostest siginfo_01 and then send ${SIG_NAME} to mcexec"
|
||||
${MCEXEC} ${OSTEST_DIR}/bin/test_mck -s siginfo -n 1 &
|
||||
sleep 1
|
||||
|
||||
echo "** back ground process(mcexec): $!"
|
||||
echo "** send ${SIG_NAME} to mcexec once"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "[OK] $! exists yet"
|
||||
else
|
||||
echo "[NG] $! doesn't exist"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
echo "** send ${SIG_NAME} to mcexec again"
|
||||
kill -${SIG_NUM} $!
|
||||
sleep 1
|
||||
echo "** check existing of $!"
|
||||
ps -p $!
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] $! doesn't exist (be killed by signal)"
|
||||
else
|
||||
echo "[NG] exist yet"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X$fail = X0 ]; then
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
else
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
@@ -1,28 +1,14 @@
|
||||
CC = gcc
|
||||
MCK_DIR=/home/satoken/ppos
|
||||
MCEXEC=$(MCK_DIR)/bin/mcexec
|
||||
|
||||
LTP_DIR=/home/satoken/ltp
|
||||
OSTEST_DIR=/home/satoken/ostest
|
||||
|
||||
TARGET=config
|
||||
TARGET =
|
||||
|
||||
CPPFLAGS =
|
||||
LDFLAGS =
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
config:
|
||||
@echo "MCEXEC=$(MCEXEC)" > ./config
|
||||
@echo "LTP_DIR=$(LTP_DIR)" >> ./config
|
||||
@echo "OSTEST_DIR=$(OSTEST_DIR)" >> ./config
|
||||
|
||||
test: all
|
||||
./CT_001.sh
|
||||
./CT_002.sh
|
||||
./CT_003.sh
|
||||
./CT_004.sh
|
||||
./CT_005.sh
|
||||
@sh ./C1102.sh
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) *.o
|
||||
|
||||
@@ -1,26 +1,37 @@
|
||||
【Issue#1102 動作確認】
|
||||
□ テスト内容
|
||||
1. Issueで報告された再現方法で症状が再現しないことを確認
|
||||
CT_001: ltp-syscall_mkdir09
|
||||
ltp-syscall_mkdir09 を30回繰り返し実行し、
|
||||
いずれの実行結果もFAILとならないことを確認する
|
||||
|
||||
CT_001:
|
||||
ltp-syscall_mkdir09 を繰り返し実行する
|
||||
-> いずれの実行結果もFAILとならない
|
||||
2. 既存のシグナル機能に影響がないことをテストプログラムで確認
|
||||
CT_002: ostest のsiginfo.000
|
||||
ostest_siginfo.000 を実行し、RESULT: ok が出力されることを確認する
|
||||
|
||||
CT_002:
|
||||
ostest のsiginfo_00 を実行する
|
||||
-> 実行結果がRESULT: ok となる
|
||||
CT_003: ostest_siginfo.001 (SIGHUP)
|
||||
実行中のostest のsiginfo.001 にSIGHUPを通知し、以下を確認する
|
||||
- 1度目のSIGHUPはハンドルされ、プロセスが残存する
|
||||
- 2度目のSIGHUPにより、プロセスが終了する
|
||||
|
||||
CT_003:
|
||||
ostest のsiginfo_01 を実行する
|
||||
動作の確認には、SIGHUP を用いる
|
||||
-> 1度目のSIGHUPはハンドルされ、プロセスが残存する
|
||||
2度目のSIGHUPにより、プロセスが終了する
|
||||
CT_004: ostest_siginfo.001 (SIGINT)
|
||||
実行中のostest のsiginfo.001 にSIGINTを通知し、以下を確認する
|
||||
- 1度目のSIGINTはハンドルされ、プロセスが残存する
|
||||
- 2度目のSIGINTにより、プロセスが終了する
|
||||
|
||||
CT_004:
|
||||
ostest のsiginfo_01 を実行する
|
||||
動作の確認には、SIGINT を用いる
|
||||
-> 1度目のSIGINTはハンドルされ、プロセスが残存する
|
||||
2度目のSIGINTにより、プロセスが終了する
|
||||
CT_005: ostest_siginfo.001 (SIGTERM)
|
||||
実行中のostest のsiginfo.001 にSIGTERMを通知し、以下を確認する
|
||||
- 1度目のSIGTERMはハンドルされ、プロセスが残存する
|
||||
- 2度目のSIGTERMにより、プロセスが終了する
|
||||
|
||||
CT_005:
|
||||
ostest のsiginfo_01 を実行する
|
||||
動作の確認には、SIGTERM を用いる
|
||||
-> 1度目のSIGTERMはハンドルされ、プロセスが残存する
|
||||
2度目のSIGTERMにより、プロセスが終了する
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
./CT_001.sh
|
||||
*** CT_001 start *******************
|
||||
** exec ltp-syscall_mkdir09 30 times
|
||||
mkdir09 1 TPASS : PASS
|
||||
@@ -34,7 +33,6 @@ mkdir09 1 TPASS : PASS
|
||||
[OK] ltp-syscall_mkdir09 30 times all passed
|
||||
*** CT_001 PASSED
|
||||
|
||||
./CT_002.sh
|
||||
*** CT_002 start *******************
|
||||
** exec ostest siginfo_00
|
||||
TEST_SUITE: siginfo
|
||||
@@ -189,85 +187,82 @@ RESULT: ok
|
||||
[OK] ostest siginfo_00 passed
|
||||
*** CT_002 PASSED
|
||||
|
||||
./CT_003.sh
|
||||
*** CT_003 start *******************
|
||||
** exec ostest siginfo_01 and then send SIGHUP to mcexec
|
||||
TEST_SUITE: siginfo
|
||||
TEST_NUMBER: 1
|
||||
ARGS:
|
||||
==================================================
|
||||
Please send signal to mcexec(pid=12295) from console.
|
||||
Please send signal to mcexec(pid=15217) from console.
|
||||
Exit Once you throw twice the same signal.
|
||||
==================================================
|
||||
** back ground process(mcexec): 12295
|
||||
** back ground process(mcexec): 15217
|
||||
** send SIGHUP to mcexec once
|
||||
Catch signal #1
|
||||
siginfo->si_signo = 1
|
||||
siginfo->si_errno = 0
|
||||
siginfo->si_code = 0x0
|
||||
** check existing of 12295
|
||||
** check existing of 15217
|
||||
PID TTY TIME CMD
|
||||
12295 pts/0 00:00:00 exe
|
||||
[OK] 12295 exists yet
|
||||
15217 pts/0 00:00:00 exe
|
||||
[OK] 15217 exists yet
|
||||
** send SIGHUP to mcexec again
|
||||
Terminate by signal 1
|
||||
./CT_003.sh: line 34: 12295 Hangup ${MCEXEC} ${OSTEST_DIR}/bin/test_mck -s siginfo -n 1
|
||||
** check existing of 12295
|
||||
./C1102.sh: line 84: 15217 Hangup ${MCEXEC} ${TESTMCK} -s siginfo -n 1
|
||||
** check existing of 15217
|
||||
PID TTY TIME CMD
|
||||
[OK] 12295 doesn't exist (be killed by signal)
|
||||
[OK] 15217 doesn't exist (be killed by signal)
|
||||
*** CT_003 PASSED
|
||||
|
||||
./CT_004.sh
|
||||
*** CT_004 start *******************
|
||||
** exec ostest siginfo_01 and then send SIGINT to mcexec
|
||||
TEST_SUITE: siginfo
|
||||
TEST_NUMBER: 1
|
||||
ARGS:
|
||||
==================================================
|
||||
Please send signal to mcexec(pid=12311) from console.
|
||||
Please send signal to mcexec(pid=15254) from console.
|
||||
Exit Once you throw twice the same signal.
|
||||
==================================================
|
||||
** back ground process(mcexec): 12311
|
||||
** back ground process(mcexec): 15254
|
||||
** send SIGINT to mcexec once
|
||||
Catch signal #2
|
||||
siginfo->si_signo = 2
|
||||
siginfo->si_errno = 0
|
||||
siginfo->si_code = 0x0
|
||||
** check existing of 12311
|
||||
** check existing of 15254
|
||||
PID TTY TIME CMD
|
||||
12311 pts/0 00:00:00 exe
|
||||
[OK] 12311 exists yet
|
||||
15254 pts/0 00:00:00 exe
|
||||
[OK] 15254 exists yet
|
||||
** send SIGINT to mcexec again
|
||||
Terminate by signal 2
|
||||
** check existing of 12311
|
||||
** check existing of 15254
|
||||
PID TTY TIME CMD
|
||||
[OK] 12311 doesn't exist (be killed by signal)
|
||||
[OK] 15254 doesn't exist (be killed by signal)
|
||||
*** CT_004 PASSED
|
||||
|
||||
./CT_005.sh
|
||||
*** CT_005 start *******************
|
||||
** exec ostest siginfo_01 and then send SIGTERM to mcexec
|
||||
TEST_SUITE: siginfo
|
||||
TEST_NUMBER: 1
|
||||
ARGS:
|
||||
==================================================
|
||||
Please send signal to mcexec(pid=12327) from console.
|
||||
Please send signal to mcexec(pid=15290) from console.
|
||||
Exit Once you throw twice the same signal.
|
||||
==================================================
|
||||
** back ground process(mcexec): 12327
|
||||
** back ground process(mcexec): 15290
|
||||
** send SIGTERM to mcexec once
|
||||
Catch signal #15
|
||||
siginfo->si_signo = 15
|
||||
siginfo->si_errno = 0
|
||||
siginfo->si_code = 0x0
|
||||
** check existing of 12327
|
||||
** check existing of 15290
|
||||
PID TTY TIME CMD
|
||||
12327 pts/0 00:00:00 exe
|
||||
[OK] 12327 exists yet
|
||||
15290 pts/0 00:00:00 exe
|
||||
[OK] 15290 exists yet
|
||||
** send SIGTERM to mcexec again
|
||||
Terminate by signal 15
|
||||
./CT_005.sh: line 34: 12327 Terminated ${MCEXEC} ${OSTEST_DIR}/bin/test_mck -s siginfo -n 1
|
||||
** check existing of 12327
|
||||
./C1102.sh: line 172: 15290 Terminated ${MCEXEC} ${TESTMCK} -s siginfo -n 1
|
||||
** check existing of 15290
|
||||
PID TTY TIME CMD
|
||||
[OK] 12327 doesn't exist (be killed by signal)
|
||||
[OK] 15290 doesn't exist (be killed by signal)
|
||||
*** CT_005 PASSED
|
||||
|
||||
@@ -1,60 +1,20 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
BOOTPARAM="-c 1-7 -m 10G@0"
|
||||
|
||||
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 ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
if [ ! -x $SBINDIR/mcreboot.sh ]; then
|
||||
echo no mcreboot found >&2
|
||||
exit 1
|
||||
fi
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
fi
|
||||
|
||||
if [ ! -x $SBINDIR/ihkosctl ]; then
|
||||
echo no ihkosctl found >&2
|
||||
exit 1
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
maxmem=`$SBINDIR/ihkosctl 0 query mem | cut -d '@' -f 1`
|
||||
mem95p=`expr $maxmem \* 95 / 100`
|
||||
mem110p=`expr $maxmem \* 110 / 100`
|
||||
|
||||
if [ ! -x $BINDIR/mcexec ]; then
|
||||
echo no mcexec found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for i in 10240:9961472:01 2097152:2040109466:02 unlimited:$mem95p:03; do
|
||||
ul=`echo $i|sed 's/:.*//'`
|
||||
st=`echo $i|sed -e 's/^[^:]*://' -e 's/:[^:]*$//'`
|
||||
id=`echo $i|sed 's/.*://'`
|
||||
|
||||
sudo sh -c "ulimit -s $ul; $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s mem_stack_limits -n 0 -- -s $st" 2>&1 | tee C1109T$id.txt
|
||||
sudo sh -c "ulimit -s $ul; $MCEXEC $TESTMCK -s mem_stack_limits -n 0 -- -s $st" 2>&1 | tee C1109T$id.txt
|
||||
if grep "RESULT: ok" C1109T$id.txt > /dev/null 2>&1; then
|
||||
echo "*** C1109T$id: OK"
|
||||
else
|
||||
@@ -67,7 +27,7 @@ for i in 10M:9961472:04 2G:2040109466:05 100000G:$mem95p:06; do
|
||||
st=`echo $i|sed -e 's/^[^:]*://' -e 's/:[^:]*$//'`
|
||||
id=`echo $i|sed 's/.*://'`
|
||||
|
||||
$BINDIR/mcexec -s 2M,$ul $OSTESTDIR/bin/test_mck -s mem_stack_limits -n 0 -- -s $st 2>&1 | tee C1109T$id.txt
|
||||
$MCEXEC -s 2M,$ul $TESTMCK -s mem_stack_limits -n 0 -- -s $st 2>&1 | tee C1109T$id.txt
|
||||
if grep "RESULT: ok" C1109T$id.txt > /dev/null 2>&1; then
|
||||
echo "*** C1109T$id: OK"
|
||||
else
|
||||
|
||||
@@ -15,10 +15,10 @@ C1109T06 mcexec -s 2M,100000G 指定し、全メモリの95%をスタックで
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1109.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTEST が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C1109.txt 参照。
|
||||
|
||||
@@ -1,65 +1,23 @@
|
||||
#!/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
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
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+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
|
||||
|
||||
echo "*** RT_001 start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s rt_sigaction -n 5 2>&1 | tee ./RT_001.txt
|
||||
if grep "RESULT: ok" ./RT_001.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_001: PASSED"
|
||||
tid=001
|
||||
echo "*** RT_${tid} start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s rt_sigaction -n 5 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_001: FAILED"
|
||||
echo "*** RT_${tid}: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
sudo $BINDIR/mcexec ./CT_001
|
||||
sudo $BINDIR/mcexec ./CT_002
|
||||
sudo $BINDIR/mcexec ./CT_003
|
||||
sudo $BINDIR/mcexec ./CT_004
|
||||
sudo $BINDIR/mcexec ./CT_005
|
||||
sudo ${MCEXEC} ./CT_001
|
||||
sudo ${MCEXEC} ./CT_002
|
||||
sudo ${MCEXEC} ./CT_003
|
||||
sudo ${MCEXEC} ./CT_004
|
||||
sudo ${MCEXEC} ./CT_005
|
||||
|
||||
|
||||
@@ -2,20 +2,20 @@
|
||||
□ テスト内容
|
||||
1. Issueで報告された再現プログラムでの確認
|
||||
RT_001: ostest-rt_sigaction.005 による確認
|
||||
テストが正常に終了し、「RESULT: ok」が出力される
|
||||
テストが正常に終了し、「RESULT: ok」が出力されることを確認する
|
||||
|
||||
2. 既存のsigaction機能に影響がないことを確認
|
||||
CT_001: 設定中のハンドラ情報の取得 (上書き時)
|
||||
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
|
||||
2. sigaction(SIGUSR1, NULL, &act) で設定情報を取得できる
|
||||
2. sigaction(SIGUSR1, NULL, &act) で設定情報を取得できることを確認する
|
||||
3. SIG_RESETHANDを指定しないsigaction()でSIG_USR1にデフォルトハンドラを設定
|
||||
4. sigaction(SIGUSR1, NULL, &act) で3.で指定した設定情報を取得できる
|
||||
4. sigaction(SIGUSR1, NULL, &act) で3.で指定した設定情報を取得できることを確認する
|
||||
|
||||
CT_002: 設定中のハンドラ情報の取得 (デフォルトに戻った時)
|
||||
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
|
||||
2. 自身にSIGUSR1を送る
|
||||
3. 1.で登録したハンドラが呼び出される
|
||||
4. sigaction(SIGUSR1, NULL, &act) で設定情報を取得できる
|
||||
4. sigaction(SIGUSR1, NULL, &act) で設定情報を取得できることを確認する
|
||||
|
||||
CT_003: 不正なsig_numへのハンドラ登録
|
||||
1. 範囲外(上限、下限)のsignumへのハンドラ登録が失敗する
|
||||
@@ -34,10 +34,10 @@ CT_005: sig_numの有効確認
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1111.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,59 +1,17 @@
|
||||
#!/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
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
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+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
|
||||
|
||||
echo "*** RT_001 start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s mremap_mmap_anon -n 1 2>&1 | tee ./RT_001.txt
|
||||
if grep "RESULT: ok" ./RT_001.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_001: PASSED"
|
||||
tid=001
|
||||
echo "*** RT_${tid} start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s mremap_mmap_anon -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_001: FAILED"
|
||||
echo "*** RT_${tid}: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
|
||||
@@ -59,10 +59,10 @@ CT_005: old/new_size 不正時の動作
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1112.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,64 +1,13 @@
|
||||
#!/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
|
||||
USELTP=1
|
||||
USEOSTEST=1
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_setaffinity -n 0 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_setaffinity -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
|
||||
@@ -68,7 +17,7 @@ echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_setaffinity -n 1 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_setaffinity -n 1 -- -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
|
||||
@@ -78,7 +27,7 @@ echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 3 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -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
|
||||
@@ -88,7 +37,7 @@ echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 5 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -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
|
||||
@@ -98,7 +47,7 @@ echo ""
|
||||
|
||||
tid=001
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $LTPDIR/bin/sched_setaffinity01 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo ${MCEXEC} ${LTPBIN}/sched_setaffinity01 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -25,11 +25,10 @@ LT_001: ltp-sched_setaffinity01
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1121.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,64 +1,13 @@
|
||||
#!/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
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s sched_getaffinity -n 1 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -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
|
||||
@@ -68,7 +17,7 @@ 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
|
||||
sudo ${MCEXEC} ${TESTMCK} -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
|
||||
@@ -78,7 +27,7 @@ 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
|
||||
sudo ${MCEXEC} ${TESTMCK} -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
|
||||
@@ -88,7 +37,7 @@ 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
|
||||
sudo ${MCEXEC} ${TESTMCK} -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
|
||||
@@ -98,7 +47,7 @@ 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
|
||||
sudo ${MCEXEC} ${TESTMCK} -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
|
||||
|
||||
@@ -24,10 +24,10 @@ RT_005: ostest_schedgetaffinity.005
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1122.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -24,9 +24,9 @@ $ make test
|
||||
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成される
|
||||
mck_test_config.sample ファイルを$HOMEにコピーし、適宜編集する
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照
|
||||
すべての項目をPASSしていることを確認
|
||||
result.log 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
|
||||
@@ -1,59 +1,18 @@
|
||||
#!/bin/sh
|
||||
if [ -f $HOME/mck_test_config ]; then
|
||||
. $HOME/mck_test_config
|
||||
else
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
LTP=
|
||||
fi
|
||||
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 [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if [ "x$OSTESTDIR" = x ]; then
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
sudo /bin/sh ${OSTESTDIR}/util/insmod_test_drv.sh
|
||||
$BINDIR/mcexec ./CT_001
|
||||
${MCEXEC} ./CT_001
|
||||
sudo /bin/sh ${OSTESTDIR}/util/rmmod_test_drv.sh
|
||||
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s procfs -n 0 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s procfs -n 0 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
@@ -63,7 +22,7 @@ echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s procfs -n 1 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s procfs -n 1 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
@@ -73,7 +32,7 @@ echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s procfs -n 3 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s procfs -n 3 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
@@ -83,7 +42,7 @@ echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec $OSTESTDIR/bin/test_mck -s procfs -n 6 2>&1 | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ${TESTMCK} -s procfs -n 6 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
|
||||
@@ -17,18 +17,12 @@ RT_004: ostest_procfs.006
|
||||
/proc/<PID>/cpuinfo の内容を取得できることを確認
|
||||
|
||||
□ 実行手順
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/mck_test_config を参照している
|
||||
mck_test_config は、McKernelをビルドした際に生成される
|
||||
mck_test_config.sample ファイルを$HOMEにコピーし、適宜編集する
|
||||
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1164.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTESTが存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,113 +1,9 @@
|
||||
#!/bin/sh
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
USELTP=1
|
||||
USEOSTEST=1
|
||||
|
||||
################################################################################
|
||||
BINDIR=
|
||||
SBINDIR=
|
||||
OSTESTDIR=
|
||||
LTPDIR=
|
||||
LTPBIN=
|
||||
MCEXEC=
|
||||
TESTMCK=
|
||||
|
||||
if [ -f $HOME/mck_test_config ]; then
|
||||
. $HOME/mck_test_config
|
||||
elif [ -f ../../../mck_test_config.sample ]; then
|
||||
. ../../../mck_test_config.sample
|
||||
else
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
LTP=
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "x$BIN" = x ]; then
|
||||
if [ -f ../../../config.h ]; then
|
||||
str=`grep "^#define BINDIR " ../../../config.h | head -1 | sed 's/^#define BINDIR /BINDIR=/'`
|
||||
eval $str
|
||||
fi
|
||||
else
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
|
||||
if [ "x$SBIN" = x ]; then
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
else
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if [ ! -x "$BINDIR/mcexec" ]; then
|
||||
echo no mckernel found $BINDIR >&2
|
||||
exit 1
|
||||
fi
|
||||
MCEXEC="$BINDIR/mcexec"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "x$USELTP" != x ]; then
|
||||
if [ "x$LTP" = x ]; then
|
||||
if [ -f "$HOME/ltp/testcases/bin/fork01" ]; then
|
||||
LTPDIR="$HOME/ltp"
|
||||
fi
|
||||
else
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
if [ ! -x "$LTPDIR/testcases/bin/fork01" ]; then
|
||||
echo no LTP found $LTPDIR >&2
|
||||
exit 1
|
||||
fi
|
||||
LTPBIN="$LTPDIR/testcases/bin"
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "x$USEOSTEST" != x ]; then
|
||||
if [ "x$OSTEST" = x ]; then
|
||||
if [ -f "$HOME/ostest/bin/test_mck" ]; then
|
||||
OSTESTDIR="$HOME/ostest"
|
||||
fi
|
||||
else
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ ! -x "$OSTESTDIR"/bin/test_mck ]; then
|
||||
echo no ostest found $OSTESTDIR >&2
|
||||
exit 1
|
||||
fi
|
||||
TESTMCK="$OSTESTDIR/bin/test_mck"
|
||||
fi
|
||||
|
||||
#===============================================================================
|
||||
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 lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
echo mckernel shutdown failed >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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 ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
echo mckernel boot failed >&2
|
||||
exit 1
|
||||
fi
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
. ../../common.sh
|
||||
|
||||
################################################################################
|
||||
$MCEXEC ./C1165T01
|
||||
|
||||
@@ -43,10 +43,10 @@ C1165T15 fork10
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1165.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTP が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C1165.txt 参照。
|
||||
|
||||
@@ -38,11 +38,10 @@ C1176T08 sigaction01: sigaction の基本機能の確認
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C1176.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTP が存在するパス
|
||||
OSTEST= OSTEST が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C1176.txt 参照。
|
||||
|
||||
@@ -1,61 +1,21 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
LTP=
|
||||
USELTP=1
|
||||
USEOSTEST=0
|
||||
|
||||
BOOTPARAM="-c 1-7,17-23,9-15,25-31 -m 10G@0,10G@1"
|
||||
. ../../common.sh
|
||||
|
||||
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/fork01 ]; then
|
||||
LTPDIR=$HOME/ltp/testcases
|
||||
fi
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
if ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
if [ ! -x $SBINDIR/mcreboot.sh ]; then
|
||||
echo no mcreboot found >&2
|
||||
exit 1
|
||||
fi
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
fi
|
||||
|
||||
if [ ! -x $BINDIR/mcexec ]; then
|
||||
echo no mcexec found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo $BINDIR/mcexec ./g310a 2>&1 | tee g310a.txt
|
||||
sudo $MCEXEC ./g310a 2>&1 | tee g310a.txt
|
||||
if grep "fork: Permission denied" g310a.txt > /dev/null 2>&1 ; then
|
||||
echo "*** C731T001: g310a OK"
|
||||
else
|
||||
echo "*** C731T001: g310a NG"
|
||||
fi
|
||||
|
||||
if [ x$LTPDIR = x ]; then
|
||||
echo no LTP found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for i in 01:002 02:003 03:004 04:005 07:006 08:007; do
|
||||
tp=`echo $i|sed 's/:.*//'`
|
||||
id=`echo $i|sed 's/.*://'`
|
||||
$BINDIR/mcexec $LTPDIR/bin/fork$tp 2>&1 | tee fork$tp.txt
|
||||
$MCEXEC $LTPBIN/fork$tp 2>&1 | tee fork$tp.txt
|
||||
ok=`grep TPASS fork$tp.txt | wc -l`
|
||||
ng=`grep TFAIL fork$tp.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -25,10 +25,10 @@ C731T007 fork08 の実行確認
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C731.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C731.txt 参照。
|
||||
|
||||
116
test/issues/732/C732.sh
Normal file
116
test/issues/732/C732.sh
Normal file
@@ -0,0 +1,116 @@
|
||||
#!/bin/sh
|
||||
|
||||
USELTP=0
|
||||
USEOSTEST=0
|
||||
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** CT_${tid} start ***************************"
|
||||
fail=0
|
||||
tgt_file=maps
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./CT_${tid}.txt
|
||||
tail -1 CT_${tid}.txt | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** CT_${tid} FAILED"
|
||||
else
|
||||
echo "*** CT_${tid} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** CT_${tid} start ***************************"
|
||||
fail=0
|
||||
tgt_file=stat
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./CT_${tid}.txt
|
||||
tail -1 CT_${tid}.txt | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** CT_${tid} FAILED"
|
||||
else
|
||||
echo "*** CT_${tid} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** CT_${tid} start ***************************"
|
||||
fail=0
|
||||
tgt_file=status
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./CT_${tid}.txt
|
||||
tail -1 CT_${tid}.txt | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** CT_${tid} FAILED"
|
||||
else
|
||||
echo "*** CT_${tid} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** CT_${tid} start ***************************"
|
||||
fail=0
|
||||
tgt_file=stack
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./CT_${tid}.txt
|
||||
tail -1 CT_${tid}.txt | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** CT_${tid} FAILED"
|
||||
else
|
||||
echo "*** CT_${tid} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=005
|
||||
echo "*** CT_${tid} start ***************************"
|
||||
fail=0
|
||||
tgt_file=numa_maps
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./CT_${tid}.txt
|
||||
tail -1 CT_${tid}.txt | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** CT_${tid} FAILED"
|
||||
else
|
||||
echo "*** CT_${tid} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_001
|
||||
tgt_file=maps
|
||||
|
||||
fail=0
|
||||
|
||||
. ./config
|
||||
|
||||
echo "*** ${TESTNAME} start ***************************"
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./${TESTNAME}.log
|
||||
tail -1 ${TESTNAME}.log | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
else
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_002
|
||||
tgt_file=stat
|
||||
|
||||
fail=0
|
||||
|
||||
. ./config
|
||||
|
||||
echo "*** ${TESTNAME} start ***************************"
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./${TESTNAME}.log
|
||||
tail -1 ${TESTNAME}.log | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
else
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_003
|
||||
tgt_file=status
|
||||
|
||||
fail=0
|
||||
|
||||
. ./config
|
||||
|
||||
echo "*** ${TESTNAME} start ***************************"
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./${TESTNAME}.log
|
||||
tail -1 ${TESTNAME}.log | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
else
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_004
|
||||
tgt_file=stack
|
||||
|
||||
fail=0
|
||||
|
||||
. ./config
|
||||
|
||||
echo "*** ${TESTNAME} start ***************************"
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./${TESTNAME}.log
|
||||
tail -1 ${TESTNAME}.log | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
else
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
TESTNAME=CT_005
|
||||
tgt_file=numa_maps
|
||||
|
||||
fail=0
|
||||
|
||||
. ./config
|
||||
|
||||
echo "*** ${TESTNAME} start ***************************"
|
||||
|
||||
${MCEXEC} cat -v /proc/self/${tgt_file} | tee ./${TESTNAME}.log
|
||||
tail -1 ${TESTNAME}.log | grep -e "\^@$"
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo "[OK] end of /proc/<PID>/${tgt_file} is not NULL character"
|
||||
else
|
||||
echo "[NG] end of /proc/<PID>/${tgt_file} is unnecessary NULL character"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
rm ./${TESTNAME}.log
|
||||
|
||||
if [ X${fail} != X0 ]; then
|
||||
echo "*** ${TESTNAME} FAILED"
|
||||
else
|
||||
echo "*** ${TESTNAME} PASSED"
|
||||
fi
|
||||
echo ""
|
||||
@@ -1,23 +1,14 @@
|
||||
CC = gcc
|
||||
MCK_DIR=/home/satoken/ppos
|
||||
|
||||
MCEXEC=$(MCK_DIR)/bin/mcexec
|
||||
TARGET=config
|
||||
TARGET =
|
||||
|
||||
CPPFLAGS =
|
||||
LDFLAGS =
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
config:
|
||||
@echo "MCEXEC=$(MCEXEC)" > ./config
|
||||
|
||||
test: all
|
||||
./CT_001.sh
|
||||
./CT_002.sh
|
||||
./CT_003.sh
|
||||
./CT_004.sh
|
||||
./CT_005.sh
|
||||
@sh ./C732.sh
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) *.o
|
||||
|
||||
@@ -1,20 +1,35 @@
|
||||
【Issue#732 動作確認】
|
||||
□ テスト内容
|
||||
1. Issueで報告された症状が解消されていることを確認
|
||||
CT_001: /proc/<PID>/maps
|
||||
/proc/<PID>/maps の内容を出力し、
|
||||
出力結果の末尾に不要なNULL文字が存在しないことを確認する
|
||||
|
||||
CT_001:
|
||||
/proc/<PID>/maps の内容を出力する
|
||||
-> 出力結果の末尾に不要なNULL文字が存在しない
|
||||
2. 他のprocfsインタフェースで同様の症状が発生しないことを確認
|
||||
CT_002: /proc/<PID>/stat
|
||||
/proc/<PID>/stat の内容を出力し、
|
||||
出力結果の末尾に不要なNULL文字が存在しないことを確認する
|
||||
|
||||
CT_002:
|
||||
/proc/<PID>/stat の内容を出力する
|
||||
-> 出力結果の末尾に不要なNULL文字が存在しない
|
||||
CT_003: /proc/<PID>/status
|
||||
/proc/<PID>/status の内容を出力し、
|
||||
出力結果の末尾に不要なNULL文字が存在しないことを確認する
|
||||
|
||||
CT_003:
|
||||
/proc/<PID>/status の内容を出力する
|
||||
-> 出力結果の末尾に不要なNULL文字が存在しない
|
||||
CT_004: /proc/<PID>/stack
|
||||
/proc/<PID>/stck の内容を出力し、
|
||||
出力結果の末尾に不要なNULL文字が存在しないことを確認する
|
||||
|
||||
CT_004:
|
||||
/proc/<PID>/stack の内容を出力する
|
||||
-> 出力結果の末尾に不要なNULL文字が存在しない
|
||||
CT_005: /proc/<PID>/numa_maps
|
||||
/proc/<PID>/numa_maps の内容を出力し、
|
||||
出力結果の末尾に不要なNULL文字が存在しないことを確認する
|
||||
|
||||
CT_005:
|
||||
/proc/<PID>/numa_maps の内容を出力する
|
||||
-> 出力結果の末尾に不要なNULL文字が存在しない
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
すべての項目をPASSしていることを確認。
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
./CT_001.sh
|
||||
*** CT_001 start ***************************
|
||||
000000400000-00000040b000 r-xs 0 0:0 0
|
||||
00000060b000-00000060c000 r--s 0 0:0 0
|
||||
00000060c000-00000060d000 rw-s 0 0:0 0
|
||||
000000800000-000000821000 rw-s 0 0:0 0 [heap]
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0
|
||||
2aaaaac22000-2aaaaac24000 rw-s 0 0:0 0
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaac4e000 rw-p 0 0:0 0
|
||||
2aaaaac4e000-2aaaaae06000 r-xp 0 0:0 0
|
||||
2aaaaae06000-2aaaab006000 ---p 0 0:0 0
|
||||
2aaaab006000-2aaaab00a000 r--p 0 0:0 0
|
||||
2aaaab00a000-2aaaab00c000 rw-p 0 0:0 0
|
||||
2aaaab00c000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
2aaaab013000-2aaab153c000 r--p 0 0:0 0
|
||||
2aaab153c000-2aaab158e000 rw-p 0 0:0 0
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
[OK] end of /proc/<PID>/maps is not NULL character
|
||||
*** CT_001 PASSED
|
||||
|
||||
./CT_002.sh
|
||||
*** CT_002 start ***************************
|
||||
9360 (exe) S 9359 9342 21102 34816 9342 1073750272 661 0 0 0 0 0 0 0 20 0 10 0 51949304 92908821254144 772 18446744073709551615 93824992231424 93824992276796 140737488343392 140737488328480 140737345437527 0 0 0 2147155711 18446744073709551615 0 0 17 0 0 0 0 0 0 93824994377104 93824994379104 93824994390016 140737488344339 140737488344392 140737488344392 140737488351209 0
|
||||
[OK] end of /proc/<PID>/stat is not NULL character
|
||||
*** CT_002 PASSED
|
||||
|
||||
./CT_003.sh
|
||||
*** CT_003 start ***************************
|
||||
Uid: 3505 3505 3505 3505
|
||||
Gid: 3002 3002 3002 3002
|
||||
State: R (running)
|
||||
VmLck: 0 kB
|
||||
Cpus_allowed: ff
|
||||
Cpus_allowed_list: 0-7
|
||||
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
|
||||
Mems_allowed_list: 0
|
||||
[OK] end of /proc/<PID>/status is not NULL character
|
||||
*** CT_003 PASSED
|
||||
|
||||
./CT_004.sh
|
||||
*** CT_004 start ***************************
|
||||
[<ffffffff810e26e4>] futex_wait_queue_me+0xc4/0x120
|
||||
[<ffffffff810e3259>] futex_wait+0x179/0x280
|
||||
[<ffffffff810e52ee>] do_futex+0xfe/0x5b0
|
||||
[<ffffffff810e5820>] SyS_futex+0x80/0x180
|
||||
[<ffffffff81646c49>] system_call_fastpath+0x16/0x1b
|
||||
[<ffffffffffffffff>] 0xffffffffffffffff
|
||||
[OK] end of /proc/<PID>/stack is not NULL character
|
||||
*** CT_004 PASSED
|
||||
|
||||
./CT_005.sh
|
||||
*** CT_005 start ***************************
|
||||
00000000 prefer:0 file=anon_inode:[mckernel]
|
||||
0060b000 prefer:0 file=anon_inode:[mckernel]
|
||||
0060c000 prefer:0 file=anon_inode:[mckernel] mapped=3 mapmax=3 active=0 N0=3 kernelpagesize_kB=4
|
||||
2aaaaac21000 prefer:0 file=anon_inode:[mckernel]
|
||||
2aaaaac22000 prefer:0 file=anon_inode:[mckernel] mapped=1 mapmax=3 active=0 N0=1 kernelpagesize_kB=4
|
||||
2aaaaac27000 prefer:0 file=anon_inode:[mckernel]
|
||||
2aaaaac4d000 prefer:0 file=anon_inode:[mckernel]
|
||||
2aaaaac4e000 prefer:0 file=anon_inode:[mckernel] mapped=1 mapmax=3 active=0 N0=1 kernelpagesize_kB=4
|
||||
2aaaab006000 prefer:0 file=anon_inode:[mckernel]
|
||||
2aaaab00a000 prefer:0 file=anon_inode:[mckernel] dirty=1 mapmax=3 active=0 N0=1 kernelpagesize_kB=4
|
||||
2aaaab00c000 prefer:0 file=anon_inode:[mckernel]
|
||||
2aaaab011000 prefer:0 file=anon_inode:[mckernel]
|
||||
2aaaab013000 prefer:0 file=anon_inode:[mckernel]
|
||||
2aaab153c000 prefer:0 file=anon_inode:[mckernel] dirty=3 mapped=512 mapmax=3 active=0 N0=512 kernelpagesize_kB=4
|
||||
555555554000 prefer:0 file=/home/satoken/mck_srcs/pposs/ppos_development/bin/mcexec mapped=10 N0=10 kernelpagesize_kB=4
|
||||
55555575f000 prefer:0 file=/home/satoken/mck_srcs/pposs/ppos_development/bin/mcexec anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
555555760000 prefer:0 file=/home/satoken/mck_srcs/pposs/ppos_development/bin/mcexec anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
555555761000 prefer:0 heap anon=11 dirty=11 N1=11 kernelpagesize_kB=4
|
||||
7ffff29c9000 prefer:0
|
||||
7ffff29ca000 prefer:0 stack:9416 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff31ca000 prefer:0
|
||||
7ffff31cb000 prefer:0 stack:9415 anon=7 dirty=7 N0=6 N1=1 kernelpagesize_kB=4
|
||||
7ffff39cb000 prefer:0
|
||||
7ffff39cc000 prefer:0 stack:9414 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff41cc000 prefer:0
|
||||
7ffff41cd000 prefer:0 stack:9413 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff49cd000 prefer:0
|
||||
7ffff49ce000 prefer:0 stack:9412 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff51ce000 prefer:0
|
||||
7ffff51cf000 prefer:0 stack:9411 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff59cf000 prefer:0
|
||||
7ffff59d0000 prefer:0 stack:9410 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff61d0000 prefer:0
|
||||
7ffff61d1000 prefer:0 stack:9409 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff69d1000 prefer:0
|
||||
7ffff69d2000 prefer:0 stack:9408 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff71d2000 prefer:0 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1 mapped=3 mapmax=25 N0=3 kernelpagesize_kB=4
|
||||
7ffff71e7000 prefer:0 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1
|
||||
7ffff73e6000 prefer:0 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff73e7000 prefer:0 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff73e8000 prefer:0 file=/usr/lib64/libc-2.17.so mapped=111 mapmax=52 N0=105 N1=6 kernelpagesize_kB=4
|
||||
7ffff75a0000 prefer:0 file=/usr/lib64/libc-2.17.so
|
||||
7ffff77a0000 prefer:0 file=/usr/lib64/libc-2.17.so anon=4 dirty=4 N1=4 kernelpagesize_kB=4
|
||||
7ffff77a4000 prefer:0 file=/usr/lib64/libc-2.17.so anon=2 dirty=2 N1=2 kernelpagesize_kB=4
|
||||
7ffff77a6000 prefer:0 anon=3 dirty=3 N1=3 kernelpagesize_kB=4
|
||||
7ffff77ab000 prefer:0 file=/usr/lib64/libpthread-2.17.so mapped=17 mapmax=42 N0=17 kernelpagesize_kB=4
|
||||
7ffff77c2000 prefer:0 file=/usr/lib64/libpthread-2.17.so
|
||||
7ffff79c1000 prefer:0 file=/usr/lib64/libpthread-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff79c2000 prefer:0 file=/usr/lib64/libpthread-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff79c3000 prefer:0 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff79c7000 prefer:0 file=/usr/lib64/libnuma.so.1 mapped=8 mapmax=3 N1=8 kernelpagesize_kB=4
|
||||
7ffff79d1000 prefer:0 file=/usr/lib64/libnuma.so.1
|
||||
7ffff7bd1000 prefer:0 file=/usr/lib64/libnuma.so.1 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7bd2000 prefer:0 file=/usr/lib64/libnuma.so.1 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7bd3000 prefer:0 file=/usr/lib64/librt-2.17.so mapped=3 mapmax=33 N0=3 kernelpagesize_kB=4
|
||||
7ffff7bda000 prefer:0 file=/usr/lib64/librt-2.17.so
|
||||
7ffff7dd9000 prefer:0 file=/usr/lib64/librt-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7dda000 prefer:0 file=/usr/lib64/librt-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7ddb000 prefer:0 file=/usr/lib64/ld-2.17.so mapped=28 mapmax=50 N0=28 kernelpagesize_kB=4
|
||||
7ffff7fce000 prefer:0 anon=5 dirty=5 N1=5 kernelpagesize_kB=4
|
||||
7ffff7ff2000 prefer:0 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7ff3000 prefer:0 anon=6 dirty=6 N1=6 kernelpagesize_kB=4
|
||||
7ffff7ff9000 prefer:0 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7ffa000 prefer:0
|
||||
7ffff7ffc000 prefer:0 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7ffd000 prefer:0 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffff7ffe000 prefer:0 anon=1 dirty=1 N1=1 kernelpagesize_kB=4
|
||||
7ffffffdc000 prefer:0 stack anon=9 dirty=9 N1=9 kernelpagesize_kB=4
|
||||
[OK] end of /proc/<PID>/numa_maps is not NULL character
|
||||
*** CT_005 PASSED
|
||||
178
test/issues/732/result.log
Normal file
178
test/issues/732/result.log
Normal file
@@ -0,0 +1,178 @@
|
||||
*** CT_001 start ***************************
|
||||
000000400000-00000040b000 r-xs 0 0:0 0
|
||||
00000060b000-00000060c000 r--s 0 0:0 0
|
||||
00000060c000-00000060d000 rw-s 0 0:0 0
|
||||
000000800000-000000821000 rw-s 0 0:0 0 [heap]
|
||||
2aaaaa9f8000-2aaaaaa00000 rw-s 0 0:0 0
|
||||
2aaaaaa00000-2aaaaaa21000 r-xs 0 0:0 0
|
||||
2aaaaac21000-2aaaaac22000 r--s 0 0:0 0
|
||||
2aaaaac22000-2aaaaac24000 rw-s 0 0:0 0
|
||||
2aaaaac24000-2aaaaac26000 r-xs 0 0:0 0 [vdso]
|
||||
2aaaaac26000-2aaaaac27000 rw-p 0 0:0 0
|
||||
2aaaaac4d000-2aaaaac4e000 rw-p 0 0:0 0
|
||||
2aaaaac4e000-2aaaaae06000 r-xp 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaaae06000-2aaaab006000 ---p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab006000-2aaaab00a000 r--p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00a000-2aaaab00c000 rw-p 0 0:0 0 /usr/lib64/libc-2.17.so
|
||||
2aaaab00c000-2aaaab011000 rw-p 0 0:0 0
|
||||
2aaaab011000-2aaaab013000 rw-p 0 0:0 0
|
||||
2aaaab013000-2aaab153c000 r--p 0 0:0 0 /usr/lib/locale/locale-archive
|
||||
2aaab153c000-2aaab158e000 rw-p 0 0:0 0
|
||||
547fff800000-548000000000 rw-s 0 0:0 0 [stack]
|
||||
[OK] end of /proc/<PID>/maps is not NULL character
|
||||
*** CT_001 PASSED
|
||||
|
||||
*** CT_002 start ***************************
|
||||
3144 (exe) S 2244 2243 15031 34816 2243 1073750272 917 0 0 0 0 0 0 0 20 0 31 0 34234557 92909005017088 851 18446744073709551615 93824992231424 93824992280252 140737488341744 140737488322800 140737342230359 0 0 0 2147155711 18446744073709551615 0 0 17 0 0 0 0 0 0 93824994381168 93824994383328 93824994394112 140737488342765 140737488342818 140737488342818 140737488351209 0
|
||||
[OK] end of /proc/<PID>/stat is not NULL character
|
||||
*** CT_002 PASSED
|
||||
|
||||
*** CT_003 start ***************************
|
||||
Pid: 3178
|
||||
Uid: 3505 3505 3505 3505
|
||||
Gid: 3002 3002 3002 3002
|
||||
State: R (running)
|
||||
VmLck: 0 kB
|
||||
Cpus_allowed: fffffff
|
||||
Cpus_allowed_list: 0-27
|
||||
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003
|
||||
Mems_allowed_list: 0-1
|
||||
[OK] end of /proc/<PID>/status is not NULL character
|
||||
*** CT_003 PASSED
|
||||
|
||||
*** CT_004 start ***************************
|
||||
[<ffffffff810e26e4>] futex_wait_queue_me+0xc4/0x120
|
||||
[<ffffffff810e3259>] futex_wait+0x179/0x280
|
||||
[<ffffffff810e52ee>] do_futex+0xfe/0x5b0
|
||||
[<ffffffff810e5820>] SyS_futex+0x80/0x180
|
||||
[<ffffffff81646c49>] system_call_fastpath+0x16/0x1b
|
||||
[<ffffffffffffffff>] 0xffffffffffffffff
|
||||
[OK] end of /proc/<PID>/stack is not NULL character
|
||||
*** CT_004 PASSED
|
||||
|
||||
*** CT_005 start ***************************
|
||||
00000000 prefer:1 file=anon_inode:[mckernel]
|
||||
0060b000 prefer:1 file=anon_inode:[mckernel]
|
||||
0060c000 prefer:1 file=anon_inode:[mckernel] mapped=3 mapmax=2 active=0 N0=3 kernelpagesize_kB=4
|
||||
2aaaaac21000 prefer:1 file=anon_inode:[mckernel]
|
||||
2aaaaac22000 prefer:1 file=anon_inode:[mckernel] mapped=1 mapmax=2 active=0 N0=1 kernelpagesize_kB=4
|
||||
2aaaaac27000 prefer:1 file=anon_inode:[mckernel]
|
||||
2aaaaac4d000 prefer:1 file=anon_inode:[mckernel]
|
||||
2aaaaac4e000 prefer:1 file=anon_inode:[mckernel] mapped=1 mapmax=2 active=0 N0=1 kernelpagesize_kB=4
|
||||
2aaaab006000 prefer:1 file=anon_inode:[mckernel]
|
||||
2aaaab00a000 prefer:1 file=anon_inode:[mckernel] dirty=1 mapmax=2 active=0 N0=1 kernelpagesize_kB=4
|
||||
2aaaab00c000 prefer:1 file=anon_inode:[mckernel]
|
||||
2aaaab011000 prefer:1 file=anon_inode:[mckernel]
|
||||
2aaaab013000 prefer:1 file=anon_inode:[mckernel]
|
||||
2aaab153c000 prefer:1 file=anon_inode:[mckernel] dirty=2 mapped=512 mapmax=2 active=0 N0=512 kernelpagesize_kB=4
|
||||
555555554000 prefer:1 file=/home/satoken/mck_srcs/pposs/ppos_gerrit/bin/mcexec mapped=12 N1=12 kernelpagesize_kB=4
|
||||
555555760000 prefer:1 file=/home/satoken/mck_srcs/pposs/ppos_gerrit/bin/mcexec anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
555555761000 prefer:1 file=/home/satoken/mck_srcs/pposs/ppos_gerrit/bin/mcexec anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
555555762000 prefer:1 heap anon=15 dirty=15 N0=15 kernelpagesize_kB=4
|
||||
7fffe7a8b000 prefer:1
|
||||
7fffe7a8c000 prefer:1 stack:3277 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffe828c000 prefer:1
|
||||
7fffe828d000 prefer:1 stack:3276 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffe8a8d000 prefer:1
|
||||
7fffe8a8e000 prefer:1 stack:3275 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffe928e000 prefer:1
|
||||
7fffe928f000 prefer:1 stack:3274 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffe9a8f000 prefer:1
|
||||
7fffe9a90000 prefer:1 stack:3273 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffea290000 prefer:1
|
||||
7fffea291000 prefer:1 stack:3272 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffeaa91000 prefer:1
|
||||
7fffeaa92000 prefer:1 stack:3271 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffeb292000 prefer:1
|
||||
7fffeb293000 prefer:1 stack:3270 anon=6 dirty=6 N0=2 N1=4 kernelpagesize_kB=4
|
||||
7fffeba93000 prefer:1
|
||||
7fffeba94000 prefer:1 stack:3269 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffec294000 prefer:1
|
||||
7fffec295000 prefer:1 stack:3268 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffeca95000 prefer:1
|
||||
7fffeca96000 prefer:1 stack:3267 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffed296000 prefer:1
|
||||
7fffed297000 prefer:1 stack:3266 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffeda97000 prefer:1
|
||||
7fffeda98000 prefer:1 stack:3265 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffee298000 prefer:1
|
||||
7fffee299000 prefer:1 stack:3264 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffeea99000 prefer:1
|
||||
7fffeea9a000 prefer:1 stack:3263 anon=5 dirty=5 N0=2 N1=3 kernelpagesize_kB=4
|
||||
7fffef29a000 prefer:1
|
||||
7fffef29b000 prefer:1 stack:3262 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7fffefa9b000 prefer:1
|
||||
7fffefa9c000 prefer:1 stack:3261 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff029c000 prefer:1
|
||||
7ffff029d000 prefer:1 stack:3260 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff0a9d000 prefer:1
|
||||
7ffff0a9e000 prefer:1 stack:3259 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff129e000 prefer:1
|
||||
7ffff129f000 prefer:1 stack:3258 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff1a9f000 prefer:1
|
||||
7ffff1aa0000 prefer:1 stack:3257 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff22a0000 prefer:1
|
||||
7ffff22a1000 prefer:1 stack:3256 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff2aa1000 prefer:1
|
||||
7ffff2aa2000 prefer:1 stack:3255 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff32a2000 prefer:1
|
||||
7ffff32a3000 prefer:1 stack:3254 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff3aa3000 prefer:1
|
||||
7ffff3aa4000 prefer:1 stack:3253 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff42a4000 prefer:1
|
||||
7ffff42a5000 prefer:1 stack:3252 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff4aa5000 prefer:1
|
||||
7ffff4aa6000 prefer:1 stack:3251 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff52a6000 prefer:1
|
||||
7ffff52a7000 prefer:1 stack:3250 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff5aa7000 prefer:1
|
||||
7ffff5aa8000 prefer:1 stack:3249 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff62a8000 prefer:1
|
||||
7ffff62a9000 prefer:1 stack:3248 anon=3 dirty=3 N0=2 N1=1 kernelpagesize_kB=4
|
||||
7ffff6aa9000 prefer:1 file=/usr/lib64/libdl-2.17.so mapped=2 mapmax=9 N0=2 kernelpagesize_kB=4
|
||||
7ffff6aab000 prefer:1 file=/usr/lib64/libdl-2.17.so
|
||||
7ffff6cab000 prefer:1 file=/usr/lib64/libdl-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff6cac000 prefer:1 file=/usr/lib64/libdl-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff6cad000 prefer:1 file=/usr/lib64/libz.so.1.2.7 mapped=3 mapmax=5 N0=3 kernelpagesize_kB=4
|
||||
7ffff6cc2000 prefer:1 file=/usr/lib64/libz.so.1.2.7
|
||||
7ffff6ec1000 prefer:1 file=/usr/lib64/libz.so.1.2.7 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff6ec2000 prefer:1 file=/usr/lib64/libz.so.1.2.7 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff6ec3000 prefer:1 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1 mapped=3 mapmax=30 N0=3 kernelpagesize_kB=4
|
||||
7ffff6ed8000 prefer:1 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1
|
||||
7ffff70d7000 prefer:1 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff70d8000 prefer:1 file=/usr/lib64/libgcc_s-4.8.5-20150702.so.1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff70d9000 prefer:1 file=/usr/lib64/libc-2.17.so mapped=112 mapmax=60 N0=112 kernelpagesize_kB=4
|
||||
7ffff7291000 prefer:1 file=/usr/lib64/libc-2.17.so
|
||||
7ffff7491000 prefer:1 file=/usr/lib64/libc-2.17.so anon=4 dirty=4 N0=4 kernelpagesize_kB=4
|
||||
7ffff7495000 prefer:1 file=/usr/lib64/libc-2.17.so anon=2 dirty=2 N0=2 kernelpagesize_kB=4
|
||||
7ffff7497000 prefer:1 anon=3 dirty=3 N0=3 kernelpagesize_kB=4
|
||||
7ffff749c000 prefer:1 file=/usr/lib64/libpthread-2.17.so mapped=17 mapmax=49 N0=17 kernelpagesize_kB=4
|
||||
7ffff74b3000 prefer:1 file=/usr/lib64/libpthread-2.17.so
|
||||
7ffff76b2000 prefer:1 file=/usr/lib64/libpthread-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff76b3000 prefer:1 file=/usr/lib64/libpthread-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff76b4000 prefer:1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff76b8000 prefer:1 file=/home/satoken/mck_srcs/pposs/ppos_gerrit/lib/libihk.so mapped=50 N1=50 kernelpagesize_kB=4
|
||||
7ffff77ad000 prefer:1 file=/home/satoken/mck_srcs/pposs/ppos_gerrit/lib/libihk.so
|
||||
7ffff79ac000 prefer:1 file=/home/satoken/mck_srcs/pposs/ppos_gerrit/lib/libihk.so anon=18 dirty=18 N0=18 kernelpagesize_kB=4
|
||||
7ffff79be000 prefer:1 file=/home/satoken/mck_srcs/pposs/ppos_gerrit/lib/libihk.so anon=5 dirty=5 N0=5 kernelpagesize_kB=4
|
||||
7ffff79c3000 prefer:1
|
||||
7ffff79c7000 prefer:1 file=/usr/lib64/libnuma.so.1 mapped=8 mapmax=3 N0=8 kernelpagesize_kB=4
|
||||
7ffff79d1000 prefer:1 file=/usr/lib64/libnuma.so.1
|
||||
7ffff7bd1000 prefer:1 file=/usr/lib64/libnuma.so.1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7bd2000 prefer:1 file=/usr/lib64/libnuma.so.1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7bd3000 prefer:1 file=/usr/lib64/librt-2.17.so mapped=3 mapmax=38 N0=3 kernelpagesize_kB=4
|
||||
7ffff7bda000 prefer:1 file=/usr/lib64/librt-2.17.so
|
||||
7ffff7dd9000 prefer:1 file=/usr/lib64/librt-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7dda000 prefer:1 file=/usr/lib64/librt-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7ddb000 prefer:1 file=/usr/lib64/ld-2.17.so mapped=28 mapmax=56 N0=28 kernelpagesize_kB=4
|
||||
7ffff7fcd000 prefer:1 anon=6 dirty=6 N0=6 kernelpagesize_kB=4
|
||||
7ffff7ff2000 prefer:1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7ff3000 prefer:1 anon=6 dirty=6 N0=6 kernelpagesize_kB=4
|
||||
7ffff7ff9000 prefer:1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7ffa000 prefer:1
|
||||
7ffff7ffc000 prefer:1 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7ffd000 prefer:1 file=/usr/lib64/ld-2.17.so anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffff7ffe000 prefer:1 anon=1 dirty=1 N0=1 kernelpagesize_kB=4
|
||||
7ffffffdb000 prefer:1 stack anon=11 dirty=11 N0=11 kernelpagesize_kB=4
|
||||
[OK] end of /proc/<PID>/numa_maps is not NULL character
|
||||
*** CT_005 PASSED
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#define SMALL_PAGE_SIZE 4096L
|
||||
#define PAGE_MASK (~(SMALL_PAGE_SIZE - 1))
|
||||
#define GET_PAGE_INFO 733
|
||||
#define GET_PAGE_INFO 750
|
||||
|
||||
int
|
||||
is_small_page(long pageinfo)
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
diff --git arch/x86_64/kernel/include/syscall_list.h arch/x86_64/kernel/include/syscall_list.h
|
||||
index 48b1ea0..a752a7e 100644
|
||||
index 6de0ccc..912af92 100644
|
||||
--- arch/x86_64/kernel/include/syscall_list.h
|
||||
+++ arch/x86_64/kernel/include/syscall_list.h
|
||||
@@ -161,6 +161,7 @@ SYSCALL_HANDLED(__NR_profile, profile)
|
||||
SYSCALL_HANDLED(730, util_migrate_inter_kernel)
|
||||
@@ -162,6 +162,7 @@ SYSCALL_HANDLED(730, util_migrate_inter_kernel)
|
||||
SYSCALL_HANDLED(731, util_indicate_clone)
|
||||
SYSCALL_HANDLED(732, get_system)
|
||||
+SYSCALL_HANDLED(733, get_mem_info)
|
||||
SYSCALL_HANDLED(733, util_register_desc)
|
||||
+SYSCALL_HANDLED(750, get_mem_info)
|
||||
|
||||
/* McKernel Specific */
|
||||
SYSCALL_HANDLED(801, swapout)
|
||||
diff --git kernel/mem.c kernel/mem.c
|
||||
index f6dc309..cdd7928 100644
|
||||
index fa2e347..3a6adc2 100644
|
||||
--- kernel/mem.c
|
||||
+++ kernel/mem.c
|
||||
@@ -1608,6 +1608,9 @@ int page_unmap(struct page *page)
|
||||
@@ -1604,6 +1604,9 @@ int page_unmap(struct page *page)
|
||||
return 1;
|
||||
}
|
||||
*/
|
||||
@@ -24,7 +24,7 @@ index f6dc309..cdd7928 100644
|
||||
|
||||
dkprintf("page_unmap(%p %x %d): 1\n", page, page->mode, page->count);
|
||||
list_del(&page->hash);
|
||||
@@ -2540,3 +2543,31 @@ int ihk_mc_get_mem_user_page(void *arg0, page_table_t pt, pte_t *ptep, void *pga
|
||||
@@ -2538,3 +2541,31 @@ int ihk_mc_get_mem_user_page(void *arg0, page_table_t pt, pte_t *ptep, void *pga
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -57,18 +57,18 @@ index f6dc309..cdd7928 100644
|
||||
+}
|
||||
+
|
||||
diff --git kernel/process.c kernel/process.c
|
||||
index bb15608..25daa0e 100644
|
||||
index fad3e91..8de718f 100644
|
||||
--- kernel/process.c
|
||||
+++ kernel/process.c
|
||||
@@ -95,6 +95,7 @@ extern void procfs_delete_thread(struct thread *);
|
||||
extern void perf_start(struct mc_perf_event *event);
|
||||
extern void perf_reset(struct mc_perf_event *event);
|
||||
#endif /* !POSTK_DEBUG_ARCH_DEP_22 */
|
||||
+extern void dbg_page_count(int) ;
|
||||
@@ -84,6 +84,7 @@ extern ihk_spinlock_t cpuid_head_lock;
|
||||
int ptrace_detach(int pid, int data);
|
||||
extern void procfs_create_thread(struct thread *);
|
||||
extern void procfs_delete_thread(struct thread *);
|
||||
+extern void dbg_page_count(int);
|
||||
|
||||
struct list_head resource_set_list;
|
||||
mcs_rwlock_lock_t resource_set_lock;
|
||||
@@ -2769,6 +2770,8 @@ static void idle(void)
|
||||
@@ -2773,6 +2774,8 @@ static void idle(void)
|
||||
v->status = CPU_STATUS_IDLE;
|
||||
cpu_enable_interrupt();
|
||||
|
||||
@@ -77,7 +77,7 @@ index bb15608..25daa0e 100644
|
||||
while (1) {
|
||||
cpu_local_var(current)->status = PS_STOPPED;
|
||||
schedule();
|
||||
@@ -3304,6 +3307,8 @@ redo:
|
||||
@@ -3287,6 +3290,8 @@ void schedule(void)
|
||||
|
||||
if ((last != NULL) && (last->status == PS_EXITED)) {
|
||||
release_thread(last);
|
||||
@@ -87,10 +87,10 @@ index bb15608..25daa0e 100644
|
||||
|
||||
/* Have we migrated to another core meanwhile? */
|
||||
diff --git kernel/syscall.c kernel/syscall.c
|
||||
index d51cdeb..1073060 100644
|
||||
index 466ca89..5aa3449 100644
|
||||
--- kernel/syscall.c
|
||||
+++ kernel/syscall.c
|
||||
@@ -9186,6 +9186,35 @@ SYSCALL_DECLARE(resume_threads)
|
||||
@@ -9287,6 +9287,35 @@ SYSCALL_DECLARE(util_register_desc)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,53 +1,13 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
BOOTPARAM="-c 1-7 -m 2G@0"
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
if [ -f ../../../config.h ]; then
|
||||
str=`grep "^#define BINDIR " ../../../config.h | head -1 | sed 's/^#define BINDIR /BINDIR=/'`
|
||||
eval $str
|
||||
fi
|
||||
BOOTPARAM="-c 1-7 -m 4G@0"
|
||||
. ../../common.sh
|
||||
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
$MCEXEC ./C765
|
||||
|
||||
if [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
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 >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
sudo $SBINDIR/mcstop+release.sh
|
||||
fi
|
||||
if ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
fi
|
||||
if ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
echo no mcctrl.ko found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$BINDIR/mcexec ./C765
|
||||
|
||||
$BINDIR/mcexec "$OSTESTDIR"/bin/test_mck -s mem_limits -n 0 -- -f mmap -s 7340032 -c 1
|
||||
$MCEXEC $TESTMCK -s mem_limits -n 0 -- -f mmap -s 7340032 -c 1
|
||||
|
||||
if $SBINDIR/ihkosctl 0 kmsg | grep -i bad > /dev/null 2>&1; then
|
||||
$SBINDIR/ihkosctl 0 kmsg
|
||||
|
||||
@@ -39,10 +39,10 @@ C765.patch 指定されたメモリのページサイズと共有状況を調べ
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C765.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= ostest が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C765.txt 参照。
|
||||
|
||||
@@ -1,35 +1,15 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
USELTP=0
|
||||
USEOSTEST=0
|
||||
|
||||
BOOTPARAM="-c 1-7 -m 4G@0"
|
||||
. ../../common.sh
|
||||
|
||||
if ! sudo ls /sys/kernel/debug | grep kmemleak > /dev/null 2>&1; then
|
||||
echo kmemleak: not found >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f ../../../config.h ]; then
|
||||
str=`grep "^#define BINDIR " ../../../config.h | head -1 | sed 's/^#define BINDIR /BINDIR=/'`
|
||||
eval $str
|
||||
fi
|
||||
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
|
||||
if [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
sudo $SBINDIR/mcstop+release.sh
|
||||
fi
|
||||
|
||||
dd if=/dev/zero of=rpf.data bs=1M count=1024
|
||||
sync
|
||||
|
||||
@@ -43,7 +23,7 @@ while [ x$b = x ]; do
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
$SBINDIR/ihkosctl 0 clear_kmsg
|
||||
sudo dmesg -c > /dev/null
|
||||
$BINDIR/mcexec ./C840T01
|
||||
$MCEXEC ./C840T01
|
||||
sleep 3
|
||||
rpf=`dmesg | grep 'remote_page_fault:interrupted. -512'`
|
||||
offload=` $SBINDIR/ihkosctl 0 kmsg | grep 'is dead, terminate()'`
|
||||
@@ -76,7 +56,7 @@ while [ x$b = x ]; do
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
$SBINDIR/ihkosctl 0 clear_kmsg
|
||||
sudo dmesg -c > /dev/null
|
||||
$BINDIR/mcexec ./C840T02
|
||||
$MCEXEC ./C840T02
|
||||
sleep 3
|
||||
rpf=`dmesg | grep 'remote_page_fault:interrupted. -512'`
|
||||
offload=` $SBINDIR/ihkosctl 0 kmsg | grep 'is dead, terminate()'`
|
||||
@@ -109,7 +89,7 @@ while [ x$b = x ]; do
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
$SBINDIR/ihkosctl 0 clear_kmsg
|
||||
sudo dmesg -c > /dev/null
|
||||
$BINDIR/mcexec ./C840T03
|
||||
$MCEXEC ./C840T03
|
||||
sleep 3
|
||||
rpf=`dmesg | grep 'remote_page_fault:interrupted. -512'`
|
||||
offload=` $SBINDIR/ihkosctl 0 kmsg | grep 'is dead, terminate()'`
|
||||
@@ -142,7 +122,7 @@ while [ x$b = x ]; do
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
$SBINDIR/ihkosctl 0 clear_kmsg
|
||||
sudo dmesg -c > /dev/null
|
||||
timeout -s 9 2 $BINDIR/mcexec ./C840T04
|
||||
timeout -s 9 2 $MCEXEC ./C840T04
|
||||
sleep 3
|
||||
rpf=`dmesg | grep 'remote_page_fault:interrupted. -512'`
|
||||
offload=` $SBINDIR/ihkosctl 0 kmsg | grep 'is dead, terminate()'`
|
||||
@@ -175,7 +155,7 @@ while [ x$b = x ]; do
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
$SBINDIR/ihkosctl 0 clear_kmsg
|
||||
sudo dmesg -c > /dev/null
|
||||
timeout -s 9 2 $BINDIR/mcexec ./C840T05
|
||||
timeout -s 9 2 $MCEXEC ./C840T05
|
||||
sleep 3
|
||||
rpf=`dmesg | grep 'remote_page_fault:interrupted. -512'`
|
||||
offload=` $SBINDIR/ihkosctl 0 kmsg | grep 'is dead, terminate()'`
|
||||
@@ -208,7 +188,7 @@ while [ x$b = x ]; do
|
||||
sudo $SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
$SBINDIR/ihkosctl 0 clear_kmsg
|
||||
sudo dmesg -c > /dev/null
|
||||
timeout -s 9 2 $BINDIR/mcexec ./C840T06
|
||||
timeout -s 9 2 $MCEXEC ./C840T06
|
||||
sleep 3
|
||||
rpf=`dmesg | grep 'remote_page_fault:interrupted. -512'`
|
||||
offload=` $SBINDIR/ihkosctl 0 kmsg | grep 'is dead, terminate()'`
|
||||
|
||||
@@ -11,9 +11,10 @@ C840T06 システムコールオフロードしていないときにmcexecがSIG
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C840.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
※注意
|
||||
・メモリリークのテストのため、kmemleakが使用可能なLinuxカーネルを用いること。
|
||||
|
||||
@@ -1,27 +1,8 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
USELTP=0
|
||||
USEOSTEST=0
|
||||
|
||||
BOOTPARAM="-c 1-7 -m 2G@0"
|
||||
. ../../common.sh
|
||||
|
||||
if [ -f ../../../config.h ]; then
|
||||
str=`grep "^#define BINDIR " ../../../config.h | head -1 | sed 's/^#define BINDIR /BINDIR=/'`
|
||||
eval $str
|
||||
fi
|
||||
|
||||
if [ -f ../../../Makefile ]; then
|
||||
str=`grep ^SBINDIR ../../../Makefile | head -1 | sed 's/ //g'`
|
||||
eval $str
|
||||
fi
|
||||
|
||||
if [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
|
||||
if ! lsmod | grep mcctrl > /dev/null 2>&1; then
|
||||
$SBINDIR/mcreboot.sh $BOOTPARAM
|
||||
fi
|
||||
|
||||
$BINDIR/mcexec ./C926
|
||||
$MCEXEC ./C926
|
||||
|
||||
@@ -17,9 +17,10 @@ C926T10 shmget->shmat->RMID->shmatで同じ領域が使われることを確認
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C926.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C926.txt 参照。
|
||||
|
||||
@@ -1,58 +1,17 @@
|
||||
#!/bin/sh
|
||||
if [ -f $HOME/mck_test_config ]; then
|
||||
. $HOME/mck_test_config
|
||||
else
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
LTP=
|
||||
fi
|
||||
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 [ "x$BINDIR" = x ];then
|
||||
BINDIR="$BIN"
|
||||
fi
|
||||
USELTP=1
|
||||
USEOSTEST=0
|
||||
|
||||
if [ "x$SBINDIR" = x ];then
|
||||
SBINDIR="$SBIN"
|
||||
fi
|
||||
. ../../common.sh
|
||||
|
||||
if [ "x$OSTESTDIR" = x ]; then
|
||||
OSTESTDIR="$OSTEST"
|
||||
fi
|
||||
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP"
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
$BINDIR/mcexec ./CT_001
|
||||
$BINDIR/mcexec ./CT_002
|
||||
$BINDIR/mcexec ./CT_003
|
||||
${MCEXEC} ./CT_001
|
||||
${MCEXEC} ./CT_002
|
||||
${MCEXEC} ./CT_003
|
||||
|
||||
tid=001
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve01 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve01 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -64,7 +23,7 @@ echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve02 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve02 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -76,7 +35,7 @@ echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve03 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve03 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -88,7 +47,7 @@ echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve05 20 $LTPDIR/bin/execve05 $LTPDIR/bin/execve05 4 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve05 20 ${LTPBIN}/execve05 ${LTPBIN}/execve05 4 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -37,17 +37,12 @@ LT_004: ltp-execve05
|
||||
execveの標準的な動作を確認 (TPASS 8件)
|
||||
|
||||
□ 実行手順
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/mck_test_config を参照している
|
||||
mck_test_config は、McKernelをビルドした際に生成される
|
||||
mck_test_config.sample ファイルを$HOMEにコピーし、適宜編集する
|
||||
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C976.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,56 +1,13 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
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
|
||||
USELTP=1
|
||||
USEOSTEST=0
|
||||
|
||||
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/execve01 ]; then
|
||||
LTPDIR=$HOME/ltp/testcases
|
||||
fi
|
||||
if [ "x$LTPDIR" = x ]; then
|
||||
LTPDIR="$LTP/testcases"
|
||||
fi
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec ./call_execve ./test_01.sh | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ./call_execve ./test_01.sh | tee ./RT_${tid}.txt
|
||||
if grep "argv\[0\]: ./syml_put_args" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
@@ -60,7 +17,7 @@ echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo $BINDIR/mcexec ./call_execve ./test_02.sh | tee ./RT_${tid}.txt
|
||||
sudo ${MCEXEC} ./call_execve ./test_02.sh | tee ./RT_${tid}.txt
|
||||
if grep "argv\[0\]: `pwd`/syml_put_args" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
@@ -70,7 +27,7 @@ echo ""
|
||||
|
||||
tid=001
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve01 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve01 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -82,7 +39,7 @@ echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve02 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve02 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -94,7 +51,7 @@ echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve03 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve03 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
@@ -106,7 +63,7 @@ echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** LT_$tid start *******************************"
|
||||
sudo PATH=$LTPDIR/bin:${PATH} $BINDIR/mcexec $LTPDIR/bin/execve05 20 $LTPDIR/bin/execve05 $LTPDIR/bin/execve05 4 2>&1 | tee ./LT_${tid}.txt
|
||||
sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/execve05 20 ${LTPBIN}/execve05 ${LTPBIN}/execve05 4 2>&1 | tee ./LT_${tid}.txt
|
||||
ok=`grep TPASS LT_${tid}.txt | wc -l`
|
||||
ng=`grep TFAIL LT_${tid}.txt | wc -l`
|
||||
if [ $ng = 0 ]; then
|
||||
|
||||
@@ -27,10 +27,10 @@ LT_004: ltp-execve05
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C995.shの以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
LTP= LTPが存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照。
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char *command;
|
||||
char *exargv[128] = {};
|
||||
char *exenvp[1] = {NULL};
|
||||
int i, rc;
|
||||
|
||||
if (argc < 2) {
|
||||
printf("Error: too few arguments\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
exargv[0] = argv[1];
|
||||
|
||||
for (i = 2; i < argc; i++) {
|
||||
exargv[i - 1] = argv[i];
|
||||
}
|
||||
exargv[i - 1] = NULL;
|
||||
|
||||
rc = execve(argv[1], exargv, exenvp);
|
||||
|
||||
/* Don't reach here */
|
||||
if (rc == -1) {
|
||||
perror("Error: failed to execve");
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
@@ -1,61 +1,13 @@
|
||||
#!/bin/sh
|
||||
BIN=
|
||||
SBIN=
|
||||
OSTEST=
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
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
|
||||
. ../../common.sh
|
||||
|
||||
for i in {1..10}; do
|
||||
for j in {1..100}; do
|
||||
$BINDIR/mcexec "$TESTMCK" -s wait4 -n 3 > testmck.log 2>&1
|
||||
$MCEXEC "$TESTMCK" -s wait4 -n 3 > testmck.log 2>&1
|
||||
if [ $? != 0 ]; then
|
||||
echo "****** ERROR ******"
|
||||
cat testmck.log
|
||||
|
||||
@@ -22,10 +22,10 @@ C998+999 mcexec test_mck -s wait4 -n 3 を 1000 回(※)連続実行し、プロ
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
実行できない場合は、C998+999.sh の以下の行を適切に書き換えた後に実行。
|
||||
BIN= mcexec が存在するパス
|
||||
SBIN= mcreboot.sh が存在するパス
|
||||
OSTEST= OSTEST が存在するパス
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
C998+999.txt 参照。
|
||||
|
||||
Reference in New Issue
Block a user