Test "Confirm build ID of mcexec, ihk, mckernel" on arm64

Change-Id: Ia5fa6d6d062e8d845c7fedca1b6cc50fbeab1860
This commit is contained in:
Shiratori, Takehiro
2018-11-21 19:49:41 +09:00
committed by Dominique Martinet
parent cfcf0137eb
commit b2a58ce3e3
3 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,41 @@
/* README COPYRIGHT FUJITSU LIMITED 2018 */
mcexec, ihk, mckernelのビルドID一致確認テストセットREADME
(1) テストの実行方法
以下の手順でテストを実行する
1. テスト向けにビルドIDの一致しないihk.ko/ihk-smp-arm64.koを用意し、McKernelインストール先に配置する
ビルドIDは、ビルドに使用したihkのgitリポジトリcommitハッシュ値の
上8桁を抽出して作成するため、ソース内に処理に影響しないコメントなどを
追加してコミットして作成することでビルドIDの異なるihk.ko/ihk-smp-arm64.koを作成可能である。
2. $HOME/.mck_test_configを用意する
当該ファイルは、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
$HOMEにコピーし、適宜編集する
3. ./run.shを実行する
(2) テスト項目詳細
TEST001 ビルドIDの一致しないihk.ko/ihk-smp-arm64.koを含む環境でmcreboot.shがエラーとなることを確認する
TEST002 ビルドIDの一致しないihk.ko/ihk-smp-arm64.koを含む環境でmcexecがエラーとなることを確認する
(3) 実行結果ログ
result.logファイル内に実行時のログを記載する。
実行に利用したIHK/McKernelは、IA版における下記の版数相当の
arm64版移植IHK/McKernelである。
IHK
commit d6fcbee8cb91f9ec4b49f97c918e696ac0335aaf
Author: Shiratori, Takehiro <fj0300es@aa.jp.fujitsu.com>
Date: Tue Oct 16 16:25:33 2018 +0900
McKernel
commit 6f9fef2b13447c74c36d15cf5ebd186f8395ccca
Author: Ken Sato <ken.sato.ty@hitachi-solutions.com>
Date: Tue Sep 25 10:05:41 2018 +0900
(4) 備考
特になし。
以上。

View File

@ -0,0 +1,2 @@
TEST001: OK
TEST002: OK

96
test/buildid_check/arm64/run.sh Executable file
View File

@ -0,0 +1,96 @@
#!/bin/sh
## run.sh COPYRIGHT FUJITSU LIMITED 2018 ##
USELTP=0
USEOSTEST=0
MCSTOP=0
MCREBOOT=0
. ../../common.sh
result=0
REBOOT="$SBIN/mcreboot.sh"
STOP="$SBIN/mcstop+release.sh"
########################################
## ihk, mckernel, mcexec buildid test ##
########################################
output=`${REBOOT} ${BOOTPARAM} 2>&1`
if [ `echo $?` != 0 ]; then
echo "${output}" | grep -q "didn't match McKernel build-id"
if [ `echo $?` == 0 ]; then
echo "TEST001: OK"
else
echo "TEST001: NG, Buildid mismatch mcreboot.sh (other error)."
echo "${output}"
result=-1
fi
else
echo "TEST001: NG, Buildid mismatch mcreboot.sh (succeeded)."
result=-1
fi
${STOP}
MCKIMG="${BIN}/../smp-arm64/kernel/mckernel.img"
IHKMOD="${BIN}/../kmod/ihk.ko"
SMPMOD="${BIN}/../kmod/ihk-smp-arm64.ko"
SMPMOD_PARAM="ihk_start_irq=60 ihk_nr_irq=4"
MCCTRLMOD="${BIN}/../kmod/mcctrl.ko"
PARAM_ARRAY=(${BOOTPARAM})
CORE="4-7"
MEMORY="512M@0"
loop=0
for OPT in "${PARAM_ARRAY[@]}"
do
loop=`expr ${loop} + 1`
case "${OPT}" in
'-c')
CORE="${PARAM_ARRAY[${loop}]}"
;;
'-m')
MEMORY="${PARAM_ARRAY[${loop}]}"
;;
*)
;;
esac
done
insmod ${IHKMOD}
insmod ${SMPMOD} ${SMPMOD_PARAM}
insmod ${MCCTRLMOD}
${IHKCONFIG} 0 reserve cpu ${CORE}
${IHKCONFIG} 0 reserve mem ${MEMORY}
${IHKCONFIG} 0 create
${IHKOSCTL} 0 assign cpu ${CORE}
${IHKOSCTL} 0 assign mem ${MEMORY}
${IHKOSCTL} 0 kargs hidos
${IHKOSCTL} 0 load ${MCKIMG}
${IHKOSCTL} 0 boot
sleep 1
output=`${MCEXEC} ls 2>&1`
if [ `echo $?` != 0 ]; then
echo "${output}" | grep -q "didn't match that of IHK"
if [ `echo $?` == 0 ]; then
echo "TEST002: OK"
else
echo "TEST002: NG, Buildid mismatch mcexec (other error)."
echo "${output}"
result=-1
fi
else
echo "TEST002: NG, Buildid mismatch mcexec (succeeded)."
result=-1
fi
exit ${result}