Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Questions?  Ask them in Slack: Chat for ACMEE3SM

Choose the test category you want to run, in most cases, it will be one of the

...

e3sm-supported test categories

    • acmee3sm_integration test suite - A substantial set of tests run nightly on "next" and "master" on a few major platforms or workstations that establishes the correctness of the ACME E3SM code base. Used for verifying merged code. The set of target machines should cover all supported compilers.acme
    • e3sm_developer test suite - A more minimal set of tests that can be run by develpers developers on all supported platforms to instill a modicum of confidence that a set of changes does not break ACME E3SM before issuing a PR, without incurring the computational cost of running acme_full or acme_integration everywhere e3sm_integration everywhere.   e3sm_developer is included within e3sm_integration.  On some machines, we only run e3sm_developer nightly because it takes less time.
    • component level suite.  Some components have defined their own tests suites.  e.g. e3sm_land_developer, e3sm_atm_developer,  e3sm_mosart_developer.

To run a given test suite on a given machine, use the create_test command, issued from the cime/scripts-acme directory  directory in your ACME E3SM source tree:

    1. cd ACMEE3SM/cime/scripts
    2. ./create_test test_suite [--compiler compiler --baseline-rootacmeroot e3sm_baseline_dir -t test_id -r test_root_dir] [-(c|g) [-b baseline_subdirname ]] [--project project_or_account ]
      1. machine - The ACME E3SM scripts will probe your machine name from the current nodename
      2. compiler - The compiler toolset you wish to use, examples are: gnu, intel, pgi. You do not need to provide this if you want the default compiler (the first compiler listed in the COMPILERS parameter for your machine)
      3. test_suite - The name of the test category you want to run, like acmee3sm_developer. You can also provide a list of test names.  Instead a test suite, you can specify one specific test or set of tests.
      4. test_root_dir - The path where your test cases will be dumped. Default will be CESMSCRATCHROOTacmeCIME_OUTPUT_ROOT for the machine you are using.
      5. e3sm_baseline_dir - You only need to specify this if you want to use a different baseline area than is specified for your machine by the CCSMBASELINE_BASELINE ROOT parameter
      6. -c /-g - Do a baseline comparison/generation. You do not have to do any baseline operations.compare against baselines you generated in Generating new baseline files for a topic branch or the system default baselines which are usually from latest master.
      7. If you generate new baselines, especially for shared master and next branches, make them group-writable by others:
          1. chmod -R g+w $BASELINE_ROOT/$branch_name
      8. baseline_subdir - The name of the baselines (usually the major release you're on) you want to use. The default will be <current-branch-name>. Note that the tool will always prepend the compiler to the baseline subdir. Our baselines are always segregated by compiler. Don't bother with this option unless you provided -c or -g.
      9. project_or_account - The id that lets you run batch jobs on this machine
      10. test_id  - a string appended to end of test name.  default is a date and sha such as ".20160201_223053.20210708_184630_c657sy"
      11. for a complete list of options, do "./create_test --help"
    3. Once the tests are running, you'll want to see test results
      1. Case 1: Simple
        1. cd test_root_dir
        2. you will find a script named cs.status.(testid) You can run this script from the test root directory to see the status of tests being run within this suite
      2. Case 2: We have a more sophisticated script called wait_for_tests that provides extra capabilites like: waiting for tests to finish, converting results to CTest and submitting to a CDash dashboard
        1. cd test_root_dir
        2. <ACME><E3SM>/scriptscime/acmeCIME/wait_for_tests [ -d buildname] */TestStatus
    4. Example 1  Testing without baselines: to run the 'acmee3sm_developer' suite on Edison Chrysalis using the Intel compiler (assuming everything has been set up and this is not the first run) and compare against v0.1 baselines, you would run:
      1. (make sure the clone is checked out on your development branch)
      2. cd ACMEE3SM/cime/scripts
      3. ./create_test acmee3sm_developer -t acme_dev -c -b v0.1cd $SCRATCH/acme_scratch/edisonr mytestrun (the script will detect its on Chrysalis and use the default compiler, intel)
      4. cd /lcrc/group/e3sm/$USERID/scratch/chrys/mytestrun
      5. ./cs.status.acme_dev(testid).
    5. Example 2:  Testing against baselines:

See Interpreting test results.

See the CSEG presentation on testing for more information on the testing system.

 

 

 




 


Filter by label (Content by label)
showLabelsfalse
max5
spacesDocs
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "kb-how-to-article" and type = "page" and space = "Docs"
labelskb-how-to-article

Page Properties
hiddentrue


 
Related issues