From c0d86490ba53bf9a33f7569dc31c4ec1ba54f073 Mon Sep 17 00:00:00 2001 From: zhongtao Date: Tue, 21 Nov 2023 21:32:08 +0800 Subject: [PATCH 31/64] modify CI for default runtime to runc Signed-off-by: zhongtao --- 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