#!/bin/bash
set -u
declare ThisScript="${0##*/}"
declare Version=1.0.1
declare -i ErrorCount=0
declare -i Debug=${SDP_DEBUG:-0}
declare StandbyHost=bos-helix-02
declare -i StandbyLogCount=0
declare -a StandbyLogList
declare EdgeHost=syd-helix-04
declare -i EdgeLogCount=0
declare -a EdgeLogList
function msg () { echo -e "$*"; }
function dbg () { [[ "$Debug" -eq 0 ]] || msg "DEBUG: $*"; }
function errmsg () { msg "\\nError: ${1:-Unknown Error}\\n"; ErrorCount+=1; }
function bail () { errmsg "${1:-Unknown Error}"; exit "$ErrorCount"; }
msg "Start test [$ThisScript v$Version]: Call p4verify.sh on remote host."
StandbyLogList[StandbyLogCount]="/p4/1/logs/p4verify.log"
StandbyLogCount+=1
EdgeLogList[EdgeLogCount]="/p4/1/logs/p4verify.log"
EdgeLogCount+=1
msg "Running: 'p4verify.sh 1 -recent=head' on standby host $StandbyHost."
ssh -q "$StandbyHost" /p4/common/bin/p4verify.sh 1 -recent=head ||\
errmsg "Remote call to p4verify.sh on host $StandbyHost indicated an error."
msg "Running: 'p4verify.sh 1 -recent=head' on edge host $EdgeHost."
ssh -q "$EdgeHost" /p4/common/bin/p4verify.sh 1 -recent=head ||\
errmsg "Remote call to p4verify.sh on host $EdgeHost indicated an error."
msg "Checking for syntax and unbound errors in scripts used in this test on standby host."
for log in "${StandbyLogList[@]}"; do
msg "Checking for 'unbound variable' in: $StandbyHost:$log"
ssh -q "$StandbyHost" "grep ':unbound variable' $log" && \
errmsg "Found 'unbound variable' error in $log"
msg "Checking for 'syntax error' in: $StandbyHost:$log"
ssh -q "$StandbyHost" "grep ':syntax error' $log" && \
errmsg "Found 'syntax error' in $log"
ssh -q "$StandbyHost" "grep 'line: ' $log" && \
errmsg "Found 'line:' error in $log"
done
msg "Checking for syntax and unbound errors in scripts used in this test on edge host."
for log in "${EdgeLogList[@]}"; do
msg "Checking for 'unbound variable' in: $EdgeHost:$log"
ssh -q "$EdgeHost" "grep ':unbound variable' $log" && \
errmsg "Found 'unbound variable' error in $log"
msg "Checking for 'syntax error' in: $EdgeHost:$log"
ssh -q "$EdgeHost" "grep ':syntax error' $log" && \
errmsg "Found 'syntax error' in $log"
ssh -q "$EdgeHost" "grep 'line: ' $log" && \
errmsg "Found 'line:' error in $log"
done
msg "\\nTest script $ThisScript v$Version reported $ErrorCount errors."
exit "$ErrorCount"
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 32135 | C. Thomas Tyler |
Released SDP 2025.1.32133 (2025/10/29). Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'. |
||
| //guest/perforce_software/sdp/dev/test/bsw/test_script-p4verify_1.sh | |||||
| #1 | 32100 | C. Thomas Tyler |
In p4verify.sh, adjusted exit code for '-h/-man' opertions to 2 rather than 1. Added tests for p4verify.sh to cli_tests.cfg. Updated scan for unreported errors in 'r' script to ignore known-harmless text chunks like 'LOGGING:', 'NOTIFICATIONS:', and 'TIMING:'. Fixed typo in comment in scripted_tests.cfg. |
||