diff options
Diffstat (limited to '0031-modify-CI-for-default-runtime-to-runc.patch')
-rw-r--r-- | 0031-modify-CI-for-default-runtime-to-runc.patch | 815 |
1 files changed, 815 insertions, 0 deletions
diff --git a/0031-modify-CI-for-default-runtime-to-runc.patch b/0031-modify-CI-for-default-runtime-to-runc.patch new file mode 100644 index 0000000..9b8f8d8 --- /dev/null +++ b/0031-modify-CI-for-default-runtime-to-runc.patch @@ -0,0 +1,815 @@ +From c0d86490ba53bf9a33f7569dc31c4ec1ba54f073 Mon Sep 17 00:00:00 2001 +From: zhongtao <zhongtao17@huawei.com> +Date: Tue, 21 Nov 2023 21:32:08 +0800 +Subject: [PATCH 31/64] modify CI for default runtime to runc + +Signed-off-by: zhongtao <zhongtao17@huawei.com> +--- + CI/test_cases/container_cases/cni_test.sh | 103 ++++++++++-------- + .../container_cases/exec_additional_gids.sh | 26 +++-- + CI/test_cases/container_cases/export.sh | 10 +- + .../hook_ignore_poststart_error.sh | 10 +- + .../container_cases/hook_spec_test.sh | 12 +- + ...igdata_stream.sh => lcr_bigdata_stream.sh} | 32 +----- + .../container_cases/{exec.sh => lcr_exec.sh} | 2 +- + CI/test_cases/container_cases/nano_cpus.sh | 8 +- + CI/test_cases/container_cases/restart.sh | 14 ++- + CI/test_cases/container_cases/run.sh | 49 +++++---- + ..._stream_runc.sh => runc_bigdata_stream.sh} | 0 + .../{exec_runc.sh => runc_exec.sh} | 0 + CI/test_cases/container_cases/seccomp.sh | 12 +- + CI/test_cases/container_cases/stop.sh | 19 +++- + CI/test_cases/critest.sh | 6 +- + 15 files changed, 166 insertions(+), 137 deletions(-) + rename CI/test_cases/container_cases/{bigdata_stream.sh => lcr_bigdata_stream.sh} (93%) + rename CI/test_cases/container_cases/{exec.sh => lcr_exec.sh} (97%) + rename CI/test_cases/container_cases/{bigdata_stream_runc.sh => runc_bigdata_stream.sh} (100%) + rename CI/test_cases/container_cases/{exec_runc.sh => runc_exec.sh} (100%) + +diff --git a/CI/test_cases/container_cases/cni_test.sh b/CI/test_cases/container_cases/cni_test.sh +index bbc381dd..114cf2a3 100755 +--- a/CI/test_cases/container_cases/cni_test.sh ++++ b/CI/test_cases/container_cases/cni_test.sh +@@ -37,6 +37,10 @@ function do_post() + start_isulad_with_valgrind + } + ++# $1: pod runtime; ++# $2: pod config; ++# $3: eth0 ip; ++# $4: eth1 ip; + function do_test_help() + { + msg_info "this is $0 do_test" +@@ -53,7 +57,7 @@ function do_test_help() + TC_RET_T=$(($TC_RET_T+1)) + fi + +- sid=`crictl runp ${data_path}/$1` ++ sid=`crictl runp --runtime $1 ${data_path}/$2` + if [ $? -ne 0 ]; then + msg_err "Failed to run sandbox" + TC_RET_T=$(($TC_RET_T+1)) +@@ -61,7 +65,7 @@ function do_test_help() + + cnt=`ls /var/lib/cni/results/* | wc -l` + target_cnt=1 +- if [ "x$3" != "x" ];then ++ if [ "x$4" != "x" ];then + target_cnt=2 + fi + +@@ -77,7 +81,7 @@ function do_test_help() + TC_RET_T=$(($TC_RET_T+1)) + fi + +- cid=`crictl create $sid ${data_path}/container-config.json ${data_path}/$1` ++ cid=`crictl create $sid ${data_path}/container-config.json ${data_path}/$2` + if [ $? -ne 0 ];then + msg_err "create container failed" + TC_RET_T=$(($TC_RET_T+1)) +@@ -107,29 +111,29 @@ function do_test_help() + nsenter -t $con_pid -n ifconfig eth0 + TC_RET_T=$(($TC_RET_T+1)) + fi +- nsenter -t $pod_pid -n ifconfig eth0 | grep "$2" ++ nsenter -t $pod_pid -n ifconfig eth0 | grep "$3" + if [ $? -ne 0 ];then +- msg_err "expect ip: $1, get: " ++ msg_err "expect ip: $3, get: " + nsenter -t $pod_pid -n ifconfig eth0 + TC_RET_T=$(($TC_RET_T+1)) + fi +- crictl inspectp $sid | grep "$2" ++ crictl inspectp $sid | grep "$3" + if [ $? -ne 0 ];then +- msg_err "inspectp: expect ip: $1, get: " ++ msg_err "inspectp: expect ip: $3, get: " + crictl inspectp $sid + TC_RET_T=$(($TC_RET_T+1)) + fi + +- if [ "x$3" != "x" ];then +- nsenter -t $pod_pid -n ifconfig eth1 | grep "$3" ++ if [ "x$4" != "x" ];then ++ nsenter -t $pod_pid -n ifconfig eth1 | grep "$4" + if [ $? -ne 0 ];then +- msg_err "expect ip: $2, get: " ++ msg_err "expect ip: $4, get: " + nsenter -t $pod_pid -n ifconfig eth1 + TC_RET_T=$(($TC_RET_T+1)) + fi +- crictl inspectp $sid | grep "$3" ++ crictl inspectp $sid | grep "$4" + if [ $? -ne 0 ];then +- msg_err "inspectp expect ip: $2, get: " ++ msg_err "inspectp expect ip: $4, get: " + crictl inspectp $sid + TC_RET_T=$(($TC_RET_T+1)) + fi +@@ -170,7 +174,7 @@ function do_test_help() + + function default_cni_config() + { +- do_test_help "sandbox-config.json" "10\.1\." ++ do_test_help $1 "sandbox-config.json" "10\.1\." + } + + function new_cni_config() +@@ -189,12 +193,12 @@ function new_cni_config() + fi + done + tail $ISUALD_LOG +- do_test_help "mutlnet_pod.json" "10\.2\." "10\.1\." ++ do_test_help $1 "mutlnet_pod.json" "10\.2\." "10\.1\." + } + + function check_annotation_extension() + { +- sid=`crictl runp ${data_path}/sandbox-config.json` ++ sid=`crictl runp --runtime $1 ${data_path}/sandbox-config.json` + if [ $? -ne 0 ]; then + msg_err "Failed to run sandbox" + TC_RET_T=$(($TC_RET_T+1)) +@@ -253,7 +257,7 @@ function check_rollback() + done + tail $ISUALD_LOG + +- crictl runp ${data_path}/mutl_wrong_net_pod.json ++ crictl runp --runtime $1 ${data_path}/mutl_wrong_net_pod.json + if [ $? -eq 0 ]; then + msg_err "Run sandbox success with invalid cni configs" + TC_RET_T=$(($TC_RET_T+1)) +@@ -302,13 +306,14 @@ function check_rollback() + # $2: expect ingress rate; + # $3: input egress rate; + # $4: expect egress rate; ++# $5: pod runtime; + function check_annotation_valid_bandwidth() + { + rm bandwidth.json + cp ${data_path}/mock_sandbox.json bandwidth.json + sed -i "s#ingressholder#$1#g" bandwidth.json + sed -i "s#engressholder#$3#g" bandwidth.json +- sid=`crictl runp bandwidth.json` ++ sid=`crictl runp --runtime $5 bandwidth.json` + if [ $? -ne 0 ]; then + msg_err "Failed to run sandbox" + TC_RET_T=$(($TC_RET_T+1)) +@@ -345,6 +350,7 @@ function check_annotation_valid_bandwidth() + return $TC_RET_T + } + ++# function not called + function check_annotation_invalid_bandwidth() + { + rm bandwidth.json +@@ -386,44 +392,51 @@ function check_annotation() + done + tail $ISUALD_LOG + +- check_annotation_extension ++ check_annotation_extension $1 + +- check_annotation_valid_bandwidth "10.24k" "10240" "-1.024k" "-1024" +- check_annotation_valid_bandwidth "1024m" "2" "-1024m" "-1" +- check_annotation_valid_bandwidth "1.000001Ki" "1025" "-1.00001Ki" "-1024" +- check_annotation_valid_bandwidth "0.1Mi" "104858" "-0.01Mi" "-10485" +- check_annotation_valid_bandwidth "1.00001e2" "101" "-1.0001e2" "-100" ++ check_annotation_valid_bandwidth "10.24k" "10240" "-1.024k" "-1024" $1 ++ check_annotation_valid_bandwidth "1024m" "2" "-1024m" "-1" $1 ++ check_annotation_valid_bandwidth "1.000001Ki" "1025" "-1.00001Ki" "-1024" $1 ++ check_annotation_valid_bandwidth "0.1Mi" "104858" "-0.01Mi" "-10485" $1 ++ check_annotation_valid_bandwidth "1.00001e2" "101" "-1.0001e2" "-100" $1 + + return $TC_RET_T + } + +-ret=0 ++function do_test_t() ++{ ++ local ret=0 ++ local runtime=$1 ++ local test="cni_test => (${runtime})" ++ msg_info "${test} starting..." ++ ++ default_cni_config $runtime || ((ret++)) ++ ++ new_cni_config $runtime || ((ret++)) ++ ++ check_annotation $runtime || ((ret++)) + +-do_pre +-if [ $? -ne 0 ];then +- let "ret=$ret + 1" +-fi ++ check_rollback $runtime || ((ret++)) + +-default_cni_config +-if [ $? -ne 0 ];then +- let "ret=$ret + 1" +-fi ++ msg_info "${test} finished with return ${ret}..." + +-new_cni_config +-if [ $? -ne 0 ];then +- let "ret=$ret + 1" +-fi ++ return $ret ++} + +-check_annotation +-if [ $? -ne 0 ];then +- let "ret=$ret + 1" +-fi ++ret=0 + +-check_rollback +-if [ $? -ne 0 ];then +- let "ret=$ret + 1" +-fi ++for element in ${RUNTIME_LIST[@]}; ++do ++ do_pre ++ if [ $? -ne 0 ];then ++ let "ret=$ret + 1" ++ fi + +-do_post ++ do_test_t $element ++ if [ $? -ne 0 ];then ++ let "ret=$ret + 1" ++ fi ++ do_post ++done + + show_result $ret "cni base test" +diff --git a/CI/test_cases/container_cases/exec_additional_gids.sh b/CI/test_cases/container_cases/exec_additional_gids.sh +index f24678d3..2edfd750 100755 +--- a/CI/test_cases/container_cases/exec_additional_gids.sh ++++ b/CI/test_cases/container_cases/exec_additional_gids.sh +@@ -22,7 +22,6 @@ + curr_path=$(dirname $(readlink -f "$0")) + data_path=$(realpath $curr_path/../data) + source ../helpers.sh +-test="exec additional gids test => test_exec_additional_gids" + test_log=$(mktemp /tmp/additional_gids_test_XXX) + + USERNAME="user" +@@ -37,10 +36,14 @@ file_info="Keep it secret, keep it safe" + function additional_gids_test() + { + local ret=0 ++ local runtime=$1 ++ test="exec additional gids test => test_exec_additional_gids => $runtime" ++ ++ msg_info "${test} starting..." + + isula rm -f `isula ps -a -q` + +- isula run -tid -n $cont_name ubuntu bash ++ isula run -tid --runtime $runtime -n $cont_name ubuntu bash + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run container" && ((ret++)) + + isula exec $cont_name bash -c "groupadd --gid $USER_GID $USERNAME \ +@@ -52,10 +55,13 @@ function additional_gids_test() + && chmod 606 /app/sekrit.txt" + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - create user and group failed" && ((ret++)) + ++ # runc is not support exec --workdir + /usr/bin/expect <<- EOF > ${test_log} 2>&1 + set timeout 10 +-spawn isula exec -it --workdir /app -u $USERNAME $cont_name bash ++spawn isula exec -it -u $USERNAME $cont_name bash + expect "${USERNAME}*" ++send "cd /app\n" ++expect "*" + send "newgrp ${ADDITIONAL_GROUP}\n" + expect "*" + send "groups\n" +@@ -75,18 +81,18 @@ EOF + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - read error message failed" && ((ret++)) + + isula rm -f `isula ps -a -q` ++ rm -rf ${test_log} ++ ++ msg_info "${test} finished with return ${ret}..." + + return ${ret} + } + + declare -i ans=0 + +-msg_info "${test} starting..." +- +-additional_gids_test || ((ans++)) +- +-rm -rf ${test_log} +- +-msg_info "${test} finished with return ${ret}..." ++for element in ${RUNTIME_LIST[@]}; ++do ++ additional_gids_test $element || ((ans++)) ++done + + show_result ${ans} "${curr_path}/${0}" +diff --git a/CI/test_cases/container_cases/export.sh b/CI/test_cases/container_cases/export.sh +index eeef2809..1cff873d 100755 +--- a/CI/test_cases/container_cases/export.sh ++++ b/CI/test_cases/container_cases/export.sh +@@ -26,7 +26,8 @@ function test_image_export() + { + local ret=0 + local image="busybox" +- local test="export container test => (${FUNCNAME[@]})" ++ local runtime=$1 ++ local test="export container test => (${FUNCNAME[@]}) => $runtime" + + msg_info "${test} starting..." + +@@ -36,7 +37,7 @@ function test_image_export() + isula images | grep busybox + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++)) + +- CONT=`isula run -itd busybox` ++ CONT=`isula run --runtime $runtime -itd busybox` + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run container with image: ${image}" && ((ret++)) + + isula export -o export.tar ${CONT} +@@ -55,6 +56,9 @@ function test_image_export() + + declare -i ans=0 + +-test_image_export || ((ans++)) ++for element in ${RUNTIME_LIST[@]}; ++do ++ test_image_export $element || ((ans++)) ++done + + show_result ${ans} "${curr_path}/${0}" +diff --git a/CI/test_cases/container_cases/hook_ignore_poststart_error.sh b/CI/test_cases/container_cases/hook_ignore_poststart_error.sh +index 5c86a4c1..8c636f7e 100755 +--- a/CI/test_cases/container_cases/hook_ignore_poststart_error.sh ++++ b/CI/test_cases/container_cases/hook_ignore_poststart_error.sh +@@ -28,7 +28,8 @@ function test_hook_ignore_poststart_error_spec() + { + local ret=0 + local image="busybox" +- local test="container hook test => (${FUNCNAME[@]})" ++ local runtime=$1 ++ local test="container hook test => (${FUNCNAME[@]}) => $runtime" + CONT=test_hook_spec + cp ${test_data_path}/poststart.sh /tmp/ + +@@ -40,7 +41,7 @@ function test_hook_ignore_poststart_error_spec() + isula images | grep busybox + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++)) + +- isula run -n $CONT -itd --hook-spec ${test_data_path}/oci_hook_poststart_check.json ${image} & ++ isula run -n $CONT -itd --runtime $runtime --hook-spec ${test_data_path}/oci_hook_poststart_check.json ${image} & + + for a in `seq 20` + do +@@ -74,6 +75,9 @@ function test_hook_ignore_poststart_error_spec() + + declare -i ans=0 + +-test_hook_ignore_poststart_error_spec || ((ans++)) ++for element in ${RUNTIME_LIST[@]}; ++do ++ test_hook_ignore_poststart_error_spec $1 || ((ans++)) ++done + + show_result ${ans} "${curr_path}/${0}" +diff --git a/CI/test_cases/container_cases/hook_spec_test.sh b/CI/test_cases/container_cases/hook_spec_test.sh +index c88ed340..33b7c2e5 100755 +--- a/CI/test_cases/container_cases/hook_spec_test.sh ++++ b/CI/test_cases/container_cases/hook_spec_test.sh +@@ -28,7 +28,8 @@ function test_hook_spec() + { + local ret=0 + local image="busybox" +- local test="container hook test => (${FUNCNAME[@]})" ++ local runtime=$1 ++ local test="container hook test => (${FUNCNAME[@]}) => $runtime" + msg_info "${test} starting..." + + isula pull ${image} +@@ -37,7 +38,7 @@ function test_hook_spec() + isula images | grep busybox + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++)) + +- CONT=`isula run -itd --hook-spec ${test_data_path}/test-hookspec.json ${image}` ++ CONT=`isula run -itd --runtime $runtime --hook-spec ${test_data_path}/test-hookspec.json ${image}` + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run container with image: ${image}" && ((ret++)) + + isula stop -t 0 ${CONT} +@@ -51,7 +52,7 @@ function test_hook_spec() + isula run -n $no_permission_container -itd --hook-spec ${test_data_path}/no_permission.json ${image} > $runlog 2>&1 + [[ $? -ne 126 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to check exit code container with image: ${image}" && ((ret++)) + +- cat $runlog | grep "Permission denied" ++ cat $runlog | grep -i "Permission denied" + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to get no_permission output: ${image}" && ((ret++)) + + isula rm -f $no_permission_container +@@ -95,6 +96,9 @@ EOF + + declare -i ans=0 + +-test_hook_spec || ((ans++)) ++for element in ${RUNTIME_LIST[@]}; ++do ++ test_hook_spec $element || ((ans++)) ++done + + show_result ${ans} "${curr_path}/${0}" +diff --git a/CI/test_cases/container_cases/bigdata_stream.sh b/CI/test_cases/container_cases/lcr_bigdata_stream.sh +similarity index 93% +rename from CI/test_cases/container_cases/bigdata_stream.sh +rename to CI/test_cases/container_cases/lcr_bigdata_stream.sh +index 3bfc2d50..c8ecc48a 100755 +--- a/CI/test_cases/container_cases/bigdata_stream.sh ++++ b/CI/test_cases/container_cases/lcr_bigdata_stream.sh +@@ -40,7 +40,7 @@ function set_up() + isula images | grep busybox + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++)) + +- CID=$(isula run -itd ${image} sh) ++ CID=$(isula run --runtime lcr -itd ${image} sh) + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run container with image: ${image}" && ((ret++)) + + isula exec -it $CID dd if=/dev/zero of=test_500M bs=1M count=500 +@@ -389,33 +389,6 @@ function test_stream_with_kill_isulad() + return ${ret} + } + +-function test_stream_with_runc() +-{ +- local ret=0 +- local image="busybox" +- local test="test_stream_with_runc => (${FUNCNAME[@]})" +- msg_info "${test} starting..." +- +- RUNCID=$(isula run -itd --runtime runc ${image} sh) +- isula exec -it $RUNCID dd if=/dev/zero of=test_500M bs=1M count=500 +- [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to create bigdata" && ((ret++)) +- +- isula exec -it $RUNCID cat test_500M > /home/iocopy_stream_data_500M +- [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to cat bigdata" && ((ret++)) +- +- sync && sync +- total_size=$(stat -c"%s" /home/iocopy_stream_data_500M) +- [[ $total_size -ne 524288000 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - stream iocopy loss data" && ((ret++)) +- +- isula rm -f $RUNCID +- [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to rm container" && ((ret++)) +- +- rm -rf /home/iocopy_stream_data_500M +- +- msg_info "${test} finished with return ${ret}..." +- return ${ret} +-} +- + function tear_down() + { + local ret=0 +@@ -438,7 +411,7 @@ function test_memory_leak_with_bigdata_stream() + + start_isulad_with_valgrind + +- CID=$(isula run -itd ${image} sh) ++ CID=$(isula run --runtime lcr -itd ${image} sh) + + isula exec -it $CID dd if=/dev/zero of=test_100M bs=1M count=100 + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to create bigdata" && ((ret++)) +@@ -477,7 +450,6 @@ test_stream_with_stop_lxc_monitor || ((ans++)) + test_stream_with_kill_lxc_monitor || ((ans++)) + test_stream_with_stop_isulad || ((ans++)) + test_stream_with_kill_isulad || ((ans++)) +-test_stream_with_runc || ((ans++)) + tear_down || ((ans++)) + + test_memory_leak_with_bigdata_stream || ((ans++)) +diff --git a/CI/test_cases/container_cases/exec.sh b/CI/test_cases/container_cases/lcr_exec.sh +similarity index 97% +rename from CI/test_cases/container_cases/exec.sh +rename to CI/test_cases/container_cases/lcr_exec.sh +index 96ceb884..4f51773d 100755 +--- a/CI/test_cases/container_cases/exec.sh ++++ b/CI/test_cases/container_cases/lcr_exec.sh +@@ -30,7 +30,7 @@ function exec_workdir() + + isula rm -f `isula ps -a -q` + +- isula run -tid -n cont_workdir busybox sh ++ isula run -tid --runtime lcr -n cont_workdir busybox sh + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run container with --workdir" && ((ret++)) + + isula exec -ti --workdir /workdir cont_workdir pwd | grep "/workdir" +diff --git a/CI/test_cases/container_cases/nano_cpus.sh b/CI/test_cases/container_cases/nano_cpus.sh +index c679958d..85223038 100755 +--- a/CI/test_cases/container_cases/nano_cpus.sh ++++ b/CI/test_cases/container_cases/nano_cpus.sh +@@ -26,7 +26,8 @@ function test_cpu_nano_spec() + { + local ret=0 + local image="busybox" +- local test="container blkio nano test => (${FUNCNAME[@]})" ++ local runtime=$1 ++ local test="container blkio nano test => (${FUNCNAME[@]}) => $runtime" + + msg_info "${test} starting..." + +@@ -108,6 +109,9 @@ function test_cpu_nano_spec() + + declare -i ans=0 + +-test_cpu_nano_spec || ((ans++)) ++for element in ${RUNTIME_LIST[@]}; ++do ++ test_cpu_nano_spec $element || ((ans++)) ++done + + show_result ${ans} "${curr_path}/${0}" +diff --git a/CI/test_cases/container_cases/restart.sh b/CI/test_cases/container_cases/restart.sh +index 5902af06..fddee1f7 100755 +--- a/CI/test_cases/container_cases/restart.sh ++++ b/CI/test_cases/container_cases/restart.sh +@@ -26,7 +26,8 @@ source ../helpers.sh + function do_test_t() + { + containername=test_restart +- isula run --name $containername -td busybox ++ ++ isula run --runtime $1 --name $containername -td busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -46,9 +47,12 @@ function do_test_t() + + ret=0 + +-do_test_t +-if [ $? -ne 0 ];then +- let "ret=$ret + 1" +-fi ++for element in ${RUNTIME_LIST[@]}; ++do ++ do_test_t $element ++ if [ $? -ne 0 ];then ++ let "ret=$ret + 1" ++ fi ++done + + show_result $ret "basic restart" +diff --git a/CI/test_cases/container_cases/run.sh b/CI/test_cases/container_cases/run.sh +index ad449402..8ea3e514 100755 +--- a/CI/test_cases/container_cases/run.sh ++++ b/CI/test_cases/container_cases/run.sh +@@ -25,7 +25,7 @@ source ../helpers.sh + + function do_test_t() + { +- tid=`isula run -tid --name hostname busybox` ++ tid=`isula run --runtime $1 -tid --name hostname busybox` + chostname=`isula exec -it $tid hostname` + fn_check_eq "$chostname" "${tid:0:12}" "default hostname is id of container" + isula exec -it hostname env | grep HOSTNAME +@@ -37,7 +37,7 @@ function do_test_t() + containername=test_basic_run + containername2=container_to_join + +- isula run --name $containername -td busybox ++ isula run --runtime $1 --name $containername -td busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -48,7 +48,7 @@ function do_test_t() + isula rm $containername + fn_check_eq "$?" "0" "rm failed" + +- isula run --name $containername -td -v /dev/shm:/dev/shm busybox ++ isula run --runtime $1 --name $containername -td -v /dev/shm:/dev/shm busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -61,7 +61,7 @@ function do_test_t() + + echo AA > /tmp/test_run_env + +- isula run --name $containername -itd --user 100:100 -e AAA=BB -e BAA --env-file /tmp/test_run_env busybox ++ isula run --runtime $1 --name $containername -itd --user 100:100 -e AAA=BB -e BAA --env-file /tmp/test_run_env busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -72,18 +72,21 @@ function do_test_t() + isula rm $containername + fn_check_eq "$?" "0" "rm failed" + +- isula run --name $containername -itd --external-rootfs / --read-only none sh +- fn_check_eq "$?" "0" "run container with host rootfs failed" +- testcontainer $containername running ++ # runc directly uses the root directory as external rootfs and will report the error pivot_root .: device or resource busy ++ if [ $runtime == "lcr" ]; then ++ isula run --runtime $1 --name $containername -itd --external-rootfs / --read-only none sh ++ fn_check_eq "$?" "0" "run container with host rootfs failed" ++ testcontainer $containername running + +- isula stop -t 0 $containername +- fn_check_eq "$?" "0" "stop failed" +- testcontainer $containername exited ++ isula stop -t 0 $containername ++ fn_check_eq "$?" "0" "stop failed" ++ testcontainer $containername exited + +- isula rm $containername +- fn_check_eq "$?" "0" "rm failed" ++ isula rm $containername ++ fn_check_eq "$?" "0" "rm failed" ++ fi + +- isula run --name $containername -itd --net=host --pid=host --ipc=host --uts=host busybox ++ isula run --runtime $1 --name $containername -itd --net=host --pid=host --ipc=host --uts=host busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -94,7 +97,7 @@ function do_test_t() + isula rm $containername + fn_check_eq "$?" "0" "rm failed" + +- isula run --name $containername -itd --net=none --pid=none --ipc=none --uts=none busybox ++ isula run --runtime $1 --name $containername -itd --net=none --pid=none --ipc=none --uts=none busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -105,11 +108,11 @@ function do_test_t() + isula rm $containername + fn_check_eq "$?" "0" "rm failed" + +- isula run --name $containername2 -itd busybox ++ isula run --runtime $1 --name $containername2 -itd busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername2 running + +- isula run --name $containername -itd --net=container:$containername2 --pid=container:$containername2 --ipc=container:$containername2 --uts=container:$containername2 busybox ++ isula run --runtime $1 --name $containername -itd --net=container:$containername2 --pid=container:$containername2 --ipc=container:$containername2 --uts=container:$containername2 busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -135,7 +138,7 @@ function do_run_remote_test_t() + local ret=0 + local image="busybox" + local config='tcp://127.0.0.1:2890' +- local test="container start with --attach remote test => (${FUNCNAME[@]})" ++ local test="container start with --attach remote test => (${FUNCNAME[@]}) => $1" + + check_valgrind_log + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - stop isulad failed" && ((ret++)) +@@ -144,13 +147,13 @@ function do_run_remote_test_t() + + containername=run_remote + +- isula run -ti -H "$config" --name $containername busybox xxx ++ isula run --runtime $1 -ti -H "$config" --name $containername busybox xxx + [[ $? -eq 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed check invalid run ${containername} remote" && ((ret++)) + testcontainer $containername exited + isula rm -f -H "$config" $containername + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to rm container remote" && ((ret++)) + +- isula run -ti -H "$config" --name $containername busybox /bin/sh -c 'echo "hello"' | grep hello ++ isula run --runtime $1 -ti -H "$config" --name $containername busybox /bin/sh -c 'echo "hello"' | grep hello + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run ${containername} remote" && ((ret++)) + testcontainer $containername exited + +@@ -169,8 +172,10 @@ function do_run_remote_test_t() + + declare -i ans=0 + +-do_test_t || ((ans++)) +- +-do_run_remote_test_t || ((ans++)) ++for element in ${RUNTIME_LIST[@]}; ++do ++ do_test_t $element || ((ans++)) ++ do_run_remote_test_t $element || ((ans++)) ++done + + show_result ${ans} "${curr_path}/${0}" +diff --git a/CI/test_cases/container_cases/bigdata_stream_runc.sh b/CI/test_cases/container_cases/runc_bigdata_stream.sh +similarity index 100% +rename from CI/test_cases/container_cases/bigdata_stream_runc.sh +rename to CI/test_cases/container_cases/runc_bigdata_stream.sh +diff --git a/CI/test_cases/container_cases/exec_runc.sh b/CI/test_cases/container_cases/runc_exec.sh +similarity index 100% +rename from CI/test_cases/container_cases/exec_runc.sh +rename to CI/test_cases/container_cases/runc_exec.sh +diff --git a/CI/test_cases/container_cases/seccomp.sh b/CI/test_cases/container_cases/seccomp.sh +index 9e886d10..3cb08d84 100755 +--- a/CI/test_cases/container_cases/seccomp.sh ++++ b/CI/test_cases/container_cases/seccomp.sh +@@ -39,8 +39,9 @@ function do_pre() { + + function do_test() { + local ret=0 +- +- msg_info "this is $0 do_test" ++ local runtime=$1 ++ local test="seccomp test => (${runtime})" ++ msg_info "${test} starting..." + + cid1=$(isula run -tid --security-opt seccomp=/etc/isulad/seccomp_default.json busybox sh) + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - Failed to run container with the default seccomp profile" && ((ret++)) +@@ -52,7 +53,7 @@ function do_test() { + --security-opt seccomp=${test_data_path}/seccomp_profile_without_archmap.json busybox sh) + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - Failed to run container with multiple seccomp profiles" && ((ret++)) + +- isula stop "${cid1}" "${cid2}" "${cid3}" ++ isula stop -t 0 "${cid1}" "${cid2}" "${cid3}" + + isula rm -f $(isula ps -qa) + +@@ -69,7 +70,10 @@ declare -i ans=0 + + do_pre || ((ans++)) + +-do_test || ((ans++)) ++for element in ${RUNTIME_LIST[@]}; ++do ++ do_test $element || ((ans++)) ++done + + do_post + +diff --git a/CI/test_cases/container_cases/stop.sh b/CI/test_cases/container_cases/stop.sh +index 962e72f3..13292710 100755 +--- a/CI/test_cases/container_cases/stop.sh ++++ b/CI/test_cases/container_cases/stop.sh +@@ -25,8 +25,12 @@ source ../helpers.sh + + function do_test_t() + { ++ local runtime=$1 ++ local test="start_test => (${runtime})" ++ msg_info "${test} starting..." ++ + containername=test_stop +- isula run --name $containername -td busybox ++ isula run --runtime $runtime --name $containername -td busybox + fn_check_eq "$?" "0" "run failed" + testcontainer $containername running + +@@ -61,14 +65,19 @@ function do_test_t() + isula rm $containername + fn_check_eq "$?" "0" "rm failed" + ++ msg_info "${test} finished with return ${ret}..." ++ + return $TC_RET_T + } + + ret=0 + +-do_test_t +-if [ $? -ne 0 ];then +- let "ret=$ret + 1" +-fi ++for element in ${RUNTIME_LIST[@]}; ++do ++ do_test_t $element ++ if [ $? -ne 0 ];then ++ let "ret=$ret + 1" ++ fi ++done + + show_result $ret "basic stop" +diff --git a/CI/test_cases/critest.sh b/CI/test_cases/critest.sh +index 044ce2ed..f8d4975e 100755 +--- a/CI/test_cases/critest.sh ++++ b/CI/test_cases/critest.sh +@@ -130,7 +130,7 @@ function test_critest() { + function do_test_t() { + local ret=0 + +- local runtime="lcr" ++ local runtime="runc" + local test="critest => $runtime" + msg_info "${test} starting..." + echo "${test}" >> ${testcase_data}/critest.log +@@ -143,11 +143,11 @@ function do_test_t() { + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - stop isulad failed" && ((ret++)) + + # replace default runtime +- sed -i 's/"default-runtime": "lcr"/"default-runtime": "runc"/g' /etc/isulad/daemon.json ++ sed -i 's/"default-runtime": "runc"/"default-runtime": "lcr"/g' /etc/isulad/daemon.json + start_isulad_without_valgrind --selinux-enabled --network-plugin cni + [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - start isulad with selinux and cni failed" && ((ret++)) + +- runtime=runc ++ runtime=lcr + test="critest => $runtime" + msg_info "${test} starting..." + echo "${test}" >> ${testcase_data}/critest.log +-- +2.42.0 + |