X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=run-csit.sh;h=55b755db76d4eea5cc9386d3687830f87826e5a8;hb=fdaed12d72e0f188795c6a59ca44f66b91858789;hp=2c45812df494d76211e64bebc8346f0bb4c6377b;hpb=f1903ee00a8d066d9e860e0a35e10f0948dfbc49;p=integration%2Fcsit.git diff --git a/run-csit.sh b/run-csit.sh index 2c45812d..55b755db 100755 --- a/run-csit.sh +++ b/run-csit.sh @@ -22,6 +22,31 @@ # functions # +function on_exit(){ + rc=$? + if [[ ${WORKSPACE} ]]; then + if [[ ${WORKDIR} ]]; then + rsync -av "$WORKDIR/" "$WORKSPACE/archives/$TESTPLAN" + fi + # Record list of active docker containers + docker ps --format "{{.Image}}" > "$WORKSPACE/archives/$TESTPLAN/_docker-images.log" + + # show memory consumption after all docker instances initialized + docker_stats | tee "$WORKSPACE/archives/$TESTPLAN/_sysinfo-2-after-robot.txt" + fi + # Run teardown script plan if it exists + cd "${TESTPLANDIR}" + TEARDOWN="${TESTPLANDIR}/teardown.sh" + if [ -f "${TEARDOWN}" ]; then + echo "Running teardown script ${TEARDOWN}" + source_safely "${TEARDOWN}" + fi + # TODO: do something with the output + exit $rc +} +# ensure that teardown and other finalizing steps are always executed +trap on_exit EXIT + function docker_stats(){ #General memory details echo "> top -bn1 | head -3" @@ -110,9 +135,6 @@ if [ -z "$WORKSPACE" ]; then export WORKSPACE=$(git rev-parse --show-toplevel) fi -rm -rf "$WORKSPACE/archives" -mkdir -p "$WORKSPACE/archives" - if [ -f "${WORKSPACE}/${1}/testplan.txt" ]; then export TESTPLAN="${1}" else @@ -122,19 +144,22 @@ fi export TESTOPTIONS="${2}" +rm -rf "$WORKSPACE/archives/$TESTPLAN" +mkdir -p "$WORKSPACE/archives/$TESTPLAN" + TESTPLANDIR="${WORKSPACE}/${TESTPLAN}" # Run installation of prerequired libraries source_safely "${WORKSPACE}/prepare-csit.sh" # Activate the virtualenv containing all the required libraries installed by prepare-csit.sh -source_safely "${ROBOT_VENV}/bin/activate" +source_safely "${ROBOT3_VENV}/bin/activate" WORKDIR=$(mktemp -d --suffix=-robot-workdir) cd "${WORKDIR}" # Add csit scripts to PATH -export PATH="${PATH}:${WORKSPACE}/docker/scripts:${WORKSPACE}/scripts:${ROBOT_VENV}/bin" +export PATH="${PATH}:${WORKSPACE}/docker/scripts:${WORKSPACE}/scripts:${ROBOT3_VENV}/bin" export SCRIPTS="${WORKSPACE}/scripts" export ROBOT_VARIABLES= @@ -150,7 +175,7 @@ if [ -f "${SETUP}" ]; then fi # show memory consumption after all docker instances initialized -docker_stats | tee "$WORKSPACE/archives/_sysinfo-1-after-setup.txt" +docker_stats | tee "$WORKSPACE/archives/$TESTPLAN/_sysinfo-1-after-setup.txt" # Run test plan cd "$WORKDIR" @@ -162,26 +187,9 @@ SUITES=$( xargs -a testplan.txt ) echo ROBOT_VARIABLES="${ROBOT_VARIABLES}" echo "Starting Robot test suites ${SUITES} ..." relax_set -python -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES} +python3 -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES} RESULT=$? load_set echo "RESULT: $RESULT" -rsync -av "$WORKDIR/" "$WORKSPACE/archives" - -# Record list of active docker containers -docker ps --format "{{.Image}}" > "$WORKSPACE/archives/_docker-images.log" - -# show memory consumption after all docker instances initialized -docker_stats | tee "$WORKSPACE/archives/_sysinfo-2-after-robot.txt" - -# Run teardown script plan if it exists -cd "${TESTPLANDIR}" -TEARDOWN="${TESTPLANDIR}/teardown.sh" -if [ -f "${TEARDOWN}" ]; then - echo "Running teardown script ${TEARDOWN}" - source_safely "${TEARDOWN}" -fi - -# TODO: do something with the output - +# Note that the final steps are done in on_exit function after this exit! exit $RESULT