Repair tox-run for case of no tox logs to archive 20/63520/1
authorLott, Christopher (cl778h) <cl778h@att.com>
Thu, 26 Mar 2020 21:32:23 +0000 (17:32 -0400)
committerLott, Christopher (cl778h) <cl778h@att.com>
Thu, 26 Mar 2020 21:32:23 +0000 (17:32 -0400)
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) <cl778h@att.com>
releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml [new file with mode: 0644]
shell/tox-run.sh

diff --git a/releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml b/releasenotes/notes/tox-defend-no-logs-ce81e3136a6816ce.yaml
new file mode 100644 (file)
index 0000000..e48e231
--- /dev/null
@@ -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.
index af3ac7a..498ddc7 100644 (file)
@@ -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.