Versions Compared

Key

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

Step-by-step guide to running the tests

Questions?  Ask them in Slack: Chat for E3SM

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

...

e3sm-supported test categories

    acme
    • e3sm_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
  1. ACME
    • E3SM code base. Used for verifying merged code. The set of target machines should cover all supported compilers.
  2. acme
    • e3sm_developer test suite - A more minimal set of tests that can be run by
  3. develpers
    • developers on all supported platforms to instill a modicum of confidence that a set of changes does not break
  4. ACME
    • E3SM before issuing a PR, without incurring the computational cost of running
  5. 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

...

 directory in your

...

E3SM source tree:

    1. cd

...

    1. E3SM/cime/scripts
    2. ./create_test test

...

    1. _suite [--compiler compiler --

...

    1. baseline-root e3sm_baseline_dir -t test_id -r test_root_dir] [-

...

    1. (c|g) [-b baseline_name ]] [--project project_or_account ]
      1. machine - The

...

      1. 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

...

      1. e3sm_developer. You can also provide a list of test names.  Instead a test suite, you can specify one specific test or set of tests.
      2. test_root_dir - The path where your test cases will be dumped

...

      1. . Default will be CIME_OUTPUT_ROOT for the machine you are using.
      2. e3sm_baseline_dir - You only need to specify this if you want to use a different baseline area than is specified

...

      1. for your machine by the BASELINE_ROOT parameter
      2. -c 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.
      3. 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
      4. baseline_subdir - The name of the baselines (usually the major release you're on) you want to use.

...

      1. 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.
      2. project_or_account - The id that lets you run batch jobs on this machine
      3. test_id  - a string appended to end of test name.  default is a date and sha such as ".20210708_184630_c657sy"
      4. for a complete list of options, do "./create_test --help"
    1. 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)

...

        1. You can run this script from the test root directory to see the status of tests being run within this suite
      1. 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

...

        1. <E3SM>/

...

        1. cime/

...

        1. CIME/wait_for_tests [ -d buildname] */TestStatus
    1. Example 1  Testing without baselines: to run the '

...

    1. e3sm_developer' suite on

...

    1. Chrysalis using the Intel compiler

...

    1. , you would run:
      1. (make sure the clone is checked out on your development branch)
      2. cd

...

      1. E3SM/cime/scripts
      2. ./create_test

...

      1. e3sm_

...

cd $SCRATCH/acme_dev

...

./cs.status.acme_dev.edison

...

Test result output from looks like the following:

PASS ERS.f19_g16_rx1.A.edison_intel
PASS ERS.f19_g16_rx1.A.edison_intel.memleak
PASS ERS.f19_g16_rx1.A.edison_intel.generate./scratch2/scratchdirs/johnson/acme-baseline-testcases
FAIL ERS_IOP4c.f19_g16_rx1.A.edison_intel
BFAIL ERS_IOP4c.f19_g16_rx1.A.edison_intel.generate./scratch2/scratchdirs/johnson/acme-baseline-testcases
RUN PEA_P1_M.f45_g37_rx1.A.edison_intel.G.acme_dev
PEND SMS.ne30_f19_g16_rx1.A.edison_intel

...

      1. developer -r mytestrun (the script will detect its on Chrysalis and use the default compiler, intel)
      2. cd /lcrc/group/e3sm/$USERID/scratch/chrys/mytestrun
      3. ./cs.status.(testid).
    1. 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