xref: /spdk/autobuild.sh (revision 3a162b19e3168db056f876f195beed09b5d1d235)
1a65aafd0SDaniel Verkamp#!/usr/bin/env bash
2eb53c232Spaul luse#  SPDX-License-Identifier: BSD-3-Clause
3eb53c232Spaul luse#  Copyright (C) 2015 Intel Corporation
4eb53c232Spaul luse#  All rights reserved.
5eb53c232Spaul luse#
6a65aafd0SDaniel Verkamp
7a74675deSSeth Howellrootdir=$(readlink -f $(dirname $0))
8a65aafd0SDaniel Verkamp
94eb8f5b4SMichal Bergersource "$rootdir/test/common/autobuild_common.sh"
10ae730042SMichal Berger
112bd4ba6eSMichal BergerSPDK_TEST_AUTOBUILD=${SPDK_TEST_AUTOBUILD:-}
12a74675deSSeth Howellumask 022
1384b8f0ccSDaniel Verkampcd $rootdir
14a65aafd0SDaniel Verkamp
15a74675deSSeth Howell# Print some test system info out for the log
168d4aaa2dSDaniel Verkampdate -u
178d4aaa2dSDaniel Verkampgit describe --tags
1806070794SSeth Howell
19c29666a1SSeth Howellif [ $SPDK_RUN_ASAN -eq 1 ]; then
20c29666a1SSeth Howell	run_test "asan" echo "using asan"
21c29666a1SSeth Howellfi
22c29666a1SSeth Howell
23c29666a1SSeth Howellif [ $SPDK_RUN_UBSAN -eq 1 ]; then
24c29666a1SSeth Howell	run_test "ubsan" echo "using ubsan"
25c29666a1SSeth Howellfi
26c29666a1SSeth Howell
2730116833SDarek Stojaczykif [ -n "$SPDK_TEST_NATIVE_DPDK" ]; then
2858ac71a4SMichal Berger	build_native_dpdk
2930116833SDarek Stojaczykfi
3030116833SDarek Stojaczyk
312bd4ba6eSMichal Bergercase "$SPDK_TEST_AUTOBUILD" in
322bd4ba6eSMichal Berger	full)
33de95290cSwanghailiangx		$rootdir/configure $config_params
3430116833SDarek Stojaczyk		echo "** START ** Info for Hostname: $HOSTNAME"
3530116833SDarek Stojaczyk		uname -a
3630116833SDarek Stojaczyk		$MAKE cc_version
3730116833SDarek Stojaczyk		$MAKE cxx_version
3830116833SDarek Stojaczyk		echo "** END ** Info for Hostname: $HOSTNAME"
392bd4ba6eSMichal Berger		;;
402bd4ba6eSMichal Berger	ext | tiny | "") ;;
412bd4ba6eSMichal Berger	*)
422bd4ba6eSMichal Berger		echo "ERROR: supported values for SPDK_TEST_AUTOBUILD are 'full', 'tiny' and 'ext'"
43f658f463SPawel Piatek		exit 1
442bd4ba6eSMichal Berger		;;
452bd4ba6eSMichal Bergeresac
4630116833SDarek Stojaczyk
473a53213fSMichal Bergerif [[ $SPDK_TEST_OCF -eq 1 ]]; then
4858ac71a4SMichal Berger	ocf_precompile
493a53213fSMichal Bergerfi
503a53213fSMichal Berger
5159a0d2c6SJun Wenif [[ $SPDK_TEST_FUZZER -eq 1 ]]; then
5258ac71a4SMichal Berger	llvm_precompile
5359a0d2c6SJun Wenfi
5459a0d2c6SJun Wen
55f658f463SPawel Piatekif [[ -n $SPDK_TEST_AUTOBUILD ]]; then
5658ac71a4SMichal Berger	autobuild_test_suite
57274f52b5SMichal Bergerelif [[ $SPDK_TEST_UNITTEST -eq 1 ]]; then
5858ac71a4SMichal Berger	unittest_build
593a53213fSMichal Bergerelif [[ $SPDK_TEST_SCANBUILD -eq 1 ]]; then
6058ac71a4SMichal Berger	scanbuild_make
61095c690eSDaniel Verkampelse
6259a0d2c6SJun Wen	if [[ $SPDK_TEST_FUZZER -eq 1 ]]; then
6359a0d2c6SJun Wen		# if we are testing nvmf fuzz with llvm lib, --with-shared will cause lib link fail
64de95290cSwanghailiangx		$rootdir/configure $config_params
6559a0d2c6SJun Wen	else
6640d20acbSSeth Howell		# if we aren't testing the unittests, build with shared objects.
67de95290cSwanghailiangx		$rootdir/configure $config_params --with-shared
6859a0d2c6SJun Wen	fi
69*3a162b19SMichal Berger	# shellcheck disable=SC2031
708e90ee66SSeth Howell	run_test "make" $MAKE $MAKEFLAGS
71095c690eSDaniel Verkampfi
72