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

List of tests that touch the solver in any way #1

Open
jaimergp opened this issue Nov 4, 2024 · 0 comments
Open

List of tests that touch the solver in any way #1

jaimergp opened this issue Nov 4, 2024 · 0 comments

Comments

@jaimergp
Copy link
Member

jaimergp commented Nov 4, 2024

Use codecov contexts to obtain a list of all conda/conda and conda/conda-libmamba-solver tests that invoke the solver in any way. I think the best way is to check for this method (in classic) and the equivalent one in conda-libmamba-solver (in libmamba).

The output should be a sorted checkbox list of pytest ids like path/to/module.py::test_a[param1]. We can use this message (not a reply) to keep track of which ones have been tackled in which PRs. This should also provide us a way of assessing how many tests we need to port, and whether some of them should not be using the solver at all (in that case, we annotate them and list them in an issue in conda/conda for a refactor).


@zklaus adds:

I wrote a little helper, named covan to make coverage analysis easier. With that, I have produced the following list of tests that touch lines the function mentioned by Jaime above:

Found a total of 353 tests across 35 source files.

tests/cli/test_cli_install.py (total number of test functions: 2)

  • test_emscripten_forge
  • test_pre_link_message

tests/cli/test_common.py (total number of test functions: 2)

  • test_print_envs_list
  • test_print_envs_list_output_false

tests/cli/test_compare.py (total number of test functions: 2)

  • test_compare_fail
  • test_compare_success

tests/cli/test_config.py (total number of test functions: 3)

  • test_conda_config_describe
  • test_conda_config_validate
  • test_conda_config_validate_sslverify_truststore

tests/cli/test_env.py (total number of test functions: 21)

  • test_conda_env_create_http
  • test_create_dry_run_json
  • test_create_dry_run_yaml
  • test_create_unsolvable_env
  • test_create_valid_env
  • test_create_valid_env_json_output
  • test_create_valid_env_with_conda_and_pip_json_output
  • test_create_valid_env_with_variables
  • test_env_export
  • test_env_export_json
  • test_env_export_with_variables
  • test_export_multi_channel
  • test_list
  • test_name_override
  • test_pip_error_is_propagated
  • test_remove_dry_run
  • test_set_unset_env_vars
  • test_update
  • test_update_env_json_output
  • test_update_env_no_action_json_output
  • test_update_env_only_pip_json_output

tests/cli/test_main_clean.py (total number of test functions: 8)

  • test_clean_all
  • test_clean_all_mock_lstat
  • test_clean_and_packages
  • test_clean_force_pkgs_dirs
  • test_clean_index_cache
  • test_clean_logfiles
  • test_clean_tarballs
  • test_clean_tempfiles

tests/cli/test_main_install.py (total number of test functions: 4)

  • test_conda_pip_interop_dependency_satisfied_by_pip
  • test_install_freezes_env_by_default
  • test_install_from_extracted_package
  • test_install_mkdir

tests/cli/test_main_list.py (total number of test functions: 6)

  • test_explicit
  • test_export
  • test_list
  • test_list_explicit
  • test_list_reverse
  • test_list_specific_version

tests/cli/test_main_notices.py (total number of test functions: 2)

  • test_notices_appear_once_when_running_decorated_commands
  • test_notices_does_not_interrupt_command_on_failure

tests/cli/test_main_remove.py (total number of test functions: 3)

  • test_remove_all
  • test_remove_all_keep_env
  • test_remove_globbed_package_names

tests/cli/test_main_rename.py (total number of test functions: 11)

  • test_cannot_rename_active_env_by_name
  • test_protected_dirs_error_for_rename
  • test_rename_by_name_name_already_exists_error
  • test_rename_by_name_success
  • test_rename_by_path_path_already_exists_error
  • test_rename_by_path_success
  • test_rename_with_dry_run
  • test_rename_with_force
  • test_rename_with_force_and_dry_run
  • test_rename_with_force_with_errors
  • test_rename_with_force_with_errors_prefix

tests/cli/test_main_run.py (total number of test functions: 6)

  • test_multiline_run_command
  • test_run_readonly_env
  • test_run_returns_int
  • test_run_returns_nonzero_errorlevel
  • test_run_returns_zero_errorlevel
  • test_run_uncaptured

tests/cli/test_subcommands.py (total number of test functions: 14)

  • test_compare
  • test_create
  • test_env_config_vars
  • test_env_create
  • test_env_remove
  • test_env_update
  • test_install
  • test_list
  • test_package
  • test_remove
  • test_remove_all_json
  • test_rename
  • test_run
  • test_update

tests/core/test_index.py (total number of test functions: 15)

  • TestIndex
    • test_cache_entries
    • test_contains_invalid
    • test_contains_valid
    • test_copy
    • test_getitem_cache
    • test_getitem_channel
    • test_getitem_channel_invalid
    • test_getitem_feature
    • test_getitem_feature_non_existent
    • test_getitem_prefix
    • test_getitem_system_package_invalid
    • test_getitem_system_package_valid
    • test_reduced_index
  • test__supplement_index_with_prefix
  • test__supplement_index_with_prefix_index_class

tests/core/test_prefix_data.py (total number of test functions: 3)

  • test_get_environment_env_vars
  • test_set_unset_environment_env_vars
  • test_set_unset_environment_env_vars_no_exist

tests/core/test_solve.py (total number of test functions: 50)

  • test_aggressive_update_packages
  • test_archspec_call (Not a solver test)
  • test_auto_update_conda
  • test_channel_priority_churn_minimized
  • test_conda_downgrade
  • test_cuda_1
  • test_cuda_2
  • test_cuda_constrain_absent
  • test_cuda_fail_1
  • test_cuda_fail_2
  • test_cuda_glibc_sat
  • test_current_repodata_fallback (Unclear purpose)
  • test_current_repodata_usage
  • test_determine_constricting_specs_conflicts (See Add determine constrictions test #2)
  • test_determine_constricting_specs_conflicts_upperbound
  • test_determine_constricting_specs_multi_conflicts
  • test_determine_constricting_specs_no_conflicts_free
  • test_determine_constricting_specs_no_conflicts_no_upperbound
  • test_determine_constricting_specs_no_conflicts_upperbound_compound_depends
  • test_determine_constricting_specs_no_conflicts_version_star
  • test_downgrade_python_prevented_with_sane_message
  • test_explicit_conda_downgrade
  • test_fast_update_with_update_modifier_not_set
  • test_features_solve_1
  • test_force_reinstall_1
  • test_force_reinstall_2
  • test_force_remove_1
  • test_freeze_deps_1
  • test_indirect_dep_optimized_by_version_over_package_count
  • test_no_deps_1
  • test_no_update_deps_1
  • test_only_deps_1
  • test_only_deps_2
  • test_pinned_1
  • test_priority_1
  • test_prune_1
  • test_python2_update
  • test_remove_with_constrained_dependencies
  • test_solve_1
  • test_solve_msgs_exclude_vp
  • test_timestamps_1
  • test_unfreeze_when_required
  • test_update_all_1
  • test_update_deps_1
  • test_update_deps_2
  • test_update_prune_1
  • test_update_prune_2
  • test_update_prune_3
  • test_update_prune_4
  • test_update_prune_5

tests/env/test_create.py (total number of test functions: 8)

  • test_create_advanced_pip
  • test_create_empty_env
  • test_create_env_default_packages
  • test_create_env_json
  • test_create_env_no_default_packages
  • test_create_update
  • test_create_update_remote_env_file
  • test_protected_dirs_error_for_env_create

tests/env/test_env.py (total number of test functions: 1)

  • test_create_advanced_pip

tests/gateways/test_connection.py (total number of test functions: 2)

  • test_s3_server
  • test_s3_server_with_mock

tests/gateways/test_logging.py (total number of test functions: 1)

  • test_token_not_present_in_conda_create

tests/models/test_prefix_graph.py (total number of test functions: 7)

  • test_deep_cyclical_dependency
  • test_prefix_graph_1
  • test_prefix_graph_2
  • test_remove_youngest_descendant_nodes_with_specs
  • test_sort_without_prep
  • test_windows_sort_orders_1
  • test_windows_sort_orders_2

tests/plugins/subcommands/doctor/test_cli.py (total number of test functions: 1)

  • test_conda_doctor_with_test_environment

tests/plugins/test_post_solves.py (total number of test functions: 2)

  • test_post_solve_action_raises_exception
  • test_post_solve_invoked

tests/plugins/test_pre_solves.py (total number of test functions: 1)

  • test_pre_solve_invoked

tests/test_activate.py (total number of test functions: 12)

  • test_activate_same_environment
  • test_build_activate_dont_activate_unset_var
  • test_build_activate_restore_unset_env_vars
  • test_build_activate_shlvl_0
  • test_build_activate_shlvl_1
  • test_build_activate_shlvl_warn_clobber_vars
  • test_build_deactivate_shlvl_1
  • test_build_deactivate_shlvl_2_from_activate
  • test_build_deactivate_shlvl_2_from_stack
  • test_build_stack_shlvl_1
  • test_get_env_vars_big_whitespace
  • test_get_env_vars_empty_file

tests/test_api.py (total number of test functions: 1)

  • test_Solver_return_value_contract

tests/test_create.py (total number of test functions: 77)

  • test_allow_softlinks
  • test_channel_usage_replacing_python
  • test_clone_offline_simple
  • test_clone_offline_with_untracked
  • test_compile_pyc
  • test_conda_downgrade
  • test_conda_pip_interop_conda_editable_package
  • test_conda_update_package_not_installed
  • test_create_default_packages
  • test_create_default_packages_no_default_packages
  • test_create_dry_run
  • test_create_dry_run_json
  • test_create_dry_run_without_prefix
  • test_create_dry_run_yes_safety
  • test_create_empty_env
  • test_create_env_different_platform
  • test_create_install_update_remove_smoketest
  • test_create_no_deps_flag
  • test_create_only_deps_flag
  • test_create_override_channels_enabled
  • test_cross_channel_incompatibility
  • test_disallowed_packages
  • test_dont_remove_conda_1
  • test_dont_remove_conda_2
  • test_download_only_flag
  • test_force_remove
  • test_install_bound_virtual_package
  • test_install_broken_post_install_keeps_existing_folders
  • test_install_force_reinstall_flag
  • test_install_only_deps_flag
  • test_install_prune_flag
  • test_install_python_and_search
  • test_install_tarball_from_file_based_channel
  • test_install_update_deps_flag
  • test_install_update_deps_only_deps_flags
  • test_install_virtual_packages
  • test_json_create_install_update_remove
  • test_list_with_pip_no_binary
  • test_list_with_pip_wheel
  • test_menuinst_v2
  • test_neutering_of_historic_specs
  • test_noarch_generic_package
  • test_noarch_python_package_reinstall_on_pyver_change
  • test_noarch_python_package_with_entry_points
  • test_noarch_python_package_without_entry_points
  • test_nonadmin_file_untouched
  • test_not_writable_env_raises_EnvironmentNotWritableError
  • test_offline_with_empty_index_cache
  • test_package_cache_regression
  • test_package_optional_pinning
  • test_package_pinning
  • test_packages_not_found
  • test_pinned_override_with_explicit_spec
  • test_post_link_run_in_env
  • test_python_site_packages_path
  • test_remove_empty_env
  • test_remove_force_remove_flag
  • test_remove_spellcheck
  • test_repodata_v2_base_url
  • test_rm_rf
  • test_run_preserves_arguments
  • test_run_script_called
  • test_safety_checks_disabled
  • test_safety_checks_enabled
  • test_safety_checks_warn
  • test_shortcut_absent_does_not_barf_on_uninstall
  • test_shortcut_absent_when_condarc_set
  • test_shortcut_creation_installs_shortcut
  • test_strict_resolve_get_reduced_index
  • test_tarball_install
  • test_tarball_install_and_bad_metadata
  • test_transactional_rollback_simple
  • test_transactional_rollback_upgrade_downgrade
  • test_update_all_updates_pip_pkg
  • test_update_deps_flag_absent
  • test_update_deps_flag_present
  • test_update_with_pinned_packages

tests/test_features.py (total number of test functions: 4)

  • test_install_track_features_downgrade
  • test_install_track_features_upgrade
  • test_remove_features_downgrade
  • test_remove_features_upgrade

tests/test_link_order.py (total number of test functions: 2)

  • test_link_order_post_link_actions
  • test_link_order_post_link_depend

tests/test_misc.py (total number of test functions: 1)

  • test_explicit_missing_cache_entries

tests/test_plan.py (total number of test functions: 3)

  • test_pinned_specs_all
  • test_pinned_specs_conda_meta_pinned
  • test_pinned_specs_condarc

tests/test_priority.py (total number of test functions: 1)

  • test_reorder_channel_priority

tests/test_shell.py (total number of test functions: 6)

  • test_activate_deactivate_modify_path
  • test_bash_activate_error
  • test_basic_integration
  • test_legacy_activate_deactivate_bash
  • test_powershell_basic_integration
  • test_stacking

tests/test_solvers.py (total number of test functions: 67)

  • TestClassicSolver
    • test_accelerate
    • test_anaconda_nomkl
    • test_arch_preferred_over_noarch_when_otherwise_equal
    • test_channel_priority_1
    • test_circular_dependencies
    • test_empty
    • test_get_dists
    • test_get_reduced_index_broadening_preferred_solution
    • test_get_reduced_index_broadening_with_unsatisfiable_early_dep
    • test_install_package_with_feature
    • test_iopro_mkl
    • test_iopro_nomkl
    • test_irrational_version
    • test_mkl
    • test_no_features
    • test_noarch_preferred_over_arch_when_build_greater
    • test_noarch_preferred_over_arch_when_build_greater_dep
    • test_noarch_preferred_over_arch_when_version_greater
    • test_noarch_preferred_over_arch_when_version_greater_dep
    • test_nonexistent
    • test_nonexistent_deps
    • test_pseudo_boolean
    • test_remove
    • test_scipy_mkl
    • test_surplus_features_1
    • test_surplus_features_2
    • test_timestamps_and_deps
    • test_unintentional_feature_downgrade
    • test_unsat_any_two_not_three
    • test_unsat_chain
    • test_unsat_channel_priority
    • test_unsat_expand_single
    • test_unsat_from_r1
    • test_unsat_missing_dep
    • test_unsat_shortest_chain_1
    • test_unsat_shortest_chain_2
    • test_unsat_shortest_chain_3
    • test_unsat_shortest_chain_4
    • test_unsat_simple
  • TestLibMambaSolver
    • test_anaconda_nomkl
    • test_arch_preferred_over_noarch_when_otherwise_equal
    • test_channel_priority_1
    • test_circular_dependencies
    • test_empty
    • test_get_dists
    • test_get_reduced_index_broadening_preferred_solution
    • test_get_reduced_index_broadening_with_unsatisfiable_early_dep
    • test_install_package_with_feature
    • test_irrational_version
    • test_noarch_preferred_over_arch_when_build_greater
    • test_noarch_preferred_over_arch_when_build_greater_dep
    • test_noarch_preferred_over_arch_when_version_greater
    • test_noarch_preferred_over_arch_when_version_greater_dep
    • test_nonexistent
    • test_nonexistent_deps
    • test_timestamps_and_deps
    • test_unsat_any_two_not_three
    • test_unsat_chain
    • test_unsat_channel_priority
    • test_unsat_expand_single
    • test_unsat_from_r1
    • test_unsat_missing_dep
    • test_unsat_shortest_chain_1
    • test_unsat_shortest_chain_2
    • test_unsat_shortest_chain_3
    • test_unsat_shortest_chain_4
    • test_unsat_simple

tests/testing/test_fixtures.py (total number of test functions: 4)

  • test_env
  • test_session_tmp_env
  • test_tmp_channel
  • test_tmp_env
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant