Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://olcf.github.io/olcf-test-harness/
OLCF Test Harness
https://olcf.github.io/olcf-test-harness/
Last synced: about 2 months ago
JSON representation
OLCF Test Harness
- Host: GitHub
- URL: https://olcf.github.io/olcf-test-harness/
- Owner: olcf
- License: other
- Created: 2021-01-11T22:35:39.000Z (almost 4 years ago)
- Default Branch: devel
- Last Pushed: 2024-11-11T21:41:03.000Z (about 2 months ago)
- Last Synced: 2024-11-11T22:30:35.401Z (about 2 months ago)
- Language: Python
- Homepage: https://olcf.github.io/olcf-test-harness/
- Size: 7.78 MB
- Stars: 12
- Watchers: 14
- Forks: 4
- Open Issues: 47
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hpc - OLCF Test Harness - The OLCF Test Harness (OTH) helps automate the testing of applications, tools, and other system software ([Source Code](https://github.com/olcf/olcf-test-harness)) `other`. (Miscellaneous)
README
# OLCF Test Harness (OTH)
This repository hosts the source code and documentation of the OLCF Test Harness (OTH).
The full OTH documentation can be found at [](https://olcf.github.io/olcf-test-harness),
or can be viewed locally by cloning this repository and launching a Python HTTP server in the `docs` directory:```
git clone https://github.com/olcf/olcf-test-harness
cd olcf-test-harness/docs
python3 -m http.server 8080
# Then, navigate to localhost:8080 in a browser on your computer
```Sample tests can be found at https://github.com/olcf/olcf-test-harness-examples.
## Quick-Start
### Obtaining the OTH source code
To obtain the OTH source code, run the following commands on the machine you are testing:
```
git clone [email protected]:olcf/olcf-test-harness.git
cd olcf-test-harness
export OLCF_HARNESS_DIR=`pwd`
module use $OLCF_HARNESS_DIR/modulefiles
module load olcf_harness
export OLCF_HARNESS_MACHINE=
```### Configuring the machine settings
If you are using an OLCF machine, there are machine configuration files provided in `${OLCF_HARNESS_DIR}/configs/olcf_examples`.
Please copy these into the `configs` directory.
If you are using a machine which is not provided in the `${OLCF_HARNESS_DIR}/configs/olcf_examples` directory, please see the [OTH User Guide](https://olcf.github.io/olcf-test-harness).### Specifying tests to run
Once the `${OLCF_HARNESS_MACHINE}.ini` file is placed in the `${OLCF_HARNESS_DIR}/configs` directory, construct an input file to provide the OTH at run-time.
In this example, we will name it `rgt.inp`, but the name is not important, as long as you specify the correct name with the `-i` command-line flag.First, clone the OLCF Test Harness examples:
```
mkdir -p /home/auser/oth/applications
git clone https://github.com/olcf/olcf-test-harness-examples.git /home/auser/oth/applications/olcf-test-harness-examples
```rgt.inp:
```
# Within the Path_to_tests directory, you will place application repositories
# Inside each application is one or more tests that can be called
# In this case, the OTH examples are nested deeply to support >1 machine,
# so we have to specify the Frontier applications directory
Path_to_tests = /home/auser/oth/applications/olcf-test-harness-examples/frontier# Syntax for defining a test to run:
# Test =
# This test is in the olcf-test-harness-examples repo for Frontier:
Test = lammps test_1node_4mil_reax
# Multiple tests may be defined by copying the above line and changing the test name
```### Launching a test
To launch one of the examples from the [OTH Examples Repo](https://github.com/olcf/olcf-test-harness-examples) on Frontier:
```
# Optional: replace with your own instance of the OTH
export OLCF_HARNESS_DIR="/sw/acceptance/olcf-test-harness"
module use $OLCF_HARNESS_DIR/modulefiles
module load olcf_harness
export OLCF_HARNESS_MACHINE="frontier"
# Set this to an account that you have permission to submit to:
export RGT_SUBMIT_ACCT="YOURACCOUNT123"
# Launch the test!
runtests -i rgt.inp --mode start stop
```At the end of the output on your screen, you should see a a few lines like the following:
```
Path to Source: /home/auser/oth/applications/olcf-test-harness-examples/frontier/lammps/Source
Path to Build Dir: //lammps/test_1node_4mil_reax/1695761632.2935946/build_directory
Submitting job from SLURM class using batchfilename run.sh
sbatch -p batch -A run.sh
SLURM jobID =
build exit value = 0
submit exit value = 0
Skipped 0, launched 1.
```When you see `submit exit value = 0`, you know your job was successfully launched.
### Checking Test Results
To find the results of the test, you may go to `///Run_Archive/latest` (in this case, `/home/auser/oth/applications/olcf-test-harness-examples/frontier/lammps/test_1node_4mil_reax/Run_Archive/latest`).
This is the directory your job launched from, and it is the directory your job stdout/stderr will go to and any output files will be copied back to.
When the job completes, you should see all output files in this directory as well as an `output_check.txt`.
This file contains the output from your check script, which parses your output files to check the result of the test for correctness and performance.