From f5ecd20b63a85ac7589025bb204d0a836d38f608 Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Thu, 26 Mar 2020 17:32:23 -0400 Subject: [PATCH] Repair tox-run for case of no tox logs to archive Revise tox-run.sh to guard against glob matching no tox log files. In that case the pattern is passed to the cp command, which fails. Detect the cp failure ('cp: cannot stat ..') and exit the loop. I introduced this new and undesired behavior by adding -e in change 76a0761, so the script stops when the cp command fails. Change-Id: I1d60bb69e270c4aea413f4f14cf2d4f8f672853b Signed-off-by: Lott, Christopher (cl778h) --- releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml | 8 ++++++++ shell/tox-run.sh | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml diff --git a/releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml b/releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml new file mode 100644 index 00000000..e48e2316 --- /dev/null +++ b/releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml @@ -0,0 +1,8 @@ +--- +fixes: + - | + Revise tox-run.sh to guard against glob matching no tox log files. + In that case the pattern is passed to the cp command, which fails. + Detect the cp failure ('cp: cannot stat ..') and exit the loop. + This new and undesired behavior was introduced by adding -e in + change 76a0761, so the script stops when the cp command fails. diff --git a/shell/tox-run.sh b/shell/tox-run.sh index af3ac7a1..498ddc7f 100644 --- a/shell/tox-run.sh +++ b/shell/tox-run.sh @@ -52,7 +52,11 @@ echo "---> Completed tox runs" # shellcheck disable=SC2116 for i in .tox/*/log; do tox_env=$(echo "$i" | awk -F'/' '{print $2}') - cp -r "$i" "$ARCHIVE_TOX_DIR/$tox_env" + # defend against glob finding no matches + if ! cp -r "$i" "$ARCHIVE_TOX_DIR/$tox_env"; then + echo "WARN: no logs found to archive" + break + fi done # If docs are generated push them to archives. -- 2.16.6