Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ci
Path: blob/main/jobs/FreeBSD-main-amd64-dtrace_test/build.sh
1130 views
1
#!/bin/sh
2
3
TARGET=amd64
4
TARGET_ARCH=amd64
5
6
SSL_CA_CERT_FILE=/usr/local/share/certs/ca-root-nss.crt
7
8
if [ -z "${GIT_COMMIT}" ]; then
9
echo "No git commit id specified"
10
exit 1
11
fi
12
13
ARTIFACT_SERVER=${ARTIFACT_SERVER:-artifact.ci.freebsd.org}
14
ARTIFACT_SUBDIR=${FBSD_BRANCH}/${GIT_COMMIT}/${TARGET}/${TARGET_ARCH}
15
IMG_NAME=disk-test.img
16
17
fetch https://${ARTIFACT_SERVER}/dtrace-test/${ARTIFACT_SUBDIR}/${IMG_NAME}.zst
18
zstd --rm -fd ${IMG_NAME}.zst
19
20
# run test VM image with bhyve
21
TEST_VM_NAME=test_vm_${EXECUTOR_NUMBER}
22
sudo /usr/sbin/bhyvectl --vm=${TEST_VM_NAME} --destroy || true
23
sudo /usr/sbin/bhyveload -c stdio -m 4096m -d ${IMG_NAME} ${TEST_VM_NAME}
24
set +e
25
expect -c "set timeout 3540; \
26
spawn sudo /usr/bin/timeout -k 60 3420 /usr/sbin/bhyve \
27
-c 2 -m 4096m -H -P \
28
-s 0:0,hostbridge \
29
-s 1:0,lpc \
30
-s 2:0,ahci-hd,${IMG_NAME} \
31
-l com1,stdio \
32
${TEST_VM_NAME}; \
33
expect { eof }"
34
rc=$?
35
echo "bhyve return code = $rc"
36
sudo /usr/sbin/bhyvectl --vm=${TEST_VM_NAME} --destroy
37
38
# extract test result
39
TMP_DIR=`mktemp -d`
40
MD_UNIT=`sudo mdconfig -a -t vnode -f ${IMG_NAME}`
41
sudo mount /dev/${MD_UNIT}p3 ${TMP_DIR}
42
43
rm -f test-report.*
44
cp ${TMP_DIR}/usr/tests/cddl/usr.sbin/dtrace/test-report.* . || true
45
46
sudo umount ${TMP_DIR}
47
sudo mdconfig -d -u ${MD_UNIT}
48
rm -fr ${TMP_DIR}
49
50
rm -f ${IMG_NAME}
51
52