Path: blob/main/jobs/FreeBSD-main-amd64-test_tcptestsuite/build.sh
1130 views
#!/bin/sh12export TARGET=amd643export TARGET_ARCH=amd6445# modified freebsd-ci/scripts/test/run-tests.sh:67SSL_CA_CERT_FILE=/usr/local/share/certs/ca-root-nss.crt89if [ -z "${GIT_COMMIT}" ]; then10echo "No git commit id specified"11exit 112fi1314ARTIFACT_SERVER=${ARTIFACT_SERVER:-artifact.ci.freebsd.org}15ARTIFACT_SUBDIR=snapshot/${FBSD_BRANCH}/${GIT_COMMIT}/${TARGET}/${TARGET_ARCH}16IMG_NAME=disk-test.img17JOB_DIR=freebsd-ci/jobs/${JOB_NAME}18TEST_BASE=freebsd-ci/scripts/test1920TIMEOUT_MS=${BUILD_TIMEOUT:-5400000}21TIMEOUT=$((${TIMEOUT_MS} / 1000))22TIMEOUT_EXPECT=$((${TIMEOUT} - 60))23TIMEOUT_VM=$((${TIMEOUT_EXPECT} - 120))2425EXTRA_DISK_NUM=526EXTRA_DISK_SIZE=8G27BHYVE_EXTRA_DISK_PARAM=""2829METADIR=meta30METAOUTDIR=meta-out3132TEST_VM_MEMORY=8192m3334fetch https://${ARTIFACT_SERVER}/${ARTIFACT_SUBDIR}/${IMG_NAME}.zst35zstd --rm -fd ${IMG_NAME}.zst3637for i in `jot ${EXTRA_DISK_NUM}`; do38truncate -s ${EXTRA_DISK_SIZE} disk${i}39BHYVE_EXTRA_DISK_PARAM="${BHYVE_EXTRA_DISK_PARAM} -s $((i + 3)):0,virtio-blk,disk${i}"40done4142DISK_TMP=disktmp43truncate -s 32G ${DISK_TMP}44BHYVE_EXTRA_DISK_PARAM="${BHYVE_EXTRA_DISK_PARAM} -s $((${EXTRA_DISK_NUM} + 4)):0,virtio-blk,${DISK_TMP}"4546# prepare meta disk to pass information to testvm47rm -fr ${METADIR}48mkdir ${METADIR}49cp -R ${JOB_DIR}/${METADIR}/ ${METADIR}/50for i in ${USE_TEST_SUBR}; do51cp ${TEST_BASE}/subr/${i} ${METADIR}/52done53touch ${METADIR}/auto-shutdown54sh -ex ${TEST_BASE}/create-meta.sh5556# run test VM image with bhyve57FBSD_BRANCH_SHORT=`echo ${FBSD_BRANCH} | sed -e 's,.*-,,'`58TEST_VM_NAME="testvm-${FBSD_BRANCH_SHORT}-${TARGET_ARCH}-${BUILD_NUMBER}"59sudo /usr/sbin/bhyvectl --vm=${TEST_VM_NAME} --destroy || true60sudo /usr/sbin/bhyveload -c stdio -m ${TEST_VM_MEMORY} -d ${IMG_NAME} ${TEST_VM_NAME}61set +e62expect -c "set timeout ${TIMEOUT_EXPECT}; \63spawn sudo /usr/bin/timeout -k 60 ${TIMEOUT_VM} /usr/sbin/bhyve \64-c 2 -m ${TEST_VM_MEMORY} -H -P \65-s 0:0,hostbridge \66-s 1:0,lpc \67-s 2:0,virtio-blk,${IMG_NAME} \68-s 3:0,virtio-blk,meta.tar \69${BHYVE_EXTRA_DISK_PARAM} \70-l com1,stdio \71${TEST_VM_NAME}; \72expect { eof }"73rc=$?74echo "bhyve return code = $rc"75sudo /usr/sbin/bhyvectl --vm=${TEST_VM_NAME} --destroy7677# extract test result78sh -ex ${TEST_BASE}/extract-meta.sh79rm -f test-report.*80mv ${METAOUTDIR}/test-report.* .8182for i in `jot ${EXTRA_DISK_NUM}`; do83rm -f disk${i}84done85rm -f ${DISK_TMP}86rm -f ${IMG_NAME}878889