Contributing

Collaboration for the improvement of the OLCF Test Harness is greatly appreciated and highly encouraged. Contributions in the form of bug reports, feature requests, and source-code contributions are all efficient methods of contributing.

Reporting Bugs

Please report bugs to the OTH GitHub Repository Issues page. Include the following information in your Issue:

  • What are you trying to do?

  • Command-line usage (ie, runtests.py -i rgt.inp ...)

  • Standard output & error from running

  • The contents of your harness input file (ie, rgt.inp)

  • The contents of your machine configuration file (<machine>.ini)

  • The contents of your test input file (rgt_test_input.ini)

  • The contents of all logs in $RESULTS_DIR/LogFiles

Requesting New Features

To request a new feature (ie, new command-line flag, support for a new scheduler), please submit an Issue to the OTH GitHub Repository Issues page. Please add Feature Request: to the beginning of your issue title to help the development team quickly identify the request. Include the following information in your request:

  • What do you want the OTH to do? (“I would like the OTH to …”)

  • Is the lack of this feature blocking your usage of the OTH?

  • How do you want to invoke the new feature? (ie, environment variable, command-line flag, configuration file parameter)

Contributing Source Code

Source-code contribution is welcomed through GitHub Pull Requests to the OTH GitHub Repository Pull Requests page. For PRs that fix bugs or implement a new feature, please cite the specific Issue in the body of the PR. To create a PR, please follow the following steps:

  • Fork the OTH GitHub Repository to your personal GitHub account

  • Clone your fork of the OTH:

git clone https://github.com/<your-username>/olcf-test-harness.git
cd olcf-test-harness
git checkout devel
  • From your fork’s devel branch, point the upstream to the OTH GitHub repo:

git remote add olcf https://github.com/olcf/olcf-test-harness.git
git fetch olcf
git branch --set-upstream-to=olcf/devel
  • Update your local fork from the upstream repository:

git checkout devel
git pull
  • Create a new branch in your fork of the OTH GitHub: git checkout -b issue64-fix

  • Make your edits

  • Add and commit your edits to your branch

git add file1.py file.py ...
git commit -m "Message summarizing your changes"
  • Push your edits to your fork: git push -u origin issue64-fix

  • Open a Pull Request on OTH Pull Requests

A Developer Guide is currently under construction that will contain more information regarding code formatting. In the meantime, please use the following basic formatting rules:

  • Use 4-space indentation

  • Use lowercase variable names with underscores (ie example_var)

  • Add comments to explain any non-trivial code

  • Avoid hard-coding paths. Use existing class variables to specify paths and file names.

Note

All Pull Requests will undergo review from the OTH development team. PRs implementing new features will be evaluated for utility provided to the OTH. Approval and integration of new features into the OTH is at the discretion of the development team.