Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test run work and results dir; relative path rules #1005

Merged
merged 1 commit into from
Sep 24, 2019

Conversation

marshallward
Copy link
Collaborator

This patch consists of three changes to the test suite:

  • Tests are now run in dedicated work directories. This allows for
    parallel execution of tests inside of make.

    Unexpected improvements are a 3-4x speedup on test time, and the
    disappearance of several anomalous "negative zero" issues which were
    otherwise unreproducible outside of the test, suggesting that
    replacing the serial runs inside of the tc directories has resolved
    some otherwise unknown problems.

  • Makefile rules for running tests are now defined relative to the
    .testing directory, rather than an explicit base directory based on
    the path of the Makefile.

    Although this method is slightly less robust and slightly more prone
    to error, it makes it easier to build and run individual files within
    the project.

    Build paths are still absolute, and will be updated in a separate
    commit.

  • Test output is now stored in a results directory, rather than inside
    the tc* configuration directories.

This patch consists of three changes to the test suite:

- Tests are now run in dedicated work directories.  This allows for
  parallel execution of tests inside of make.

  Unexpected improvements are a 3-4x speedup on test time, and the
  disappearance of several anomalous "negative zero" issues which were
  otherwise unreproducible outside of the test, suggesting that
  replacing the serial runs inside of the tc directories has resolved
  some otherwise unknown problems.

- Makefile rules for running tests are now defined relative to the
  .testing directory, rather than an explicit base directory based on
  the path of the Makefile.

  Although this method is slightly less robust and slightly more prone
  to error, it makes it easier to build and run individual files within
  the project.

  Build paths are still absolute, and will be updated in a separate
  commit.

- Test output is now stored in a `results` directory, rather than inside
  the tc* configuration directories.
@codecov-io
Copy link

codecov-io commented Sep 21, 2019

Codecov Report

Merging #1005 into dev/gfdl will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##           dev/gfdl    #1005   +/-   ##
=========================================
  Coverage     43.16%   43.16%           
=========================================
  Files           213      213           
  Lines         62355    62355           
=========================================
  Hits          26918    26918           
  Misses        35437    35437

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 978184a...3cd5569. Read the comment docs.

Copy link
Collaborator

@adcroft adcroft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I like the use of $* allowed by using the work dir patterns. make clean.stats is much cleaner.

@adcroft adcroft merged commit 9a014cb into mom-ocean:dev/gfdl Sep 24, 2019
@marshallward marshallward deleted the make_parallel branch February 14, 2020 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants