Preface
Welcome to the Helix Installer Test Suite.
Please Give Us Feedback
Perforce welcomes feedback from our users. Please send any suggestions for improving this document or the SDP to consulting@perforce.com.
1. Overview
The hits.sh
script is used to build test machine images on various operating systems, execute tests, and capture and summarize the results.
hits.sh
script:USAGE for hits.sh v1.4.0: hits.sh [-B|-b] [-f] [-p] [-o <os1>[,<os2>,...]] [-hb <helix_installer_branch>] [-sb <sdp_branch>] [-n] [-D] [-L <log>] or hits.sh [-h|-man] DESCRIPTION: This script manages Docker environment for the Helix Installer Test Suite. The test_hi.sh runs the actual tests within VMs managed by this script. OPTIONS: -b Build Docker images, and then stop before running tests. By default, tests are executed after images are built. -f Specify '-f' to force a rebuild of the Docker image by passing '--no-cache' option to the 'podman build' command. -p Specify '-p' to pull the latest Docker source image by passing '--pull' option to the 'podman build' command. -B Specify '-B' as a shorthand for '-b -f -p'. -o Specify a comma-delimited list of operating systems to build. Valid operating system values are: rocky8 rocky9 centos7 ubuntu20 ubuntu22 -hb <helix_installer_branch> Specify the Helix Installer branch to test. The default is dev. -sb <sdp_branch> Specify the SDP branch to test. The default is main, which always represents the latest version officially released for general availability. -L <log> Specify the path to a log file, or the special value 'off' to disable logging. By default, all output (stdout and stderr) goes to hits.<DateTimeStamp>.log NOTE: This script is self-logging. That is, output displayed on the screen is simultaneously captured in the log file. Do not run this script with redirection operators like '> log' or '2>&1', and do not use 'tee'. -si Operate silently. All output (stdout and stderr) is redirected to the log only; no output appears on the terminal. This cannot be used with '-L off'. This is useful when running from cron, as it prevents automatic email from being sent by cron directly, as cron does when a script called from cron generates any output. This script is then responsible for email handling, if any is to be done. -n No-Op. Prints podman, rsync, and other commands instead of running them. -D Set extreme debugging verbosity. HELP OPTIONS: -h Display short help message -man Display man-style help message EXAMPLES: Example 1: Normal test run on all platforms - no arguments. hits.sh Example 2: Test image build only hits.sh -B Example 3: Test on a single platform: hits.sh -o centos7 Example 4: See podman and other commands without executing them. hits.sh -n
2. Interacting with the Test Suite
Interact with a command like this sample:
podman run --rm -v /Users/ttyler/pub/hi/dev/hi:/hi -e OS=rocky9 -e SDP_BRANCH=main -it perforce_hi/rocky9-hi /bin/bash
3. Requirements and One-Time Setup
The podman
utility must be installed. Testing has been done with podman v5.0.3. Other versions may work.
Appendix A: Test Suite History
The third and current generation of the Helix Installer Test Suite came online in June, 2024. This replaced Docker with Podman.
The second generation of the Helix Installer Test Suite came online in January, 2021. This used Docker for VM management.
Docker displaced Vagrant-based VM management that had been used in first generation of the test suite from November, 2018 to January, 2021.