aboutsummaryrefslogtreecommitdiff
path: root/tests/ci
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ci')
-rw-r--r--tests/ci/Makefile17
-rw-r--r--tests/ci/tools/ci.conf73
-rwxr-xr-xtests/ci/tools/freebsdci5
3 files changed, 67 insertions, 28 deletions
diff --git a/tests/ci/Makefile b/tests/ci/Makefile
index 48e638fdb79c..30ca34a810be 100644
--- a/tests/ci/Makefile
+++ b/tests/ci/Makefile
@@ -41,6 +41,11 @@ TARGET_ARCH= ${TARGET}
.endif
IMAKE= ${MAKE} TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}
+.if !defined(CIENV) || empty(CIENV)
+CIENV= local
+LOG_TARGET= > ${.CURDIR}/_.${TARGET_ARCH}.${.TARGET} 2>&1 || (echo "${.TARGET} failed, check _.${TARGET_ARCH}.${.TARGET} for details" ; false)
+.endif
+
.if defined(CROSS_TOOLCHAIN) || !empty(CROSS_TOOLCHAIN)
CROSS_TOOLCHAIN_PARAM= "CROSS_TOOLCHAIN=${CROSS_TOOLCHAIN}"
.endif
@@ -73,6 +78,7 @@ CIIMAGE= ci-${OSRELEASE}-${GITREV}-${KERNCONF}.${FORMAT}
CIDISK?= ${.OBJDIR}/${CIIMAGE}
VMSIZE?= 6g
CITYPE?= full
+KYUA_TEST_FILTERS?=
META_TAR!=mktemp /tmp/meta.XXXXXX
META_DIR!=mktemp -d /tmp/meta.XXXXXX
META_DIROUT!=mktemp -d /tmp/meta.XXXXXX
@@ -169,17 +175,14 @@ ci-buildworld: .PHONY
@echo "Building world for ${TARGET_ARCH}"
${IMAKE} -j${PARALLEL_JOBS} -C ${WORLDDIR} ${METAMODE} \
${CROSS_TOOLCHAIN_PARAM} __MAKE_CONF=${MAKECONF} SRCCONF=${SRCCONF} \
- ${EXTRA_MAKE_FLAGS} buildworld > ${.CURDIR}/_.${TARGET_ARCH}.${.TARGET} 2>&1 || \
- (echo "${.TARGET} failed, check _.${TARGET_ARCH}.${.TARGET} for details" ; false)
-
+ ${EXTRA_MAKE_FLAGS} buildworld ${LOG_TARGET}
ci-buildkernel: ci-buildworld-${TARGET_ARCH:tl} .PHONY
@echo "Building kernel for ${TARGET_ARCH}"
${IMAKE} -j${PARALLEL_JOBS} -C ${WORLDDIR} ${METAMODE} \
${CROSS_TOOLCHAIN_PARAM} __MAKE_CONF=${MAKECONF} SRCCONF=${SRCCONF} \
${EXTRA_MAKE_FLAGS} KERNCONF=${KERNCONF} \
- buildkernel > ${.CURDIR}/_.${TARGET_ARCH}.${.TARGET} 2>&1 || \
- (echo "${.TARGET} failed, check _.${TARGET_ARCH}.${.TARGET} for details" ; false)
+ buildkernel ${LOG_TARGET}
ci-buildimage: ${QEMUTGT} ci-buildkernel-${TARGET_ARCH:tl} .PHONY
@echo "Building ci image for ${TARGET_ARCH}"
@@ -189,9 +192,7 @@ ci-buildimage: ${QEMUTGT} ci-buildkernel-${TARGET_ARCH:tl} .PHONY
${RELEASEDIR}/scripts/mk-vmimage.sh \
-C ${RELEASEDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${VMFS} \
-i ${.OBJDIR}/ci.img -s ${VMSIZE} -f ${FORMAT} \
- -S ${WORLDDIR} -o ${.OBJDIR}/${CIIMAGE} -c ${CICONF} \
- > ${.CURDIR}/_.${TARGET_ARCH}.${.TARGET} 2>&1 || \
- (echo "${.TARGET} failed, check _.${TARGET_ARCH}.${.TARGET} for details" ; false)
+ -S ${WORLDDIR} -o ${.OBJDIR}/${CIIMAGE} -c ${CICONF} ${LOG_TARGET}
touch ${.TARGET}
ci-set-smoke-var: .PHONY
diff --git a/tests/ci/tools/ci.conf b/tests/ci/tools/ci.conf
index a9998a3e5373..2302fc479a47 100644
--- a/tests/ci/tools/ci.conf
+++ b/tests/ci/tools/ci.conf
@@ -11,10 +11,32 @@
export VM_RC_LIST="auditd freebsdci"
if [ "${CITYPE}" != "smoke" ]; then
-export VM_EXTRA_PACKAGES="coreutils devel/py-pytest gdb jq ksh93 net/py-dpkt net/scapy nist-kat nmap perl5 python python3 sudo sysutils/porch tcptestsuite"
+export VM_EXTRA_PACKAGES="
+archivers/gtar
+devel/git
+devel/gdb
+devel/py-pytest
+perl5
+lang/python
+lang/python3
+net/isc-dhcp44-server
+net/ndisc6
+net/py-dpkt
+net/scapy
+net/tcptestsuite
+security/nist-kat
+security/nmap
+security/openvpn
+security/sudo
+shells/ksh93
+sysutils/coreutils
+sysutils/porch
+sysutils/sg3_utils
+textproc/jq
+"
if [ "${TARGET}" = "amd64" ]; then
- export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} linux-c7-ltp"
+ export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} devel/linux-ltp"
fi
fi
@@ -39,22 +61,35 @@ test_suites.FreeBSD.disks = '/dev/vtbd2 /dev/vtbd3 /dev/vtbd4 /dev/vtbd5 /dev/vt
EOF
cat << EOF >> ${DESTDIR}/etc/rc.conf
kld_list="" # Load modules needed by tests
-kld_list="${kld_list} blake2" # sys/opencrypto
-kld_list="${kld_list} cryptodev" # sys/opencrypto
-kld_list="${kld_list} dummymbuf" # sys/netpfil
-kld_list="${kld_list} fusefs" # sys/fs/fusefs
-kld_list="${kld_list} ipsec" # sys/netipsec
-kld_list="${kld_list} mac_portacl" # sys/mac/portacl
-kld_list="${kld_list} mqueuefs" # sys/kern/mqueue_test
-kld_list="${kld_list} pfsync" # sys/netpfil/pf (loads pf)
-kld_list="${kld_list} pflog" # sys/netpfil/pf
-kld_list="${kld_list} ipl" # sys/sbin/ipf (loads ipfilter)
-kld_list="${kld_list} ipfw" # sys/netpfil/ipfw (loads ipfw)
-kld_list="${kld_list} ipfw_nat" # sys/netpfil/ipfw (loads ipfw_nat)
-kld_list="${kld_list} ipdivert" # sys/netinet (loads ipdivert)
-kld_list="${kld_list} dummynet" # sys/netpfil/common
-kld_list="${kld_list} carp" # sys/netinet/carp
-kld_list="${kld_list} if_stf" # sys/net/if_stf
+kld_list="\${kld_list} accf_data" # sys/kern/socket_accf
+kld_list="\${kld_list} accf_dns" # sys/kern/socket_accf
+kld_list="\${kld_list} accf_http" # sys/kern/socket_accf
+kld_list="\${kld_list} accf_tls" # sys/kern/socket_accf
+kld_list="\${kld_list} blake2" # sys/opencrypto
+kld_list="\${kld_list} carp" # sys/netinet/carp
+kld_list="\${kld_list} cryptodev" # sys/opencrypto
+kld_list="\${kld_list} dummymbuf" # sys/netpfil
+kld_list="\${kld_list} dummynet" # sys/netpfil/common
+kld_list="\${kld_list} fusefs" # sys/fs/fusefs
+kld_list="\${kld_list} if_bridge" # sys/net/if_bridge_test
+kld_list="\${kld_list} if_enc" # sys/netpfil/pf
+kld_list="\${kld_list} if_epair" # sys/net/if_epair_test
+kld_list="\${kld_list} if_ovpn" # sys/net/if_ovpn
+kld_list="\${kld_list} if_stf" # sys/net/if_stf
+kld_list="\${kld_list} ipdivert" # sys/netinet (loads ipdivert)
+kld_list="\${kld_list} ipfw" # sys/netpfil/ipfw (loads ipfw)
+kld_list="\${kld_list} ipfw_nat" # sys/netpfil/ipfw (loads ipfw_nat)
+kld_list="\${kld_list} ipl" # sys/sbin/ipf (loads ipfilter)
+kld_list="\${kld_list} ipsec" # sys/netipsec
+kld_list="\${kld_list} mac_portacl" # sys/mac/portacl
+kld_list="\${kld_list} mqueuefs" # sys/kern/mqueue_test
+kld_list="\${kld_list} pf" # sys/netpfil/pf
+kld_list="\${kld_list} pflog" # sys/netpfil/pf
+kld_list="\${kld_list} pflow" # sys/netpfil/pf
+kld_list="\${kld_list} pfsync" # sys/netpfil/pf (loads pf)
+kld_list="\${kld_list} sctp" # sys/netpfil/pf
+kld_list="\${kld_list} tarfs" # sys/fs/tarfs
+kld_list="\${kld_list} tcpmd5" # sys/netinet
background_fsck="NO"
sendmail_enable="NONE"
cron_enable="NO"
@@ -68,6 +103,7 @@ EOF
elif [ "${CITYPE}" = "full" ]; then
cat << EOF >> ${DESTDIR}/etc/rc.conf
freebsdci_type="full"
+freebsdci_test_filters="${KYUA_TEST_FILTERS}"
EOF
fi
cat << EOF >> ${DESTDIR}/etc/sysctl.conf
@@ -83,7 +119,6 @@ fdesc /dev/fd fdescfs rw 0 0
EOF
mkdir -p ${DESTDIR}/usr/local/etc/rc.d
cp -p ${scriptdir}/../../tests/ci/tools/freebsdci ${DESTDIR}/usr/local/etc/rc.d/
- touch ${DESTDIR}/firstboot
return 0
}
diff --git a/tests/ci/tools/freebsdci b/tests/ci/tools/freebsdci
index 51bd19e2967d..42c565a45055 100755
--- a/tests/ci/tools/freebsdci
+++ b/tests/ci/tools/freebsdci
@@ -39,6 +39,7 @@ istar=$(file -s ${tardev} | grep "POSIX tar archive" | wc -l)
load_rc_config $name
: ${freebsdci_enable:="NO"}
: ${freebsdci_type:="full"}
+: ${freebsdci_test_filters:=""}
PATH="${PATH}:/usr/local/sbin:/usr/local/bin"
auto_shutdown()
@@ -77,7 +78,9 @@ full_tests()
tar xvf ${tardev} -C ${metadir}
cd /usr/tests
set +e
- kyua -v parallelism=${parallelism} test
+ kyua \
+ -v parallelism=${parallelism} \
+ test ${freebsdci_test_filters}
rc=$?
set -e
if [ ${rc} -ne 0 ] && [ ${rc} -ne 1 ]; then