ramble.test namespace

Subpackages

Submodules

ramble.test.application_inheritance module

ramble.test.application_inheritance.test_basic_inheritance(mutable_mock_apps_repo)[source]

ramble.test.application_language module

Perform tests of the Application class

ramble.test.application_language.add_compiler(app_inst, spec_num=1)[source]
ramble.test.application_language.add_executable(app_inst, exe_num=1)[source]
ramble.test.application_language.add_figure_of_merit(app_inst, fom_num=1)[source]
ramble.test.application_language.add_input_file(app_inst, input_num=1)[source]
ramble.test.application_language.add_software_spec(app_inst, spec_num=1)[source]
ramble.test.application_language.add_workload(app_inst, wl_num=1)[source]
ramble.test.application_language.test_application_type_features(app_class)[source]
ramble.test.application_language.test_define_compiler_directive(app_class)[source]
ramble.test.application_language.test_executable_directive(app_class)[source]
ramble.test.application_language.test_figure_of_merit_directive(app_class)[source]
ramble.test.application_language.test_input_file_directive(app_class)[source]
ramble.test.application_language.test_software_spec_directive(app_class)[source]
ramble.test.application_language.test_workload_directive(app_class)[source]

ramble.test.application_tests module

Perform tests of the Application class

ramble.test.application_tests.basic_exp_dict()[source]

To set expander consistently with test_wl2 of builtin.mock/applications/basic

ramble.test.application_tests.test_app_features(mutable_mock_apps_repo, app)[source]
ramble.test.application_tests.test_application_copy_is_deep(mutable_mock_apps_repo, app_name)[source]
ramble.test.application_tests.test_basic_app(mutable_mock_apps_repo)[source]
ramble.test.application_tests.test_class_attributes(mutable_mock_apps_repo)[source]
ramble.test.application_tests.test_define_commands(mutable_mock_apps_repo)[source]

test _define_commands

ramble.test.application_tests.test_derive_variables_for_template_path(mutable_mock_apps_repo)[source]

_set_default_variables_for_template_path

ramble.test.application_tests.test_get_executable_graph_custom_executables(mutable_mock_apps_repo)[source]

_get_executable_graph, test3, custom executables

ramble.test.application_tests.test_get_executable_graph_initial(mutable_mock_apps_repo)[source]

_get_executable_graph, test1, workload executables

ramble.test.application_tests.test_get_executable_graph_yaml_defined(mutable_mock_apps_repo)[source]

_get_executable_graph, test2, yaml-defined order

ramble.test.application_tests.test_register_builtin_app(mutable_mock_apps_repo)[source]
ramble.test.application_tests.test_required_builtins(mutable_mock_apps_repo, app)[source]
ramble.test.application_tests.test_set_default_experiment_variables(mutable_mock_apps_repo)[source]

_set_default_experiment_variables

ramble.test.application_tests.test_set_input_path(mutable_mock_apps_repo)[source]

_set_input_path

ramble.test.application_tests.test_set_input_path_multi_input(mutable_mock_apps_repo)[source]

Tests set_input_path with multiple inputs in a given workload

ramble.test.application_tests.test_short_print(mutable_mock_apps_repo, app)[source]
ramble.test.application_tests.test_workload_groups(mutable_mock_apps_repo)[source]
ramble.test.application_tests.test_workload_groups_inherited(mutable_mock_apps_repo)[source]

ramble.test.cache_fetch module

ramble.test.cache_fetch.test_fetch(tmpdir, _fetch_method)[source]

Ensure a fetch after expanding is effectively a no-op.

ramble.test.cache_fetch.test_fetch_missing_cache(tmpdir, _fetch_method)[source]

Ensure raise a missing cache file.

ramble.test.commands module

ramble.test.commands.test_available_command()[source]
ramble.test.commands.test_missing_command()[source]

ramble.test.concretize_builtin module

ramble.test.concretize_builtin.test_concretize_does_not_set_required(mutable_config, mutable_mock_workspace_path)[source]

Verify that concretizing an application with required set to True does not insert a required statement into software dict.

ramble.test.config_test module

ramble.test.config_test.test_default_configs_no_conflict(default_config)[source]

Ensure the hard-coded config_defaults do not conflict with etc/defaults/config.yaml

ramble.test.config_test.test_process_config_path_error(config, expected_error)[source]

ramble.test.conftest module

class ramble.test.conftest.ConfigUpdate(root_for_conf, writer_mod, writer_key, monkeypatch)[source]

Bases: object

class ramble.test.conftest.MockBundle[source]

Bases: object

has_code = False
name = 'mock-bundle'
versions = {}
class ramble.test.conftest.MockCache[source]

Bases: object

fetcher(target_path, digest, **kwargs)[source]
store(copy_cmd, relative_dest)[source]
class ramble.test.conftest.MockCacheFetcher[source]

Bases: object

fetch()[source]
class ramble.test.conftest.MockConfig(configuration, writer_key)[source]

Bases: object

configuration()[source]
writer_configuration()[source]
class ramble.test.conftest.MockLayout(root)[source]

Bases: object

check_installed(spec)[source]
path_for_spec(spec)[source]
ramble.test.conftest.clear_directive_functions()[source]

Clear all overridden directive functions for subsequent tests.

ramble.test.conftest.config(mock_configuration_scopes)[source]

This fixture activates/deactivates the mock configuration.

ramble.test.conftest.configuration_dir(tmpdir_factory, linux_os)[source]

Copies mock configuration files in a temporary directory. Returns the directory path.

ramble.test.conftest.default_config()[source]

Isolates the default configuration from the user configs.

This ensures we can test the real default configuration without having tests fail when the user overrides the defaults that we test against.

ramble.test.conftest.gen_mock_layout(tmpdir)[source]
ramble.test.conftest.install_mockery_mutable_config(mutable_config, mock_applications)[source]

Hooks fake applications and config directory into Ramble.

This is specifically for tests which want to use ‘install_mockery’ but also need to modify configuration (and hence would want to use ‘mutable config’): ‘install_mockery’ does not support this.

ramble.test.conftest.linux_os()[source]

Returns a named tuple with attributes ‘name’ and ‘version’ representing the OS.

ramble.test.conftest.mock_applications(mock_apps_repo_path)[source]

Use the ‘builtin.mock’ repository for applications instead of ‘builtin’

ramble.test.conftest.mock_apps_repo_path()[source]
ramble.test.conftest.mock_archive(request, tmpdir_factory)[source]

Creates a very simple archive directory with a configure script and a makefile that installs to a prefix. Tars it up into an archive.

ramble.test.conftest.mock_configuration_scopes(configuration_dir)[source]

Create a persistent Configuration object from the configuration_dir.

ramble.test.conftest.mock_directive_bundle()[source]

Return a mock bundle package for directive tests.

ramble.test.conftest.mock_executable(tmpdir)[source]

Factory to create a mock executable in a temporary directory that output a custom string when run.

ramble.test.conftest.mock_fetch(mock_archive, monkeypatch)[source]

Fake the URL for an input so it downloads from a file.

ramble.test.conftest.mock_fetch_cache(monkeypatch)[source]

Substitutes ramble.paths.fetch_cache with a mock object that does nothing and raises on fetch.

ramble.test.conftest.mock_file_auto_create(monkeypatch)[source]
ramble.test.conftest.mock_low_high_config(tmpdir)[source]

Mocks two configuration scopes: ‘low’ and ‘high’.

ramble.test.conftest.mock_modifiers(mock_mods_repo_path)[source]

Use the ‘builtin.mock’ repository for modifiersinstead of ‘builtin’

ramble.test.conftest.mock_mods_repo_path()[source]
ramble.test.conftest.mock_package_managers(mock_pkg_mans_repo_path)[source]

Use the ‘builtin.mock’ repository for package managers of ‘builtin’

ramble.test.conftest.mock_pkg_mans_repo_path()[source]
ramble.test.conftest.mock_wms_repo_path()[source]
ramble.test.conftest.mock_workflow_managers(mock_wms_repo_path)[source]

Use the ‘builtin.mock’ repository for package managers of ‘builtin’

ramble.test.conftest.mutable_applications(mutable_apps_repo_path)[source]
ramble.test.conftest.mutable_apps_repo_path()[source]
ramble.test.conftest.mutable_config(tmpdir_factory, configuration_dir)[source]

Like config, but tests can modify the configuration.

ramble.test.conftest.mutable_empty_config(tmpdir_factory, configuration_dir)[source]

Empty configuration that can be modified by the tests.

ramble.test.conftest.mutable_mock_apps_repo(mock_apps_repo_path)[source]

Function-scoped mock applications, for tests that need to modify them.

ramble.test.conftest.mutable_mock_mods_repo(mock_mods_repo_path)[source]

Function-scoped mock modifiers, for tests that need to modify them.

ramble.test.conftest.mutable_mock_pkg_mans_repo(mock_pkg_mans_repo_path)[source]

Function-scoped mock package managers, for tests that need to modify them.

ramble.test.conftest.mutable_mock_wms_repo(mock_wms_repo_path)[source]

Function-scoped mock package managers, for tests that need to modify them.

ramble.test.conftest.mutable_mock_workspace_path(tmpdir_factory, mutable_config)[source]

Fixture for mocking the internal ramble workspaces directory.

ramble.test.conftest.mutable_modifiers(mutable_mods_repo_path)[source]
ramble.test.conftest.mutable_mods_repo_path()[source]
ramble.test.conftest.mutable_package_managers(mutable_pkg_mans_repo_path)[source]
ramble.test.conftest.mutable_pkg_mans_repo_path()[source]
ramble.test.conftest.mutable_wms_repo_path()[source]
ramble.test.conftest.mutable_workflow_managers(mutable_wms_repo_path)[source]
ramble.test.conftest.no_chdir()[source]

Ensure that no test changes Ramble’s working directory.

This prevents Ramble tests (and therefore Ramble commands) from changing the working directory and causing other tests to fail mysteriously. Tests should use working_dir or py.path’s .as_cwd() instead of os.chdir to avoid failing this check.

We assert that the working directory hasn’t changed, unless the original wd somehow ceased to exist.

ramble.test.conftest.no_path_access(monkeypatch)[source]
ramble.test.conftest.print_all_logs(monkeypatch)[source]
ramble.test.conftest.pytest_addoption(parser)[source]
ramble.test.conftest.pytest_collection_modifyitems(config, items)[source]
ramble.test.conftest.pytest_generate_tests(metafunc)[source]
ramble.test.conftest.remove_whatever_it_is(path)[source]

Type-agnostic remove.

ramble.test.conftest.working_env()[source]

ramble.test.dry_run_helpers module

class ramble.test.dry_run_helpers.SCOPES(*values)

Bases: Enum

application = 2
experiment = 4
workload = 3
workspace = 1
ramble.test.dry_run_helpers.dry_run_config(section_name, injections, config_path, app_name, wl_name, batch_cmd='batch_submit')[source]

Creates a new configuration with modifiers injected

Input argument injections is a list of tuples. Each tuple has two values, and takes the form:

(scope, injection_dict)

scope is the scope the injection dict should be injected into injection_dict is a dict representing the new injection into the config

config_path is the path to the config file that should be written

ramble.test.dry_run_helpers.search_files_for_string(file_list, string)[source]

ramble.test.expander module

ramble.test.expander.exp_dict()[source]
ramble.test.expander.test_expand_var_name(input, output)[source]
ramble.test.expander.test_expansion_namespaces()[source]
ramble.test.expander.test_expansions(input, output, no_expand_vars, passes)[source]
ramble.test.expander.test_typed_expansions(input, output, no_expand_vars, passes)[source]

ramble.test.experiment_result module

Tests on the ExperimentResult class

ramble.test.experiment_result.test_to_dict(mutable_mock_apps_repo)[source]

ramble.test.experiment_set module

ramble.test.experiment_set.test_chained_cycle_errors(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_chained_experiment_has_correct_directory(mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_chained_experiments_populate_new_experiments(mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_chained_invalid_order_errors(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_cross_experiment_missing_experiment_errors(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_cross_experiment_variable_references(request, mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_custom_executables_track_variables(request, mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_experiment_names_match(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_explicit_zips_in_matrix(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_explicit_zips_unconsumed(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_explicit_zips_work(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_full_experiments_from_dict(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_matrix_experiments(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_matrix_experiments_explicit_excludes(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_matrix_multiplication_experiments(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_matrix_undefined_var_errors(mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_matrix_vector_experiments(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_missing_required_keyword_errors(mutable_mock_workspace_path, var, capsys)[source]
ramble.test.experiment_set.test_modifiers_set_correctly(mutable_mock_workspace_path, mock_modifiers, capsys)[source]
ramble.test.experiment_set.test_multi_matrix_experiments(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_n_nodes_correct_defaults(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_n_ranks_correct_defaults(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_nonunique_vector_errors(mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_processes_per_node_correct_defaults(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_reserved_keywords_error_in_application(mutable_mock_workspace_path, var)[source]
ramble.test.experiment_set.test_reserved_keywords_error_in_experiment(mutable_mock_workspace_path, var)[source]
ramble.test.experiment_set.test_reserved_keywords_error_in_workload(mutable_mock_workspace_path, var)[source]
ramble.test.experiment_set.test_single_experiment_in_set(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_single_var_explicit_zip(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_unused_var_propagates_to_chain(request, mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_unused_vector_no_error(request, mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_unused_zip_no_error(request, mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_vector_experiment_in_set(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_vector_experiment_with_explicit_excludes(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_vector_experiment_with_multi_where_excludes(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_vector_experiment_with_where_excludes(mutable_mock_workspace_path)[source]
ramble.test.experiment_set.test_vector_length_mismatch_errors(request, mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_zip_multi_use_var_errors(mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_zip_non_list_var_errors(mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_zip_variable_lengths_errors(mutable_mock_workspace_path, capsys)[source]
ramble.test.experiment_set.test_zipped_vector_experiments(mutable_mock_workspace_path)[source]

ramble.test.gcs_fetch module

ramble.test.gcs_fetch.test_gcsfetchstrategy_bad_url(tmpdir, _fetch_method)[source]

Ensure fetch with bad URL fails as expected.

ramble.test.gcs_fetch.test_gcsfetchstrategy_download(tmpdir, _fetch_method)[source]

Ensure fetch of fie.

ramble.test.gcs_fetch.test_gcsfetchstrategy_downloaded(tmpdir, _fetch_method)[source]

Ensure fetch with archive file already downloaded is a noop.

ramble.test.gcs_fetch.test_gcsfetchstrategy_without_url(_fetch_method)[source]

Ensure constructor with no URL fails.

ramble.test.get_file_path module

ramble.test.get_file_path.test_get_file_path(mock_applications, mock_file_auto_create)[source]

ramble.test.mirror_tests module

class ramble.test.mirror_tests.MockFetcher[source]

Bases: object

Mock fetcher object which implements the necessary functionality for testing MirrorCache

static archive(dst)[source]
ramble.test.mirror_tests.check_mirror(mirror_path, app_name, app_class)[source]
ramble.test.mirror_tests.create_archive(archive_dir, app_class)[source]

Confirm that the cosmetic symlink created in the mirror cache (which may be relative) targets the storage path correctly.

ramble.test.mirror_tests.test_mirror_create(tmpdir, mutable_mock_workspace_path, app_name, tmpdir_factory)[source]

ramble.test.modifier_application module

ramble.test.modifier_application.test_wrfv4_aps_test(mutable_config, mutable_mock_workspace_path)[source]

ramble.test.modifier_language module

Perform tests of the Application class

ramble.test.modifier_language.add_archive_pattern(mod_inst, archive_num=1)[source]
ramble.test.modifier_language.add_compiler(mod_inst, spec_num=1)[source]
ramble.test.modifier_language.add_env_var_modification(mod_inst, env_var_mod_num=1)[source]
ramble.test.modifier_language.add_executable_modifier(mod_inst, exec_mod_num=1)[source]
ramble.test.modifier_language.add_figure_of_merit(mod_inst, context_num=1)[source]
ramble.test.modifier_language.add_figure_of_merit_context(mod_inst, context_num=1)[source]
ramble.test.modifier_language.add_mode(mod_inst, mode_num=1)[source]
ramble.test.modifier_language.add_modifier_variable(mod_inst, mod_var_num=1)[source]
ramble.test.modifier_language.add_required_package(mod_inst, pkg_num=1)[source]
ramble.test.modifier_language.add_software_spec(mod_inst, spec_num=1)[source]
ramble.test.modifier_language.add_variable_modification(mod_inst, var_mod_num=1)[source]
ramble.test.modifier_language.test_archive_pattern_directive(mod_class)[source]
ramble.test.modifier_language.test_define_compiler_directive(mod_class)[source]
ramble.test.modifier_language.test_env_var_modification_directive(mod_class)[source]
ramble.test.modifier_language.test_executable_modifier_directive(mod_class)[source]
ramble.test.modifier_language.test_figure_of_merit_context_directive(mod_class)[source]
ramble.test.modifier_language.test_figure_of_merit_directive(mod_class)[source]
ramble.test.modifier_language.test_mode_directive(mod_class)[source]
ramble.test.modifier_language.test_modifier_class_attributes(mod_class)[source]
ramble.test.modifier_language.test_modifier_type_features(mod_class)[source]
ramble.test.modifier_language.test_modifier_variable_directive(mod_class)[source]
ramble.test.modifier_language.test_required_package_directive(mod_class)[source]
ramble.test.modifier_language.test_software_spec_directive(mod_class)[source]
ramble.test.modifier_language.test_variable_modification_directive(mod_class)[source]
ramble.test.modifier_language.test_variable_modification_invalid_method(mod_class)[source]
ramble.test.modifier_language.test_variable_modification_missing_mode(mod_class)[source]

ramble.test.namespace_trie module

ramble.test.namespace_trie.test_add_multiple(trie)[source]
ramble.test.namespace_trie.test_add_none_multiple(trie)[source]
ramble.test.namespace_trie.test_add_none_single(trie)[source]
ramble.test.namespace_trie.test_add_single(trie)[source]
ramble.test.namespace_trie.test_add_three(trie)[source]
ramble.test.namespace_trie.trie()[source]

ramble.test.package_manager_language module

Perform tests of the package manager class

ramble.test.package_manager_language.add_variable(pm_inst, pm_num=1)[source]
ramble.test.package_manager_language.test_pkg_man_type_features(pm_class)[source]
ramble.test.package_manager_language.test_pkg_man_variables(pm_class)[source]

ramble.test.reports module

ramble.test.reports.create_test_exp(success, name, n_nodes, wl_ns, ramble_vars, ramble_raw_vars, context, fom_name, fom_value, units, origin, origin_type, fom_type, better_direction, fv, ifv, normalized=False, repeat_index='0')[source]
ramble.test.reports.test_compare_plot(mutable_mock_workspace_path, tmpdir_factory)[source]
ramble.test.reports.test_fom_plot(mutable_mock_workspace_path, tmpdir_factory)[source]
ramble.test.reports.test_multiple_groupby(mutable_mock_workspace_path, tmpdir_factory, capsys)[source]
ramble.test.reports.test_repeat_import(mutable_mock_workspace_path)[source]
ramble.test.reports.test_scaling_plots(mutable_mock_workspace_path, tmpdir_factory, values)[source]
ramble.test.reports.test_where_query(mutable_mock_workspace_path)[source]

ramble.test.repository module

ramble.test.repository.extra_repo(tmpdir_factory, request)[source]
ramble.test.repository.test_list_object_files(obj_name, obj_type, expected, mutable_apps_repo_path, mutable_mods_repo_path, mutable_pkg_mans_repo_path)[source]
ramble.test.repository.test_repo_app_with_unknown_namespace(mutable_mock_apps_repo)[source]
ramble.test.repository.test_repo_getapp(mutable_mock_apps_repo)[source]
ramble.test.repository.test_repo_multi_getapp(mutable_mock_apps_repo, extra_repo)[source]
ramble.test.repository.test_repo_multi_getappclass(mutable_mock_apps_repo, extra_repo)[source]
ramble.test.repository.test_repo_unknown_app(mutable_mock_apps_repo)[source]

ramble.test.software_environment module

ramble.test.software_environment.test_basic_software_environment(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_compiler_in_environment_warns(request, mutable_mock_workspace_path, capsys)[source]
ramble.test.software_environment.test_invalid_environment_error(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_invalid_packages_error(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_multi_template_software_environments(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_software_environments_no_packages(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_software_environments_no_rendered_packages(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_template_software_environments(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_undefined_compiler_errors(request, mutable_mock_workspace_path)[source]
ramble.test.software_environment.test_undefined_package_errors(request, mutable_mock_workspace_path)[source]

ramble.test.spec_basic module

Perform tests of the Spec class

class ramble.test.spec_basic.TestSpec[source]

Bases: object

test_spec_copy()[source]
test_spec_examples()[source]

ramble.test.stage module

Test that the Stage class works correctly.

class ramble.test.stage.TestStage[source]

Bases: object

stage_name = 'ramble-test-stage'
test_composite_stage_with_expand_resource(composite_stage_with_expanding_resource)[source]
test_composite_stage_with_expand_resource_default_placement(composite_stage_with_expanding_resource)[source]

For a resource which refers to a compressed archive which expands to a directory, check that by default the resource is placed in the source_path of the root stage with the name of the decompressed directory.

test_composite_stage_with_noexpand_resource(mock_stage_archive, mock_noexpand_resource)[source]
test_create_stage_root(tmpdir, no_path_access)[source]

Test _create_stage_root permissions.

test_create_stage_root_bad_uid(tmpdir, monkeypatch)[source]

Test the code path that uses an existing user path – whether $user in $tempdir or not – and triggers the generation of the UID mismatch warning.

This situation can happen with some config:build_stage settings for teams using a common service account for installing software.

test_ensure_one_stage_entry(mock_stage_archive)[source]
test_expand_archive(expected_file_list, mock_stage_archive)[source]
test_expand_archive_extra_expand(mock_stage_archive)[source]

Test expand with an extra expand after expand (i.e., no-op).

test_fetch(mock_stage_archive, debug)[source]
test_first_accessible_path(tmpdir)[source]

Test _first_accessible_path names.

test_input_path_available(mock_stage_archive)[source]

Ensure input path available but does not exist on instantiation.

test_keep_exceptions(mock_stage_archive)[source]
test_keep_without_exceptions(mock_stage_archive)[source]
test_no_keep_with_exceptions(mock_stage_archive)[source]
test_no_keep_without_exceptions(mock_stage_archive)[source]
test_no_search_if_default_succeeds(mock_stage_archive, failing_search_fn)[source]
test_no_search_mirror_only(failing_fetch_strategy, failing_search_fn, tmpdir)[source]
test_noexpand_stage_file(mock_noexpand_resource, tmpdir)[source]

When creating a stage with a nonexpanding URL, the ‘archive_file’ property of the stage should refer to the path of that file.

test_resolve_paths()[source]

Test _resolve_paths.

test_restage(mock_stage_archive)[source]
test_search_if_default_fails(failing_fetch_strategy, search_fn, err_msg, expected, tmpdir)[source]
test_setup_and_destroy_name_with_tmp(mock_stage_archive)[source]
test_setup_and_destroy_name_without_tmp(mock_stage_archive)[source]
test_setup_no_name_fails(mock_stage_archive)[source]
test_stage_constructor_no_fetcher()[source]

Ensure Stage constructor with no URL or fetch strategy fails.

test_stage_constructor_with_path(tmpdir)[source]

Ensure Stage constructor with a path uses it.

ramble.test.stage.check_destroy(stage, stage_name)[source]

Figure out whether a stage was destroyed correctly.

ramble.test.stage.check_expand_archive(stage, stage_name, expected_file_list)[source]

Ensure the expanded archive directory contains the expected structure and files as described in the module-level comments above.

ramble.test.stage.check_fetch(stage, stage_name)[source]

Ensure the fetch resulted in a properly placed archive file as described in the module-level comments.

ramble.test.stage.check_setup(stage, stage_name, archive)[source]

Figure out whether a stage was set up correctly.

ramble.test.stage.check_stage_dir_perms(prefix, path)[source]

Check the stage directory perms to ensure match expectations.

ramble.test.stage.clear_stage_root(monkeypatch)[source]

Ensure spack.stage._stage_root is not set at test start.

ramble.test.stage.composite_stage_with_expanding_resource(mock_stage_archive, mock_expand_resource)[source]

Sets up a composite for expanding resources prior to staging.

ramble.test.stage.failing_fetch_strategy()[source]

Returns a fetch strategy that fails.

ramble.test.stage.failing_search_fn()[source]

Returns a search function that fails! Always!

ramble.test.stage.mock_expand_resource(tmpdir)[source]

Sets up an expandable resource in tmpdir prior to staging.

ramble.test.stage.mock_noexpand_resource(tmpdir)[source]

Set up a non-expandable resource in the tmpdir prior to staging.

ramble.test.stage.mock_stage_archive(tmp_build_stage_dir)[source]

Create the directories and files for the staged mock archive.

ramble.test.stage.search_fn()[source]

Returns a search function that always succeeds.

ramble.test.stage.test_cannot_access(capsys)[source]

Ensure can_access dies with the expected error.

ramble.test.stage.test_stage_create_replace_path(tmp_build_stage_dir)[source]

Ensure stage creation replaces a non-directory path.

ramble.test.stage.tmp_build_stage_dir(tmpdir, clear_stage_root)[source]

Use a temporary test directory for the stage root.

ramble.test.success_criteria module

ramble.test.success_criteria.generate_file(path)[source]
ramble.test.success_criteria.remark_all(crit_list, file_path)[source]
ramble.test.success_criteria.test_criteria_list(tmpdir)[source]
ramble.test.success_criteria.test_single_criteria(tmpdir)[source]

ramble.test.workspace_tests module

ramble.test.workspace_tests.test_re_read(tmpdir)[source]
ramble.test.workspace_tests.test_read_file_content(tmpdir)[source]
ramble.test.workspace_tests.workspace_deactivate()[source]