Commit 2f476a63 authored by Seth Howell's avatar Seth Howell Committed by Tomasz Zawadzki
Browse files

autobuild.sh: simplify and unify test suite.



We have added a lot of flags to this script over time to try and shorten
parts of it that take a long time or modify the way we make and
whatnot.

In the test framework today we really have two settings, we either want
to run the entire autobuild package with all the bells and whistles, or
we just want to make the code and get on with the rest of the tests. I
believe this change can save between 1 and 3 minutes on each of the
functional test suites.

Change-Id: I7519e8320aa16b57f09f633f866dc36cb494aa80
Signed-off-by: default avatarSeth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478483


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
parent cbc1e069
Loading
Loading
Loading
Loading
+13 −23
Original line number Diff line number Diff line
@@ -114,6 +114,17 @@ function build_doc {
	rm -rf "$rootdir"/doc/output
}

function autobuild_test_suite {
	run_test "autobuild_check_format" ./scripts/check_format.sh
	run_test "autobuild_check_so_deps" $rootdir/test/make/check_so_deps.sh
	run_test "scanbuild_make" $scanbuild $MAKE $MAKEFLAGS && rm -rf $out/scan-build-tmp || make_fail_cleanup
	run_test "autobuild_generated_files_check" porcelain_check
	run_test "autobuild_header_dependency_check" header_dependency_check
	run_test "autobuild_make_install" $MAKE $MAKEFLAGS install DESTDIR=/tmp/spdk prefix=/usr
	run_test "autobuild_make_uninstall" test_make_uninstall
	run_test "autobuild_build_doc" build_doc
}

if [ $SPDK_RUN_VALGRIND -eq 1 ]; then
	run_test "valgrind" echo "using valgrind"
fi
@@ -126,33 +137,12 @@ if [ $SPDK_RUN_UBSAN -eq 1 ]; then
	run_test "ubsan" echo "using ubsan"
fi

timing_enter autobuild
if [ "$SPDK_TEST_OCF" -eq 1 ]; then
	run_test "autobuild_ocf_precompile" ocf_precompile
fi

if [ $SPDK_RUN_CHECK_FORMAT -eq 1 ]; then
	run_test "autobuild_check_format" ./scripts/check_format.sh
fi

$MAKE $MAKEFLAGS clean
if [ $SPDK_BUILD_SHARED_OBJECT -eq 1 ]; then
	run_test "autobuild_check_so_deps" $rootdir/test/make/check_so_deps.sh
fi

run_test "configure" ./configure $config_params
if [ $SPDK_RUN_SCANBUILD -eq 1 ] && hash scan-build; then
	run_test "scanbuild_make" $scanbuild $MAKE $MAKEFLAGS && rm -rf $out/scan-build-tmp || make_fail_cleanup
if [ "$SPDK_TEST_AUTOBUILD" -eq 1 ]; then
	run_test "autobuild" autobuild_test_suite
else
	run_test "make" $MAKE $MAKEFLAGS
fi

run_test "autobuild_generated_files_check" porcelain_check
run_test "autobuild_header_dependency_check" header_dependency_check
run_test "autobuild_make_install" $MAKE $MAKEFLAGS install DESTDIR=/tmp/spdk prefix=/usr
run_test "autobuild_make_uninstall" test_make_uninstall
if [ $SPDK_BUILD_DOC -eq 1 ] && hash doxygen; then
	run_test "autobuild_build_doc" build_doc
fi

timing_exit autobuild
+1 −3
Original line number Diff line number Diff line
# assign a value of 1 to all of the pertinent tests
SPDK_BUILD_DOC=1
SPDK_RUN_CHECK_FORMAT=1
SPDK_RUN_SCANBUILD=1
SPDK_RUN_VALGRIND=1
SPDK_RUN_FUNCTIONAL_TEST=1
SPDK_TEST_UNITTEST=1
SPDK_TEST_AUTOBUILD=1
SPDK_TEST_ISAL=1
SPDK_TEST_ISCSI=0
SPDK_TEST_ISCSI_INITIATOR=0
+1 −2
Original line number Diff line number Diff line
@@ -49,11 +49,10 @@ export RUN_NIGHTLY_FAILING
: ${SPDK_BUILD_DOC=0}; export SPDK_BUILD_DOC
: ${SPDK_BUILD_PACKAGE=0}; export SPDK_BUILD_PACKAGE
: ${SPDK_BUILD_SHARED_OBJECT=0}; export SPDK_BUILD_SHARED_OBJECT
: ${SPDK_RUN_CHECK_FORMAT=0}; export SPDK_RUN_CHECK_FORMAT
: ${SPDK_RUN_SCANBUILD=0}; export SPDK_RUN_SCANBUILD
: ${SPDK_RUN_VALGRIND=0}; export SPDK_RUN_VALGRIND
: ${SPDK_RUN_FUNCTIONAL_TEST=0}; export SPDK_RUN_FUNCTIONAL_TEST
: ${SPDK_TEST_UNITTEST=0}; export SPDK_TEST_UNITTEST
: ${SPDK_TEST_AUTOBUILD=0}; export SPDK_TEST_AUTOBUILD
: ${SPDK_TEST_ISAL=0}; export SPDK_TEST_ISAL
: ${SPDK_TEST_ISCSI=0}; export SPDK_TEST_ISCSI
: ${SPDK_TEST_ISCSI_INITIATOR=0}; export SPDK_TEST_ISCSI_INITIATOR
+1 −3
Original line number Diff line number Diff line
@@ -639,13 +639,11 @@ wait
if [ ! -e ~/autorun-spdk.conf ]; then
	cat > ~/autorun-spdk.conf << EOF
# assign a value of 1 to all of the pertinent tests
SPDK_BUILD_DOC=1
SPDK_BUILD_SHARED_OBJECT=1
SPDK_RUN_CHECK_FORMAT=1
SPDK_RUN_SCANBUILD=1
SPDK_RUN_VALGRIND=1
SPDK_TEST_CRYPTO=1
SPDK_RUN_FUNCTIONAL_TEST=1
SPDK_TEST_AUTOBUILD=1
SPDK_TEST_UNITTEST=1
SPDK_TEST_ISCSI=1
SPDK_TEST_ISCSI_INITIATOR=1
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ if [ "$SPDK_TEST_OCF" -eq 1 ]; then
	config_params="$config_params --with-ocf=$rootdir/build/ocf.a"
fi

$MAKE $MAKEFLAGS clean
./configure $config_params --with-shared
$MAKE $MAKEFLAGS