summaryrefslogtreecommitdiffstats
path: root/src/spdk/autopackage.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/spdk/autopackage.sh')
-rwxr-xr-xsrc/spdk/autopackage.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/spdk/autopackage.sh b/src/spdk/autopackage.sh
new file mode 100755
index 000000000..d54d05d55
--- /dev/null
+++ b/src/spdk/autopackage.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+set -xe
+
+# If the configuration of tests is not provided, no tests will be carried out.
+if [[ ! -f $1 ]]; then
+ echo "ERROR: SPDK test configuration not specified"
+ exit 1
+fi
+
+source "$1"
+
+rootdir=$(readlink -f $(dirname $0))
+source "$rootdir/test/common/autotest_common.sh"
+
+out=$PWD
+
+MAKEFLAGS=${MAKEFLAGS:--j16}
+cd $rootdir
+
+timing_enter porcelain_check
+$MAKE clean
+
+if [ $(git status --porcelain --ignore-submodules | wc -l) -ne 0 ]; then
+ echo make clean left the following files:
+ git status --porcelain --ignore-submodules
+ exit 1
+fi
+timing_exit porcelain_check
+
+if [[ $RUN_NIGHTLY -eq 0 ]]; then
+ timing_finish
+ exit 0
+fi
+
+timing_enter build_release
+
+if [ $(uname -s) = Linux ]; then
+ ./configure $(get_config_params) --disable-debug --enable-lto
+else
+ # LTO needs a special compiler to work on BSD.
+ ./configure $(get_config_params) --disable-debug
+fi
+$MAKE ${MAKEFLAGS}
+$MAKE ${MAKEFLAGS} clean
+
+timing_exit build_release
+
+timing_finish