hs-test: output docker build command for ci console log
- clean up shellcheck warnings
- rename extras/hs-test/test script
- add -x attribute to compress script for consistancy
Type: test
Change-Id: I5d1a9d16eeaff18562461b1e445e32ac696266d3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
diff --git a/extras/hs-test/Makefile b/extras/hs-test/Makefile
index 07423e5..c51f70b 100644
--- a/extras/hs-test/Makefile
+++ b/extras/hs-test/Makefile
@@ -115,7 +115,7 @@
test: .deps.ok .build.ok
@# '-' ignores the exit status, it is set in compress.sh
@# necessary so gmake won't skip executing the bash script
- @-bash ./test --persist=$(PERSIST) --verbose=$(VERBOSE) \
+ @-bash ./hs_test.sh --persist=$(PERSIST) --verbose=$(VERBOSE) \
--unconfigure=$(UNCONFIGURE) --debug=$(DEBUG) --test=$(TEST) --cpus=$(CPUS) \
--vppsrc=$(VPPSRC) --parallel=$(PARALLEL) --repeat=$(REPEAT)
@bash ./script/compress.sh
@@ -124,14 +124,14 @@
test-debug: .deps.ok .build_debug.ok
@# '-' ignores the exit status, it is set in compress.sh
@# necessary so gmake won't skip executing the bash script
- @-bash ./test --persist=$(PERSIST) --verbose=$(VERBOSE) \
+ @-bash ./hs_test.sh --persist=$(PERSIST) --verbose=$(VERBOSE) \
--unconfigure=$(UNCONFIGURE) --debug=$(DEBUG) --test=$(TEST) --cpus=$(CPUS) \
--vppsrc=$(VPPSRC) --parallel=$(PARALLEL) --repeat=$(REPEAT)
@bash ./script/compress.sh
.PHONY: test-cov
test-cov: .deps.ok .build.cov.ok
- @-bash ./test --persist=$(PERSIST) --verbose=$(VERBOSE) \
+ @-bash ./hs_test.sh --persist=$(PERSIST) --verbose=$(VERBOSE) \
--unconfigure=$(UNCONFIGURE) --debug=$(DEBUG) --test=$(TEST-HS) --cpus=$(CPUS) \
--vppsrc=$(VPPSRC)
@$(MAKE) -C ../.. test-cov-post HS_TEST=1
diff --git a/extras/hs-test/test b/extras/hs-test/hs_test.sh
similarity index 90%
rename from extras/hs-test/test
rename to extras/hs-test/hs_test.sh
index 398e2b3..28df3e5 100644
--- a/extras/hs-test/test
+++ b/extras/hs-test/hs_test.sh
@@ -7,36 +7,34 @@
persist_set=0
unconfigure_set=0
debug_set=0
-vppsrc=
ginkgo_args=
-parallel=
for i in "$@"
do
case "${i}" in
--persist=*)
persist="${i#*=}"
- if [ $persist = "true" ]; then
+ if [ "$persist" = "true" ]; then
args="$args -persist"
persist_set=1
fi
;;
--debug=*)
debug="${i#*=}"
- if [ $debug = "true" ]; then
+ if [ "$debug" = "true" ]; then
args="$args -debug"
debug_set=1
fi
;;
--verbose=*)
verbose="${i#*=}"
- if [ $verbose = "true" ]; then
+ if [ "$verbose" = "true" ]; then
args="$args -verbose"
fi
;;
--unconfigure=*)
unconfigure="${i#*=}"
- if [ $unconfigure = "true" ]; then
+ if [ "$unconfigure" = "true" ]; then
args="$args -unconfigure"
unconfigure_set=1
fi
@@ -49,7 +47,7 @@
;;
--test=*)
tc_name="${i#*=}"
- if [ $tc_name != "all" ]; then
+ if [ "$tc_name" != "all" ]; then
single_test=1
ginkgo_args="$ginkgo_args --focus $tc_name -vv"
args="$args -verbose"
@@ -87,8 +85,8 @@
fi
mkdir -p summary
-
+# shellcheck disable=SC2086
sudo -E go run github.com/onsi/ginkgo/v2/ginkgo --no-color --trace --json-report=summary/report.json $ginkgo_args -- $args
jq -r '.[0] | .SpecReports[] | select((.State == "failed") or (.State == "timedout") or (.State == "panicked")) | select(.Failure != null) | "TestName: \(.LeafNodeText)\nSuite:\n\(.Failure.Location.FileName)\nMessage:\n\(.Failure.Message)\n Full Stack Trace:\n\(.Failure.Location.FullStackTrace)\n"' summary/report.json > summary/failed-summary.log \
- && echo "Summary generated -> summary/failed-summary.log"
\ No newline at end of file
+ && echo "Summary generated -> summary/failed-summary.log"
diff --git a/extras/hs-test/script/build_boringssl.sh b/extras/hs-test/script/build_boringssl.sh
index 441878a..cca4e4a 100755
--- a/extras/hs-test/script/build_boringssl.sh
+++ b/extras/hs-test/script/build_boringssl.sh
@@ -1,4 +1,4 @@
#!/bin/bash
-cd boringssl
+cd boringssl || exit 1
cmake -GNinja -B build
ninja -C build
diff --git a/extras/hs-test/script/build_hst.sh b/extras/hs-test/script/build_hst.sh
index 3b4bc28..f3a8e27 100755
--- a/extras/hs-test/script/build_hst.sh
+++ b/extras/hs-test/script/build_hst.sh
@@ -1,17 +1,17 @@
#!/usr/bin/env bash
-if [ $(lsb_release -is) != Ubuntu ]; then
+if [ "$(lsb_release -is)" != Ubuntu ]; then
echo "Host stack test framework is supported only on Ubuntu"
exit 1
fi
-if [ -z $(which ab) ]; then
+if [ -z "$(which ab)" ]; then
echo "Host stack test framework requires apache2-utils to be installed"
echo "It is recommended to run 'sudo make install-dep'"
exit 1
fi
-if [ -z $(which wrk) ]; then
+if [ -z "$(which wrk)" ]; then
echo "Host stack test framework requires wrk to be installed"
echo "It is recommended to run 'sudo make install-dep'"
exit 1
@@ -28,9 +28,7 @@
fi
echo "Taking build objects from ${VPP_BUILD_ROOT}"
-if [ -z "$UBUNTU_VERSION" ] ; then
- export UBUNTU_VERSION=$(lsb_release -rs)
-fi
+export UBUNTU_VERSION=${UBUNTU_VERSION:-"$(lsb_release -rs)"}
echo "Ubuntu version is set to ${UBUNTU_VERSION}"
export HST_LDPRELOAD=${VPP_BUILD_ROOT}/lib/x86_64-linux-gnu/libvcl_ldpreload.so
@@ -57,12 +55,14 @@
docker_build () {
tag=$1
dockername=$2
+ set -x
docker build --build-arg UBUNTU_VERSION \
- --build-arg http_proxy=$HTTP_PROXY \
- --build-arg https_proxy=$HTTP_PROXY \
- --build-arg HTTP_PROXY=$HTTP_PROXY \
- --build-arg HTTPS_PROXY=$HTTP_PROXY \
- -t $tag -f docker/Dockerfile.$dockername .
+ --build-arg http_proxy="$HTTP_PROXY" \
+ --build-arg https_proxy="$HTTP_PROXY" \
+ --build-arg HTTP_PROXY="$HTTP_PROXY" \
+ --build-arg HTTPS_PROXY="$HTTP_PROXY" \
+ -t "$tag" -f docker/Dockerfile."$dockername" .
+ set +x
}
docker_build hs-test/vpp vpp
@@ -77,5 +77,6 @@
# cleanup detached images
images=$(docker images --filter "dangling=true" -q --no-trunc)
if [ "$images" != "" ]; then
+ # shellcheck disable=SC2086
docker rmi $images
fi
diff --git a/extras/hs-test/script/build_nginx.sh b/extras/hs-test/script/build_nginx.sh
index 69d366a..f21201c 100755
--- a/extras/hs-test/script/build_nginx.sh
+++ b/extras/hs-test/script/build_nginx.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-cd nginx
+cd nginx || exit 1
./auto/configure --with-debug --with-http_v3_module --with-cc-opt="-I../boringssl/include" --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto" --without-http_rewrite_module --without-http_gzip_module
make
make install
diff --git a/extras/hs-test/script/compress.sh b/extras/hs-test/script/compress.sh
old mode 100644
new mode 100755
diff --git a/extras/hs-test/script/nginx_ldp.sh b/extras/hs-test/script/nginx_ldp.sh
index a6b0a20..416aa54 100755
--- a/extras/hs-test/script/nginx_ldp.sh
+++ b/extras/hs-test/script/nginx_ldp.sh
@@ -1,3 +1,4 @@
#!/usr/bin/env bash
-$1 -v && LD_PRELOAD=$LDP $@ 2>&1 > /proc/1/fd/1
+# shellcheck disable=SC2068
+$1 -v && LD_PRELOAD=$LDP $@ > /proc/1/fd/1 2>&1