Skip to main content

Test suite for the EESSI software stack

Project description

test-suite

A portable test suite for software installations, using ReFrame.

Documentation

For documentation on installing, configuring, and using the EESSI test suite, see https://eessi.io/docs/test-suite/.

Development

If you want to install the EESSI test suite from a branch, you can either install the feature branch with pip, or clone the Github repository and check out the feature branch.

Install from branch with pip

To install from one of the branches of the main repository, use:

pip install git+https://github.com/EESSI/test-suite.git@branchname

Generally, you'll want to do this from a forked repository though, where someone worked on a feature. E.g.

pip install git+https://github.com/<someuser>/test-suite.git@branchname

Check out a feature branch from a fork

We'll assume you already have a local clone of the official test-suite repository, called 'origin'. In that case, executing git remote -v, you should see:

$ git remote -v
origin  git@github.com:EESSI/test-suite.git (fetch)
origin  git@github.com:EESSI/test-suite.git (push)

Option 1: Creating a branch from the PR directly

git fetch origin pull/ID/head:BRANCH_NAME

where ID is the number of the pull request, and BRANCH_NAME is the name of the local branch (you can pick this yourself).

Option 2: Creating a branch tracking the feature branch

You can add a fork to your local clone by adding a new remote. Pick a name for the remote that you find easy to recognize. E.g. to add the fork https://github.com/casparvl/test-suite and give it the (local) name casparvl, run:

git remote add casparvl git@github.com:casparvl/test-suite.git

With git remote -v you should now see the new remote:

$ git remote -v
origin    git@github.com:EESSI/test-suite.git (fetch)
origin    git@github.com:EESSI/test-suite.git (push)
casparvl  git@github.com:casparvl/test-suite.git (fetch)
casparvl  git@github.com:casparvl/test-suite.git (push)

Next, we'll fetch the branches that casparvl has in his fork:

$ git fetch casparvl

We can check the remote branches using

$ git branch --list --remotes
  casparvl/example_branch
  casparvl/main
  origin/HEAD -> origin/main
  origin/main

(remember to re-run git fetch <remote> if new branches don't show up with this command).

Finally, we can create a new local branch (-c) and checkout one of these feature branches (e.g. example_branch from the remote casparvl). Here, we've picked my_own_example_branch as the local branch name:

$ git switch -c my_own_example_branch casparvl/example_branch

While the initial setup is a bit more involved, the advantage of this approach is that it is easy to pull in updates from a feature branch using git pull.

You can also push back changes to the feature branch directly, but note that you are pushing to the Github fork of another Github user, so make sure they are ok with that before doing so!

Release management

When a release of the EESSI test suite is made, the following things must be taken care of:

  • Version bump: in both pyproject.toml and setup.cfg;
  • Version bump the default EESSI_TESTSUITE_BRANCH in CI/run_reframe.sh;
  • Release notes: in RELEASE_NOTES + in GitHub release (cfr. https://github.com/EESSI/test-suite/releases/tag/v0.2.0);
  • Tag release on GitHub + publish release (incl. release notes);
  • Publishing release to PyPI:
    # example for version 0.2.0
    python setup.py sdist
    twine upload dist/eessi_testsuite-0.2.0.tar.gz
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eessi-testsuite-0.4.0.tar.gz (1.8 MB view details)

Uploaded Source

File details

Details for the file eessi-testsuite-0.4.0.tar.gz.

File metadata

  • Download URL: eessi-testsuite-0.4.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.18

File hashes

Hashes for eessi-testsuite-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8773aef37b025407e84232e21ad5c1e2d740f3f45cc6b4e276981121e294a2ad
MD5 2e30235993844e0640f4365390d7e12e
BLAKE2b-256 6e2254f3dc222b9d42b707147b187e1f03b8c8064bad05f8ffa98d3abe270d94

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page