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

Fix split breaking multi-element flag definitions #437

Merged
merged 1 commit into from
Mar 11, 2024

Fix split breaking multi-element flag definitions

43d4071
Select commit
Loading
Failed to load commit list.
Merged

Fix split breaking multi-element flag definitions #437

Fix split breaking multi-element flag definitions
43d4071
Select commit
Loading
Failed to load commit list.
Google Cloud Build / Develop-PR-Unit-Tests (ramble-eng) succeeded Mar 11, 2024 in 12m 58s

Summary

Build Information

Trigger Develop-PR-Unit-Tests
Build 711ff951-1bf2-4786-86bc-08153fd3a090
Start 2024-03-11T10:38:09-07:00
Duration 12m15.687s
Status SUCCESS

Steps

Step Status Duration
ramble-clone SUCCESS 59.246s
ramble-unit-tests SUCCESS 11m12.216s

Details

starting build "711ff951-1bf2-4786-86bc-08153fd3a090"

FETCHSOURCE
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>
Initialized empty Git repository in /workspace/.git/
From https://github.com/GoogleCloudPlatform/ramble
 * branch            43d4071308c17a5517525beb1d2ad3c211b4e611 -> FETCH_HEAD
HEAD is now at 43d4071 Fix split breaking multi-element flag definitions
BUILD
Starting Step #0 - "ramble-clone"
Step #0 - "ramble-clone": Already have image (with digest): gcr.io/cloud-builders/git
Step #0 - "ramble-clone": From https://github.com/GoogleCloudPlatform/ramble
Step #0 - "ramble-clone":  * [new branch]        develop    -> origin/develop
Step #0 - "ramble-clone":  * [new branch]        gh-pages   -> origin/gh-pages
Step #0 - "ramble-clone":  * [new branch]        main       -> origin/main
Step #0 - "ramble-clone":  * [new tag]           v0.4.0     -> v0.4.0
Step #0 - "ramble-clone":  * [new tag]           v0.1.0     -> v0.1.0
Step #0 - "ramble-clone":  * [new tag]           v0.2.0     -> v0.2.0
Step #0 - "ramble-clone":  * [new tag]           v0.2.1     -> v0.2.1
Step #0 - "ramble-clone":  * [new tag]           v0.3.0     -> v0.3.0
Finished Step #0 - "ramble-clone"
Starting Step #1 - "ramble-unit-tests"
Step #1 - "ramble-unit-tests": Pulling image: us-central1-docker.pkg.dev/ramble-eng/ramble-repo/ramble-centos7:latest
Step #1 - "ramble-unit-tests": latest: Pulling from ramble-eng/ramble-repo/ramble-centos7
Step #1 - "ramble-unit-tests": 2d473b07cdd5: Pulling fs layer
Step #1 - "ramble-unit-tests": ee6cc98ca67d: Pulling fs layer
Step #1 - "ramble-unit-tests": 2d473b07cdd5: Verifying Checksum
Step #1 - "ramble-unit-tests": 2d473b07cdd5: Download complete
Step #1 - "ramble-unit-tests": 2d473b07cdd5: Pull complete
Step #1 - "ramble-unit-tests": ee6cc98ca67d: Verifying Checksum
Step #1 - "ramble-unit-tests": ee6cc98ca67d: Download complete
Step #1 - "ramble-unit-tests": ee6cc98ca67d: Pull complete
Step #1 - "ramble-unit-tests": Digest: sha256:eca2380bf144d4ca7adba3a826b7eb74331164cc62fc04f96b0ccb3cf3334f75
Step #1 - "ramble-unit-tests": Status: Downloaded newer image for us-central1-docker.pkg.dev/ramble-eng/ramble-repo/ramble-centos7:latest
Step #1 - "ramble-unit-tests": us-central1-docker.pkg.dev/ramble-eng/ramble-repo/ramble-centos7:latest
Step #1 - "ramble-unit-tests": Branch develop set up to track remote branch develop from origin.
Step #1 - "ramble-unit-tests": Dependencies found.
Step #1 - "ramble-unit-tests": usage: ramble [-hkV] [--color {always,never,auto}] COMMAND ...
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": A flexible benchmark experiment manager.
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": These are common ramble commands:
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": application dev:
Step #1 - "ramble-unit-tests":   edit                  open application files in $EDITOR
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": query applications:
Step #1 - "ramble-unit-tests":   list                  list and search available applications
Step #1 - "ramble-unit-tests":   info                  get detailed information on a particular application
Step #1 - "ramble-unit-tests":   mods                  list and get information on available modifiers
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": results:
Step #1 - "ramble-unit-tests":   results               import experiment results from file
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": workspaces:
Step #1 - "ramble-unit-tests":   on                    "And now's the time, the time is now" (execute workspace experiments)
Step #1 - "ramble-unit-tests":   workspace             manage experiment workspaces
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": optional arguments:
Step #1 - "ramble-unit-tests":   --color {always,never,auto}
Step #1 - "ramble-unit-tests":                         when to colorize output (default: auto)
Step #1 - "ramble-unit-tests":   -V, --version         show version number and exit
Step #1 - "ramble-unit-tests":   -h, --help            show this help message and exit
Step #1 - "ramble-unit-tests":   -k, --insecure        do not check ssl certificates when downloading
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": more help:
Step #1 - "ramble-unit-tests":   ramble help --all       list all commands and options
Step #1 - "ramble-unit-tests":   ramble help <command>   help on a specific command
Step #1 - "ramble-unit-tests":   ramble help --spec      help on the application specification syntax
Step #1 - "ramble-unit-tests":   ramble docs             open https://ramble.rtfd.io/ in a browser
Step #1 - "ramble-unit-tests": usage: ramble [-hHdNPklLmpvV] [--color {always,never,auto}] [-c CONFIG_VARS]
Step #1 - "ramble-unit-tests":               [-C DIR] [--disable-passthrough] [--timestamp] [--pdb]
Step #1 - "ramble-unit-tests":               [-w WRKSPC | -D DIR | -W] [--use-workspace-repo]
Step #1 - "ramble-unit-tests":               [--sorted-profile STAT] [--lines LINES] [--stacktrace]
Step #1 - "ramble-unit-tests":               [--print-shell-vars PRINT_SHELL_VARS]
Step #1 - "ramble-unit-tests":               COMMAND ...
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": A flexible benchmark experiment manager.
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": Complete list of ramble commands:
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": application dev:
Step #1 - "ramble-unit-tests":   edit                  open application files in $EDITOR
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": query applications:
Step #1 - "ramble-unit-tests":   list                  list and search available applications
Step #1 - "ramble-unit-tests":   info                  get detailed information on a particular application
Step #1 - "ramble-unit-tests":   mods                  list and get information on available modifiers
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": cleanup:
Step #1 - "ramble-unit-tests":   clean                 remove temporary files and/or downloaded archives
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": configuration:
Step #1 - "ramble-unit-tests":   config                get and set configuration options
Step #1 - "ramble-unit-tests":   mirror                manage mirrors (inputs)
Step #1 - "ramble-unit-tests":   repo                  manage Ramble repositories
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": developer:
Step #1 - "ramble-unit-tests":   attributes            get information about object attributes
Step #1 - "ramble-unit-tests":   commands              list available ramble commands
Step #1 - "ramble-unit-tests":   debug                 debugging commands for troubleshooting Ramble
Step #1 - "ramble-unit-tests":   flake8                runs source code style checks on Ramble. requires flake8
Step #1 - "ramble-unit-tests":   license               list and check license headers on files in ramble
Step #1 - "ramble-unit-tests":   python                launch an interpreter as ramble would launch a command
Step #1 - "ramble-unit-tests":   software-definitions  inspect software definitions in object definitions
Step #1 - "ramble-unit-tests":   unit-test             run ramble's unit tests (wrapper around pytest)
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": results:
Step #1 - "ramble-unit-tests":   results               import experiment results from file
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": workspaces:
Step #1 - "ramble-unit-tests":   on                    "And now's the time, the time is now" (execute workspace experiments)
Step #1 - "ramble-unit-tests":   workspace             manage experiment workspaces
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": optional arguments:
Step #1 - "ramble-unit-tests":   --color {always,never,auto}
Step #1 - "ramble-unit-tests":                         when to colorize output (default: auto)
Step #1 - "ramble-unit-tests":   --disable-passthrough
Step #1 - "ramble-unit-tests":                         disable passthrough of expansion variables for debugging
Step #1 - "ramble-unit-tests":   --lines LINES         lines of profile output or 'all' (default: 20)
Step #1 - "ramble-unit-tests":   --pdb                 run ramble under the pdb debugger
Step #1 - "ramble-unit-tests":   --print-shell-vars PRINT_SHELL_VARS
Step #1 - "ramble-unit-tests":                         print info needed by setup-env.[c]sh
Step #1 - "ramble-unit-tests":   --sorted-profile STAT
Step #1 - "ramble-unit-tests":                         profile and sort by one or more of:
Step #1 - "ramble-unit-tests":                         [calls, ncalls, cumtime, cumulative, filename, line, module]
Step #1 - "ramble-unit-tests":   --stacktrace          add stacktraces to all printed statements
Step #1 - "ramble-unit-tests":   --timestamp           Add a timestamp to tty output
Step #1 - "ramble-unit-tests":   --use-workspace-repo  when running in a workspace, use its application repository
Step #1 - "ramble-unit-tests":   -C DIR, --config-scope DIR
Step #1 - "ramble-unit-tests":                         add a custom configuration scope
Step #1 - "ramble-unit-tests":   -D DIR, --workspace-dir DIR
Step #1 - "ramble-unit-tests":                         run with a workspace directory (ignore named workspaces)
Step #1 - "ramble-unit-tests":   -H, --all-help        show help for all commands (same as ramble help --all)
Step #1 - "ramble-unit-tests":   -L, --disable-locks   do not use filesystem locking (unsafe)
Step #1 - "ramble-unit-tests":   -N, --disable-logger  disable the ramble logger. All output will be printed to stdout.
Step #1 - "ramble-unit-tests":   -P, --disable-progress-bar
Step #1 - "ramble-unit-tests":                         disable the progress bars while setting up experiments.
Step #1 - "ramble-unit-tests":   -V, --version         show version number and exit
Step #1 - "ramble-unit-tests":   -W, --no-workspace    run without any workspaces activated (see ramble workspace)
Step #1 - "ramble-unit-tests":   -c CONFIG_VARS, --config CONFIG_VARS
Step #1 - "ramble-unit-tests":                         add one or more custom, one off config settings.
Step #1 - "ramble-unit-tests":   -d, --debug           write out debug messages (more d's for more verbosity: -d, -dd, -ddd, etc.)
Step #1 - "ramble-unit-tests":   -h, --help            show this help message and exit
Step #1 - "ramble-unit-tests":   -k, --insecure        do not check ssl certificates when downloading
Step #1 - "ramble-unit-tests":   -l, --enable-locks    use filesystem locking (default)
Step #1 - "ramble-unit-tests":   -m, --mock            use mock applications instead of real ones
Step #1 - "ramble-unit-tests":   -p, --profile         profile execution using cProfile
Step #1 - "ramble-unit-tests":   -v, --verbose         print additional output during builds
Step #1 - "ramble-unit-tests":   -w WRKSPC, --workspace WRKSPC
Step #1 - "ramble-unit-tests":                         run with a specific workspace (see ramble workspace)
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": more help:
Step #1 - "ramble-unit-tests":   ramble help --all       list all commands and options
Step #1 - "ramble-unit-tests":   ramble help <command>   help on a specific command
Step #1 - "ramble-unit-tests":   ramble help --spec      help on the application specification syntax
Step #1 - "ramble-unit-tests":   ramble docs             open https://ramble.rtfd.io/ in a browser
Step #1 - "ramble-unit-tests": ============================= test session starts ==============================
Step #1 - "ramble-unit-tests": platform linux -- Python 3.9.5, pytest-8.0.2, pluggy-1.4.0 -- /opt/spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/miniconda3-4.10.3-7sasplhqfdkxyowhxaykwqt26bv2ouaq/bin/python
Step #1 - "ramble-unit-tests": cachedir: .pytest_cache
Step #1 - "ramble-unit-tests": rootdir: /workspace
Step #1 - "ramble-unit-tests": configfile: pytest.ini
Step #1 - "ramble-unit-tests": testpaths: lib/ramble/ramble/test
Step #1 - "ramble-unit-tests": collecting ... collected 982 items
Step #1 - "ramble-unit-tests": 
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_inheritance.py::test_basic_inheritance PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_application_type_features[ApplicationBase] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_application_type_features[ExecutableApplication] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_application_type_features[SpackApplication] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_workload_directive[ApplicationBase-func_types.method] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_workload_directive[ApplicationBase-func_types.directive] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_workload_directive[ExecutableApplication-func_types.method] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_workload_directive[ExecutableApplication-func_types.directive] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_workload_directive[SpackApplication-func_types.method] PASSED [  0%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_workload_directive[SpackApplication-func_types.directive] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_executable_directive[ApplicationBase-func_types.method] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_executable_directive[ApplicationBase-func_types.directive] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_executable_directive[ExecutableApplication-func_types.method] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_executable_directive[ExecutableApplication-func_types.directive] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_executable_directive[SpackApplication-func_types.method] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_executable_directive[SpackApplication-func_types.directive] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_figure_of_merit_directive[ApplicationBase-func_types.method] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_figure_of_merit_directive[ApplicationBase-func_types.directive] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_figure_of_merit_directive[ExecutableApplication-func_types.method] PASSED [  1%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_figure_of_merit_directive[ExecutableApplication-func_types.directive] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_figure_of_merit_directive[SpackApplication-func_types.method] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_figure_of_merit_directive[SpackApplication-func_types.directive] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_input_file_directive[ApplicationBase-func_types.method] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_input_file_directive[ApplicationBase-func_types.directive] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_input_file_directive[ExecutableApplication-func_types.method] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_input_file_directive[ExecutableApplication-func_types.directive] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_input_file_directive[SpackApplication-func_types.method] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_input_file_directive[SpackApplication-func_types.directive] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_define_compiler_directive[ApplicationBase-func_types.method] PASSED [  2%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_define_compiler_directive[ApplicationBase-func_types.directive] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_define_compiler_directive[ExecutableApplication-func_types.method] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_define_compiler_directive[ExecutableApplication-func_types.directive] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_define_compiler_directive[SpackApplication-func_types.method] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_define_compiler_directive[SpackApplication-func_types.directive] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_software_spec_directive[ApplicationBase-func_types.method] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_software_spec_directive[ApplicationBase-func_types.directive] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_software_spec_directive[ExecutableApplication-func_types.method] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_software_spec_directive[ExecutableApplication-func_types.directive] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_software_spec_directive[SpackApplication-func_types.method] PASSED [  3%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py::test_software_spec_directive[SpackApplication-func_types.directive] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_app_features[basic] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_app_features[basic-inherited] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_app_features[input-test] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_app_features[interleved-env-vars] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_app_features[register-builtin] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_basic_app PASSED       [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_application_copy_is_deep[basic] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_application_copy_is_deep[zlib] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_required_builtins[basic] PASSED [  4%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_required_builtins[basic-inherited] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_required_builtins[input-test] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_required_builtins[interleved-env-vars] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_required_builtins[register-builtin] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_register_builtin_app PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_short_print[basic] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_short_print[basic-inherited] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_short_print[input-test] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_short_print[interleved-env-vars] PASSED [  5%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_short_print[register-builtin] PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_get_executable_graph_initial PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_get_executable_graph_yaml_defined PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_get_executable_graph_custom_executables PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_set_input_path PASSED  [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_set_input_path_multi_input PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_set_default_experiment_variables PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_define_commands PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py::test_derive_variables_for_template_path PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cache_fetch.py::test_fetch_missing_cache[curl] PASSED [  6%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cache_fetch.py::test_fetch_missing_cache[urllib] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cache_fetch.py::test_fetch[curl] PASSED           [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cache_fetch.py::test_fetch[urllib] PASSED         [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags0] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags1] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags2] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags3] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags4] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags5] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags6] PASSED [  7%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags7] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags8] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags9] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags10] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags11] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags12] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_attributes_runs[flags13] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags0-maintained_apps-unmaintained_apps] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags1-maintained_apps-unmaintained_apps] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags2-tagged_apps-untagged_apps] PASSED [  8%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags3-tagged_apps-untagged_apps] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags4-maintained_apps-unmaintained_apps] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags5-tagged_apps-untagged_apps] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags6-unmaintained_apps-maintained_apps] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags7-untagged_apps-tagged_apps] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags8-mock_maintainers-list] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags9-mock_tags-list] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags10-maintained_mods-unmaintained_mods] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags11-maintained_mods-unmaintained_mods] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags12-tagged_mods-untagged_mods] PASSED [  9%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags13-tagged_mods-untagged_mods] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags14-maintained_mods-unmaintained_mods] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags15-tagged_mods-untagged_mods] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags16-unmaintained_mods-maintained_mods] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags17-untagged_mods-tagged_mods] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags18-mock_maintainers-list] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py::test_mock_attributes_list[flags19-mock_tags-list] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/clean.py::test_function_calls[-d-effects0] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/clean.py::test_function_calls[-m-effects1] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/clean.py::test_function_calls[-a-effects2] PASSED [ 10%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_get_config_scope PASSED       [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_get_config_scope_merged PASSED [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_merged_variables_section PASSED [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_merged_env_vars_section PASSED [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_merged_spack_section PASSED   [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_merged_success_criteria_section PASSED [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_merged_applications_section PASSED [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_edit PASSED            [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_get_gets_ramble_yaml PASSED [ 11%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_edit_edits_ramble_yaml PASSED [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_edit_fails_correctly_with_no_workspace PASSED [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_get_fails_correctly_with_no_workspace PASSED [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_list PASSED            [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add PASSED             [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_list PASSED        [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_override PASSED    [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_override_leaf PASSED [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_update_dict PASSED [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_with_c_argument PASSED [ 12%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_ordered_dict PASSED [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_from_file PASSED   [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_from_file_multiple PASSED [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_override_from_file PASSED [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_override_leaf_from_file PASSED [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_add_invalid_file_fails PASSED [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_remove_value PASSED    [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_remove_alias_rm PASSED [ 13%]
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py::test_config_remove_dict PASSED     [ 13%]
Step #1 - "ramble
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/cloud-build/builds/711ff951-1bf2-4786-86bc-08153fd3a090?project=993292483723.]
...
                                   16      1    94%   38
Step #1 - "ramble-unit-tests": lib/ramble/ramble/repository.py                                                     684    180    74%   28-29, 96, 113, 164-166, 222-224, 253-254, 273-281, 291-300, 304, 338-345, 351, 354, 369, 388, 408, 429, 478, 515-516, 558-559, 569-571, 579-581, 591-592, 614-619, 647-648, 664-665, 667, 672, 681-690, 745, 748, 752, 760, 782, 816, 911-916, 920-921, 928-936, 943-967, 977, 981-982, 995, 998, 1003-1013, 1022-1028, 1032, 1100-1101, 1108-1109, 1114, 1144, 1147, 1154-1159, 1177, 1186, 1191, 1194, 1210, 1213, 1219, 1223, 1227, 1235, 1249-1257, 1265-1268, 1277-1281, 1288-1293, 1297-1303, 1320, 1343, 1346, 1361, 1388, 1393, 1438, 1444-1447, 1465-1470
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/__init__.py                                                 23     10    57%   25, 35-46
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/applications.py                                             23      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/config.py                                                   34     13    62%   228-244
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/env_vars.py                                                  4      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/formatted_executables.py                                     3      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/internals.py                                                10      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/licenses.py                                                  7      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/merged.py                                                   15      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/mirrors.py                                                   3      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/modifier_repos.py                                            3      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/modifiers.py                                                 4      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/repos.py                                                     3      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/spack.py                                                     6      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/success_criteria.py                                          5      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/types.py                                                    10      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/variables.py                                                 5      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/workspace.py                                                13      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/schema/zips.py                                                      5      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/software_environments.py                                          302     40    87%   80, 105, 257, 279, 339, 367, 400, 408-409, 458, 464-493, 500, 506, 522, 560, 595, 710
Step #1 - "ramble-unit-tests": lib/ramble/ramble/spack_runner.py                                                   436     84    81%   77-78, 93-96, 139, 159, 191, 215, 245-258, 270-281, 319, 339, 346-353, 362, 378, 389, 393, 447, 491-495, 559-561, 645-647, 658-674, 680-687, 691-713, 732, 742, 746, 786, 794-797, 800-805
Step #1 - "ramble-unit-tests": lib/ramble/ramble/spec.py                                                           162    105    35%   79-82, 85-101, 105-110, 117-120, 136-137, 185-264, 268-270, 277, 285-288, 292-296, 300-303, 309, 315-316
Step #1 - "ramble-unit-tests": lib/ramble/ramble/stage.py                                                          422    133    68%   70, 74, 82-110, 115-129, 148, 167-168, 335, 409-410, 431, 450, 465, 470-473, 488-516, 523, 533, 552, 555, 561-563, 573, 585, 615-617, 631-632, 665, 682, 700-702, 705-707, 722, 726, 741, 743, 753, 756, 759, 762, 765, 770, 773, 776, 780, 783, 789, 818-891
Step #1 - "ramble-unit-tests": lib/ramble/ramble/success_criteria.py                                               106     12    89%   54, 61, 114, 128, 136, 154, 158, 168-172, 189-193, 203
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_inheritance.py                                    42      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_language.py                                      223      9    96%   57, 113, 157, 185, 204, 239, 257, 282, 302
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/application_tests.py                                         230      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cache_fetch.py                                                33      1    97%   44
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/attributes.py                                             36      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/clean.py                                                  25      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/config.py                                                302      3    99%   721-723
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/debug.py                                                   7      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/info.py                                                   43      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/list.py                                                   50      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/mirror.py                                                 84      2    98%   40-41
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/mods.py                                                   23      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/on.py                                                     63      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/python.py                                                 21      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/repo.py                                                   29      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/results.py                                                11      1    91%   38
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/software_definitions.py                                   23      5    78%   50-54
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/cmd/workspace.py                                             759     20    97%   37-39, 83-89, 108-116, 1591-1592
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/commands.py                                                   12      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/concretize_builtin.py                                         25      2    92%   97-98
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/conftest.py                                                  297     54    82%   51-57, 84-89, 149-150, 183-186, 213-215, 328-330, 335, 338, 341, 349-353, 358-359, 362, 365, 370-373, 376-390, 414, 420-425, 433-442, 528
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/dry_run_helpers.py                                            50      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/chained_experiment_var_inheritance.py              39      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/config_section_env_vars.py                         29      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/custom_executables.py                              48      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/dryrun_chained_experiments.py                      72      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/dryrun_copies_external_env.py                      33      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/dryrun_series_contains_package_paths.py            30      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/env_var_builtin.py                                 60      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/exclusive_filtered_vector_workloads.py             31      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/expanded_fom_dry_run.py                            36      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/experiment_excludes.py                            118      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/experiment_repeats.py                              76      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/explicit_zips.py                                  114      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/formatted_executables.py                           45      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/gromacs_size_expansion.py                          21      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/inclusive_filtered_vector_workloads.py             31      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/known_applications.py                              50      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/merge_config_files.py                              35      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/missing_required_dry_run.py                        20      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/nested_compilers_are_installed.py                  34      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/package_manager_config.py                          24      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/package_manager_requirements.py                    45      4    91%   53-54, 106-107
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/passthrough_variables.py                           46      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/phase_selection.py                                 49      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/phase_selection_with_dependencies.py               58      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/shared_context.py                                  32      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/tag_filtering.py                                   34      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/test_configvar_dry_run.py                          41      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/unused_compilers_are_skipped.py                    34      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/vector_workloads.py                                24      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/end_to_end/wrfv4_dry_run.py                                  124      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/expander.py                                                   24      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/experiment_set.py                                            877     26    97%   148-152, 195, 538, 694, 854-856, 892-894, 940-942, 991-993, 1193, 1250, 1562, 1608, 1653, 1698-1700
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/gcs_fetch.py                                                  51      6    88%   75-80
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/mirror_tests.py                                               81      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_application.py                                       24      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/mock_env_var_modifiers.py              24      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/mock_modifier_dry_run.py               27      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/mock_modifier_phases.py                50      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/mock_modifier_spack_configs.py         25      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/mock_spack_modifier.py                 29      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/modifier_helpers.py                    90      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/modifier_prepare_analysis.py           31      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/multi_modifier_dry_run.py              33      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_functionality/single_modifier_dry_run.py             41      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/modifier_language.py                                         348     18    95%   68, 116, 169, 187, 209, 254, 293, 379, 413, 440-443, 480-483, 525-529
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/namespace_trie.py                                             57      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/repository.py                                                 30      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/software_environment.py                                      201      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/spack_runner.py                                              295     38    87%   22-23, 32-33, 43-44, 55-56, 70-71, 105-106, 133-134, 162-163, 178-179, 202-203, 226-227, 252-253, 274-275, 331-332, 415-416, 443-444, 456-457, 507-508, 529-530
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/spec_basic.py                                                 12      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/stage.py                                                     450     49    89%   126, 151-152, 227, 313, 347-374, 401, 674-700, 710-714, 724-725, 794-796
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria.py                                           29      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria/always_print_foms.py                         25      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria/repeat_success_strict.py                     45      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria/success_fom_comparison.py                    29      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria/success_fom_globbing.py                      29      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria/success_functions.py                         25      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria/success_modifiers.py                         29      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/success_criteria/success_variable_fom_comparison.py           32      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/util/editor.py                                                79      4    95%   25, 72, 102, 114
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/util/env.py                                                   26      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/util/stats.py                                                  5      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/workspace_hashing/unsetup_workspace_cannot_analyze.py         22      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/workspace_hashing/workspace_name_does_not_change_hash.py      27      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/workspace_hashing/workspace_setup_creates_inventory.py        22      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/test/workspace_tests.py                                            14      3    79%   22-24
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/__init__.py                                                    0      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/colors.py                                                     30      4    87%   25-28
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/directives.py                                                 15      1    93%   39
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/editor.py                                                     47      3    94%   48, 92, 131
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/env.py                                                        48      1    98%   27
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/executable.py                                                 39      3    92%   85, 104-111
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/file_cache.py                                                 77     22    71%   50-55, 84-88, 96, 112, 134, 143, 148, 166-167, 170-176
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/graph.py                                                      23      3    87%   63, 71, 89
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/hashing.py                                                    16      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/imp/__init__.py                                                5      2    60%   28-29
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/imp/importlib_importer.py                                     22      2    91%   25, 33
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/install_cache.py                                               8      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/lock.py                                                       39     18    54%   36, 44-45, 48-49, 62-81
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/logger.py                                                     88      9    90%   104, 168-170, 180-181, 203-205
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/matrices.py                                                   16      1    94%   34
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/naming.py                                                    121     48    60%   64, 73-76, 82-93, 116-141, 151, 157, 162-163, 170-172, 179-181, 212, 215, 235-241, 258-263, 266-268
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/path.py                                                       36      8    78%   54-64
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/spec_utils.py                                                 20      5    75%   20, 23, 27, 29, 31
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/stats.py                                                      68      1    99%   34
Step #1 - "ramble-unit-tests": lib/ramble/ramble/util/web.py                                                       389    282    28%   46, 61-62, 65-68, 73, 76-81, 112, 119-120, 125, 136-139, 146-147, 151, 159-164, 170, 177-178, 183, 192-228, 234-261, 265-270, 274-324, 330-341, 345-361, 365-377, 381-383, 387-407, 427-549, 557-558, 563, 567-568, 575-579, 607-695, 716, 720-725, 735-738
Step #1 - "ramble-unit-tests": lib/ramble/ramble/workspace/__init__.py                                               3      0   100%
Step #1 - "ramble-unit-tests": lib/ramble/ramble/workspace/shell.py                                                 65     48    26%   19-59, 63-93, 144
Step #1 - "ramble-unit-tests": lib/ramble/ramble/workspace/workspace.py                                            804    140    83%   182-183, 203, 247, 265-266, 279, 299-301, 307, 320, 325-328, 356, 393-409, 494-495, 531, 593-606, 612-622, 640-644, 647-650, 654-655, 739-748, 799-809, 820-821, 841-842, 853-857, 863, 907-910, 912-914, 936, 941-943, 957-960, 966, 981, 992, 995, 1003-1004, 1030, 1094, 1115, 1134-1135, 1165, 1174-1175, 1256, 1290-1291, 1295-1297, 1304-1305, 1310-1312, 1347, 1355, 1359-1361, 1395-1401, 1428, 1438, 1446-1448, 1455, 1488-1489, 1496-1497
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/basic-inherited/application.py             6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/basic/application.py                      14      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/expanded_foms/application.py              10      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/input-test/application.py                 10      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/interleved-env-vars/application.py        13      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/maintained-1/application.py                6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/maintained-2/application.py                6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/register-builtin/application.py           17      1    94%   41
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/shared-context/application.py             12      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/success-function/application.py            8      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/tagged-1/application.py                    6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/unmaintained-1/application.py              5      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/untagged-1/application.py                  5      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/workload-tags/application.py               7      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/zlib-configs/application.py                9      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/applications/zlib/application.py                        8      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/append-env-var-mod-paths/modifier.py          6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/append-env-var-mod-vars/modifier.py           6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/maintained-1/modifier.py                      6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/maintained-2/modifier.py                      6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/mod-phase/modifier.py                        12      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/multiple-modes-no-default/modifier.py         6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/multiple-modes-with-default/modifier.py       7      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/no-docstring-mod/modifier.py                  5      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/no-variable-mods/modifier.py                  5      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/prepare-analysis/modifier.py                 10      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/prepend-env-var-mod-paths/modifier.py         6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/set-env-var-mod/modifier.py                   8      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/spack-failed-reqs/modifier.py                 9      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/spack-mod/modifier.py                        13      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/success-criteria/modifier.py                  9      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/tagged-1/modifier.py                          5      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/test-mod/modifier.py                         17      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/unmaintained-1/modifier.py                    5      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/unset-env-var-mod/modifier.py                 6      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin.mock/modifiers/untagged-1/modifier.py                        4      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/cloverleaf/application.py                      40      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/elk/application.py                             16      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/gromacs/application.py                         68      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/hmmer/application.py                           22      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/hostname/application.py                        18      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/hpcc/application.py                            25      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/hpcg/application.py                            34      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/hpl/application.py                            129      8    94%   210, 214-219, 233, 242
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/intel-hpl/application.py                      129      8    94%   211, 215-220, 234, 243
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/intel-mpi-benchmarks/application.py            40      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/ior/application.py                             46      1    98%   124
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/iperf2/application.py                          23      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/lammps/application.py                          57      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/lulesh/application.py                          28      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/md-test/application.py                         26      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/minixyce/application.py                        70     15    79%   103-135, 158-166
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/namd/application.py                            77      9    88%   332-336, 339-346
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/nvbandwidth/application.py                     11      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/openfoam/application.py                        61      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/osu-micro-benchmarks/application.py            21      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/quantum-espresso/application.py                44      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/sleep/application.py                           24      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/spack-stack/application.py                     48      5    90%   120, 127-130
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/streamc/application.py                         26      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/ufs-weather-model/application.py               32      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/wrfv3/application.py                           61     25    59%   102-129
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/applications/wrfv4/application.py                           62      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/conditional-psm3/modifier.py                      17      7    59%   41-83
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/execution-date/modifier.py                        19      9    53%   27-48
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/gcp-metadata/modifier.py                          33     19    42%   30-59, 62-72
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/install-ramble/modifier.py                        25      7    72%   72-85
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/install-spack/modifier.py                         23      7    70%   60-73
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/intel-aps/modifier.py                             41      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/lscpu/modifier.py                                 16      0   100%
Step #1 - "ramble-unit-tests": var/ramble/repos/builtin/modifiers/pre-exec-print/modifier.py                        20     10    50%   35-55
Step #1 - "ramble-unit-tests": ---------------------------------------------------------------------------------------------------------------
Step #1 - "ramble-unit-tests": TOTAL                                                                             21460   3692    83%
Finished Step #1 - "ramble-unit-tests"
PUSH
DONE

Build Log: https://console.cloud.google.com/cloud-build/builds/711ff951-1bf2-4786-86bc-08153fd3a090?project=993292483723