test_nj.sh #2

  • //
  • p4-hms/
  • dev/
  • p4/
  • common/
  • site/
  • hms/
  • nj/
  • test/
  • test_nj.sh
  • View
  • Commits
  • Open Download .zip Download (2 KB)
#!/bin/bash
set -u

#==============================================================================
declare -i ErrorCount=0
declare -i TestCount=0
declare -i PassCount=0
declare -i FailCount=0
declare TestHome="$PWD"
declare AppHome="${TestHome%/*}"
declare TestDir=

export P4CONFIG=.p4config.test_nj
export P4ENVIRO=$PWD/.p4enviro.test_nj

#==============================================================================
# Functions
function msg () { echo -e "$*"; }
function errmsg () { msg "\nError: ${1:-Uknknown Error}\n"; ErrorCount+=1; }
function bail () { errmsg "${1:-Uknknown Error}"; exit "$ErrorCount"; }
function pass () { TestCount+=1; PassCount+=1; msg "PASS $TestCount: ${1:-Uknown Test}"; }
function fail () { TestCount+=1; FailCount+=1; msg "FAIL  $TestCount: ${1:-Uknown Test}"; }

#------------------------------------------------------------------------------
function setup_test_environment () {
   local brokerCfg=

   msg "Setting up test environment."
   source /p4/common/bin/p4_vars test_nj || return 1

   p4d_test_nj_init stop
   p4broker_test_nj_init stop

   cd "$AppHome" || return 1

   msg "... Generating broker config for test_nj."

   brokerCfg="/p4/common/config/p4_test_nj.broker.cfg"

   msg "Running: ./gen_nj_broker_cfg.sh test_nj .GT. $brokerCfg"

   ./gen_nj_broker_cfg.sh test_nj > "$brokerCfg" || return 1

   p4d_test_nj_init start
   p4broker_test_nj_init start

   msg "... Testing broker on port $P4BROKERPORT"
   msg "p4 -p 9998 info"
   p4 -p 9998 info || return 1

   msg "Test environment setup OK."
}

#==============================================================================
# Command Line Processing

#==============================================================================
# Main Program

setup_test_environment ||\
   bail "Test setup was not successful. Aborting."
# Change User Description Committed
#2 33529 C. Thomas Tyler Cosmetic: normalize double-backslash \\n / \\t to single-backslash \n / \t

An older version of ShellCheck once recommended escaping backslash-n and
backslash-t as \\n / \\t in double-quoted strings; a later version reversed
that guidance since it was unnecessary. Both forms behave identically at
runtime, but the double-backslash form is visual clutter. Applied via
tools/sed_fixer.sh across the tree; no functional change.
#1 33516 C. Thomas Tyler Consistency pass: fix absolute URLs, p4ms->hms renames, script/doc typos and bugs

- Convert absolute workshop.perforce.com URLs to relative paths in dlp/ReadMe.md
- Fix case-mismatch link to HMS_Product_Roadmap.md in README.md
- Rename reset_p4ms.sh -> reset_hms.sh and p4broker_p4ms_test -> p4broker_hms_test
- Fix .sh-suffix bugs: bin/hms calling global_replica_status.sh (should be no ext),
  and matching SEE ALSO / doc references for sdp_sync and global_replica_status
- Add missing scripts (gtu, hrun, irun, global_replica_status) to gen_script_man_pages.sh
- Add stub scripts: nj_help.sh, broker_njob.pl, broker_mkproj.pl, broker_jr.pl
- Remove dangling absolute symlinks HostCM/p4 and HostCM/p4d (cruft)
- Rename test/b -> test/broker_ctl.sh for clarity
- Fix real bugs: broker_imply-u.pl broken regex match, gen_dlp_broker_cfg.sh and
  gen_nj_broker_cfg.sh copy-pasted Version-file existence check, garbled comment
  in broker_must_be_owner.pl, unclosed quote in tools/gsr.sh usage(), missing 'h'
  in HMS_SystemComponents.md broker command example (^ms$ -> ^hms$)
- Fix broken sed command and incomplete sentence in HMS_Install_Notes.md and
  SDP_and_HMS_Update_Process.md
- Fix broken markdown table in HMS_Product_Roadmap.md
- Fix unclosed parenthesis, missing verb, and FKA Swarm mislabel in
  HMSDeploymentPlanning.adoc
- Standardize //streams/main/... naming in HostCM/ReadMe.md
- Numerous typo fixes across README.md, HMS_SystemComponents.md,
  SDP_and_HMS_Update_Process.md, HMS_TightShipManagement.adoc,
  HMSDeploymentPlanning.adoc, HostCM/ReadMe.md, and various scripts

Co-authored-by: Copilot <[email protected]>