From 8577b4441fd99d1db694e6e9f07801c35ac17748 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Wed, 20 Feb 2019 06:26:05 +0000 Subject: FIX: Static variables all over the place for per patch - Incredible why is it so hard to write scripts not hardcoding anything. Change-Id: I48cf2cc3d25f9665a9ff7ca26756d3b70cdd2f9c Signed-off-by: Peter Mikus --- resources/libraries/bash/entry/per_patch_device.sh | 2 +- resources/libraries/bash/function/per_patch.sh | 35 +++++++++++++++------- 2 files changed, 26 insertions(+), 11 deletions(-) (limited to 'resources/libraries') diff --git a/resources/libraries/bash/entry/per_patch_device.sh b/resources/libraries/bash/entry/per_patch_device.sh index 3f52bcbc0b..11203316fb 100644 --- a/resources/libraries/bash/entry/per_patch_device.sh +++ b/resources/libraries/bash/entry/per_patch_device.sh @@ -53,5 +53,5 @@ select_vpp_device_tags || die compose_pybot_arguments || die run_pybot || die copy_archives || die -archive_parse_test_results "csit_current" || die +archive_test_results "csit_current" || die die_on_pybot_error || die diff --git a/resources/libraries/bash/function/per_patch.sh b/resources/libraries/bash/function/per_patch.sh index 83e8427824..27fa0cfb06 100644 --- a/resources/libraries/bash/function/per_patch.sh +++ b/resources/libraries/bash/function/per_patch.sh @@ -13,20 +13,19 @@ set -exuo pipefail -# This library defines functions used mainly by "per_patch_perf.sh" entry script. +# This library defines functions used mainly by per patch entry scripts. # Generally, the functions assume "common.sh" library has been sourced already. # Keep functions ordered alphabetically, please. -# TODO: Add a link to bash style guide. - - -function archive_parse_test_results () { +function archive_test_results () { set -exuo pipefail # Arguments: # - ${1}: Directory to archive to. Required. Parent has to exist. + # Variable set: + # - TARGET - Target directory. # Variables read: # - ARCHIVE_DIR - Path to where robot result files are created in. # - VPP_DIR - Path to existing directory, root for to relative paths. @@ -34,17 +33,33 @@ function archive_parse_test_results () { # - ${1} - Created, and robot and parsing files are moved/created there. # Functions called: # - die - Print to stderr and exit, defined in common.sh - # - parse_bmrr_results - See definition in this file. cd "${VPP_DIR}" || die "Change directory command failed." - target="$(readlink -f "$1")" - mkdir -p "${target}" || die "Directory creation failed." + TARGET="$(readlink -f "$1")" + mkdir -p "${TARGET}" || die "Directory creation failed." for filename in "output.xml" "log.html" "report.html"; do - mv "${ARCHIVE_DIR}/${filename}" "${target}/${filename}" || { + mv "${ARCHIVE_DIR}/${filename}" "${TARGET}/${filename}" || { die "Attempt to move '${filename}' failed." } done - parse_bmrr_results "${target}" || { +} + + +function archive_parse_test_results () { + + set -exuo pipefail + + # Arguments: + # - ${1}: Directory to archive to. Required. Parent has to exist. + # Variables read: + # - TARGET - Target directory. + # Functions called: + # - die - Print to stderr and exit, defined in common.sh + # - archive_test_results - Archiving results. + # - parse_bmrr_results - See definition in this file. + + archive_test_results "$1" || die + parse_bmrr_results "${TARGET}" || { die "The function should have died on error." } } -- cgit 1.2.3-korg