From 52405a0e10ca07750c06183e1e2cf28c126193f1 Mon Sep 17 00:00:00 2001 From: skshetry <18718008+skshetry@users.noreply.github.com> Date: Wed, 14 Aug 2024 13:24:56 +0545 Subject: [PATCH] ci: use uv to install dependencies (#10507) * ci: use uv to install dependencies * split Windows tests into four for each python versions * split tests and check into two jobs * increase timeout --- .github/.test_durations | 2795 +++++++++++++++++++++++++++ .github/workflows/benchmarks.yaml | 2 +- .github/workflows/build.yaml | 5 +- .github/workflows/plugin_tests.yaml | 15 +- .github/workflows/tests.yaml | 75 +- tests/func/test_daemon.py | 23 +- 6 files changed, 2888 insertions(+), 27 deletions(-) create mode 100644 .github/.test_durations diff --git a/.github/.test_durations b/.github/.test_durations new file mode 100644 index 0000000000..8fe76babd5 --- /dev/null +++ b/.github/.test_durations @@ -0,0 +1,2795 @@ +{ + "tests/func/api/test_artifacts.py::test_artifacts_show[]": 0.6690752999999994, + "tests/func/api/test_artifacts.py::test_artifacts_show[sub]": 1.3406024999999993, + "tests/func/api/test_artifacts.py::test_artifacts_show_subrepo[]": 0.7644723000000031, + "tests/func/api/test_artifacts.py::test_artifacts_show_subrepo[sub]": 0.8369741000000008, + "tests/func/api/test_data.py::TestAPI::test_filesystem[current-cache]": 0.7119634999999978, + "tests/func/api/test_data.py::TestAPI::test_filesystem[current-no_cache]": 0.7142162999999968, + "tests/func/api/test_data.py::TestAPI::test_filesystem[git-cache]": 0.8079615999999987, + "tests/func/api/test_data.py::TestAPI::test_filesystem[git-no_cache]": 1.2323302999999974, + "tests/func/api/test_data.py::TestAPI::test_filesystem[git_rev-cache]": 1.436392699999999, + "tests/func/api/test_data.py::TestAPI::test_filesystem[git_rev-no_cache]": 1.2994606999999974, + "tests/func/api/test_data.py::TestAPI::test_filesystem[local-cache]": 0.7356022999999965, + "tests/func/api/test_data.py::TestAPI::test_filesystem[local-no_cache]": 1.1919572000000045, + "tests/func/api/test_data.py::TestAPI::test_filesystem[local_rev-cache]": 0.8559640000000037, + "tests/func/api/test_data.py::TestAPI::test_filesystem[local_rev-no_cache]": 0.713584400000002, + "tests/func/api/test_data.py::TestAPI::test_get_url": 0.5835055000000011, + "tests/func/api/test_data.py::TestAPI::test_open": 0.6204048000000011, + "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[file-False]": 0.6519310000000011, + "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[file-True]": 0.7536261999999994, + "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[inside-dir-False]": 0.7582351000000003, + "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[inside-dir-True]": 0.8035712000000004, + "tests/func/api/test_data.py::test_get_url_external": 1.0128078999999985, + "tests/func/api/test_data.py::test_get_url_from_remote": 0.8396529000000044, + "tests/func/api/test_data.py::test_get_url_granular": 0.6913349999999951, + "tests/func/api/test_data.py::test_get_url_requires_dvc": 0.34330409999999745, + "tests/func/api/test_data.py::test_get_url_subrepos": 1.2583151999999984, + "tests/func/api/test_data.py::test_missing": 0.4301550999999968, + "tests/func/api/test_data.py::test_open_external": 1.0483930000000008, + "tests/func/api/test_data.py::test_open_from_remote": 1.031453599999999, + "tests/func/api/test_data.py::test_open_granular": 0.47627430000000004, + "tests/func/api/test_data.py::test_open_not_cached": 0.4482658999999991, + "tests/func/api/test_data.py::test_open_rev": 0.2935205000000032, + "tests/func/api/test_data.py::test_open_scm_controlled": 0.2779954000000018, + "tests/func/api/test_data.py::test_read_from_remote": 1.1489083000000022, + "tests/func/api/test_data.py::test_read_with_subrepos[False]": 1.9086240000000103, + "tests/func/api/test_data.py::test_read_with_subrepos[True]": 1.2316525000000027, + "tests/func/api/test_experiments.py::test_exp_save": 1.126176700000002, + "tests/func/api/test_experiments.py::test_exp_show": 0.7599229999999935, + "tests/func/api/test_scm.py::test_all_branches": 0.36340509999998716, + "tests/func/api/test_scm.py::test_all_commits": 0.9080075000000036, + "tests/func/api/test_scm.py::test_all_tags": 0.32061440000000374, + "tests/func/api/test_show.py::test_metrics_show_dirty_working_dir": 1.962079800000005, + "tests/func/api/test_show.py::test_metrics_show_no_args": 1.889685600000007, + "tests/func/api/test_show.py::test_metrics_show_no_metrics_found": 0.28593630000000303, + "tests/func/api/test_show.py::test_metrics_show_rev_with_metrics": 2.2642164000000022, + "tests/func/api/test_show.py::test_metrics_show_rev_without_metrics": 1.8105644999999981, + "tests/func/api/test_show.py::test_metrics_show_targets": 2.152608200000003, + "tests/func/api/test_show.py::test_params_show_deps": 0.7593096000000017, + "tests/func/api/test_show.py::test_params_show_no_args": 0.8288500999999968, + "tests/func/api/test_show.py::test_params_show_no_params_found": 0.42213559999999717, + "tests/func/api/test_show.py::test_params_show_repo": 0.5701109999999971, + "tests/func/api/test_show.py::test_params_show_revs": 0.7689407999999958, + "tests/func/api/test_show.py::test_params_show_stage_addressing": 0.5756270999999984, + "tests/func/api/test_show.py::test_params_show_stage_without_params": 0.32598780000000005, + "tests/func/api/test_show.py::test_params_show_stages": 1.3495361999999957, + "tests/func/api/test_show.py::test_params_show_targets": 1.131466500000002, + "tests/func/api/test_show.py::test_params_show_untracked_target": 0.874395799999995, + "tests/func/api/test_show.py::test_params_show_while_running_stage": 0.9435678999999979, + "tests/func/artifacts/test_artifacts.py::test_artifacts_add_abspath": 0.1416759999999968, + "tests/func/artifacts/test_artifacts.py::test_artifacts_add_fails_on_dvc_subrepo": 0.1239182999999926, + "tests/func/artifacts/test_artifacts.py::test_artifacts_add_subdir": 0.1774754999999999, + "tests/func/artifacts/test_artifacts.py::test_artifacts_download[]": 0.9987292999999937, + "tests/func/artifacts/test_artifacts.py::test_artifacts_download[sub]": 1.0444975999999997, + "tests/func/artifacts/test_artifacts.py::test_artifacts_download_studio": 0.13496169999999097, + "tests/func/artifacts/test_artifacts.py::test_artifacts_download_subrepo[]": 1.1816100999999861, + "tests/func/artifacts/test_artifacts.py::test_artifacts_download_subrepo[sub]": 1.5492141000000004, + "tests/func/artifacts/test_artifacts.py::test_artifacts_read_bad_name": 0.13257700000000483, + "tests/func/artifacts/test_artifacts.py::test_artifacts_read_fails_on_id_duplication": 0.12151710000000548, + "tests/func/artifacts/test_artifacts.py::test_artifacts_read_subdir": 0.14055419999999685, + "tests/func/artifacts/test_artifacts.py::test_broken_dvcyaml_extra_field[bad_dvcyaml0]": 0.14516059999999698, + "tests/func/artifacts/test_artifacts.py::test_broken_dvcyaml_extra_field[bad_dvcyaml1]": 0.12352989999997988, + "tests/func/artifacts/test_artifacts.py::test_get_path": 0.19403669999999806, + "tests/func/artifacts/test_artifacts.py::test_get_path_subrepo": 0.603105400000004, + "tests/func/artifacts/test_artifacts.py::test_get_rev": 0.22633340000000146, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[1]": 0.0032751000000104113, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[1nn]": 0.0029597000000052276, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[m1]": 0.0030679999999847496, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[m]": 0.0034961999999865156, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[model-prod-v1]": 0.0029481000000117774, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[model-prod]": 0.003120100000003845, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[nn]": 0.003020700000007537, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[###]": 0.0029940000000010514, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[-model]": 0.0030767999999881113, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[/m]": 0.003051200000001586, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[@@@]": 0.0030206000000134736, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[@namespace/model]": 0.0036754999999999427, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[]": 0.003089799999997922, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[a model]": 0.003036399999984951, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[m/]": 0.003116800000000808, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[model#1]": 0.0030410000000102855, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[model-]": 0.0030069999999966512, + "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[model@1]": 0.003050500000000511, + "tests/func/artifacts/test_artifacts.py::test_parametrized": 0.29747580000001506, + "tests/func/data/db/test_index.py::test_clear_on_download_err": 0.4539134000000189, + "tests/func/data/db/test_index.py::test_clear_on_gc": 0.43299960000000226, + "tests/func/data/db/test_index.py::test_indexed_dir_missing": 0.33903929999999605, + "tests/func/data/db/test_index.py::test_indexed_on_push": 0.45842240000001766, + "tests/func/data/db/test_index.py::test_indexed_on_status": 0.47928760000000636, + "tests/func/data/db/test_index.py::test_partial_upload": 0.5441733999999911, + "tests/func/experiments/test_apply.py::test_apply": 3.0489364999999964, + "tests/func/experiments/test_apply.py::test_apply_failed": 0.7756726000000072, + "tests/func/experiments/test_apply.py::test_apply_queued": 1.3775269999999864, + "tests/func/experiments/test_apply.py::test_apply_unchanged_head": 2.3483619999999803, + "tests/func/experiments/test_apply.py::test_apply_untracked": 1.7779260000000079, + "tests/func/experiments/test_diff.py::test_diff_empty": 0.6685833000000088, + "tests/func/experiments/test_diff.py::test_diff_exp": 2.169962599999991, + "tests/func/experiments/test_diff.py::test_diff_head": 1.3638808000000182, + "tests/func/experiments/test_experiments.py::test_branch": 2.1533368000000053, + "tests/func/experiments/test_experiments.py::test_checkout_targets_deps": 1.6357962000000157, + "tests/func/experiments/test_experiments.py::test_clean": 0.1494907000000012, + "tests/func/experiments/test_experiments.py::test_copy_paths[False]": 0.8107860000000358, + "tests/func/experiments/test_experiments.py::test_copy_paths[True]": 1.135548200000045, + "tests/func/experiments/test_experiments.py::test_copy_paths_errors": 0.9207782000000009, + "tests/func/experiments/test_experiments.py::test_custom_commit_message[False]": 0.9768105000000276, + "tests/func/experiments/test_experiments.py::test_custom_commit_message[True]": 1.2530415000000232, + "tests/func/experiments/test_experiments.py::test_detached_parent": 1.9396536999999938, + "tests/func/experiments/test_experiments.py::test_exp_run_recursive": 1.1496640000000298, + "tests/func/experiments/test_experiments.py::test_experiment_exists[False]": 2.698194200000003, + "tests/func/experiments/test_experiments.py::test_experiment_exists[True]": 2.0226000000000255, + "tests/func/experiments/test_experiments.py::test_experiment_name_invalid": 0.43865630000001943, + "tests/func/experiments/test_experiments.py::test_experiment_no_commit": 0.36042209999999386, + "tests/func/experiments/test_experiments.py::test_experiment_run_dry": 1.1187728000000448, + "tests/func/experiments/test_experiments.py::test_experiment_unchanged": 1.5600346999999886, + "tests/func/experiments/test_experiments.py::test_experiments_workspace_not_log_exception": 0.4825525000000255, + "tests/func/experiments/test_experiments.py::test_failed_exp_workspace": 0.8329308999999938, + "tests/func/experiments/test_experiments.py::test_file_permissions": 0.0012947000000025355, + "tests/func/experiments/test_experiments.py::test_fix_exp_head[]": 0.025993000000028132, + "tests/func/experiments/test_experiments.py::test_fix_exp_head[^]": 0.030619200000018054, + "tests/func/experiments/test_experiments.py::test_fix_exp_head[~1]": 0.04737730000002216, + "tests/func/experiments/test_experiments.py::test_get_baseline": 2.717492400000012, + "tests/func/experiments/test_experiments.py::test_list": 3.138903099999993, + "tests/func/experiments/test_experiments.py::test_local_config_is_propagated_to_tmp": 0.9434146000000396, + "tests/func/experiments/test_experiments.py::test_mixed_git_dvc_out": 1.5312878000000012, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 1-False]": 2.0527747999999804, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 1-True]": 2.294647700000013, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 2-False]": 2.230488899999955, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 2-True]": 1.8093015999999693, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 1-False]": 1.7912287000000333, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 1-True]": 1.4503267999999991, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 2-False]": 1.679704700000002, + "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 2-True]": 1.8077306999999792, + "tests/func/experiments/test_experiments.py::test_new_simple[False-None]": 1.7895829999999933, + "tests/func/experiments/test_experiments.py::test_new_simple[False-foo]": 1.5720811999999995, + "tests/func/experiments/test_experiments.py::test_new_simple[True-None]": 3.114446799999996, + "tests/func/experiments/test_experiments.py::test_new_simple[True-foo]": 1.5187964999999934, + "tests/func/experiments/test_experiments.py::test_no_scm": 0.254213099999987, + "tests/func/experiments/test_experiments.py::test_packed_args_exists": 1.1008666000000034, + "tests/func/experiments/test_experiments.py::test_run_celery": 10.300323799999973, + "tests/func/experiments/test_experiments.py::test_run_env": 1.2357240000000047, + "tests/func/experiments/test_experiments.py::test_subdir[False]": 1.5404146000000196, + "tests/func/experiments/test_experiments.py::test_subdir[True]": 1.3069993000000153, + "tests/func/experiments/test_experiments.py::test_subrepo[False]": 2.0550482000000017, + "tests/func/experiments/test_experiments.py::test_subrepo[True]": 1.5268956000000031, + "tests/func/experiments/test_experiments.py::test_untracked[False]": 1.8188596999999902, + "tests/func/experiments/test_experiments.py::test_untracked[True]": 1.2779773999999975, + "tests/func/experiments/test_experiments.py::test_untracked_top_level_files_are_included_in_exp[False]": 0.7230959000000041, + "tests/func/experiments/test_experiments.py::test_untracked_top_level_files_are_included_in_exp[True]": 0.9551126000000068, + "tests/func/experiments/test_experiments.py::test_update_py_params": 3.051115799999991, + "tests/func/experiments/test_queue.py::test_celery_logs[False]": 6.378822700000001, + "tests/func/experiments/test_queue.py::test_celery_logs[True]": 4.388742000000036, + "tests/func/experiments/test_queue.py::test_copy_paths_queue": 5.5122883999999885, + "tests/func/experiments/test_queue.py::test_custom_commit_message_queue": 5.6898801000000105, + "tests/func/experiments/test_queue.py::test_queue_doesnt_remove_untracked_params_file": 0.5072050999999931, + "tests/func/experiments/test_remote.py::test_auth_error_list": 0.14862869999998907, + "tests/func/experiments/test_remote.py::test_auth_error_pull": 0.15549210000000357, + "tests/func/experiments/test_remote.py::test_auth_error_push": 1.2056490000000224, + "tests/func/experiments/test_remote.py::test_auto_push_misconfigured": 2.3435677000000226, + "tests/func/experiments/test_remote.py::test_auto_push_on_run[False-success]": 2.4090233999999953, + "tests/func/experiments/test_remote.py::test_auto_push_on_run[True-up_to_date]": 2.7894929000000275, + "tests/func/experiments/test_remote.py::test_auto_push_on_save[False-success]": 2.384592700000013, + "tests/func/experiments/test_remote.py::test_auto_push_on_save[True-up_to_date]": 2.4866651000000104, + "tests/func/experiments/test_remote.py::test_auto_push_tmp_dir": 2.711254000000025, + "tests/func/experiments/test_remote.py::test_get[False]": 1.6720234999999946, + "tests/func/experiments/test_remote.py::test_get[True]": 1.5247991999999613, + "tests/func/experiments/test_remote.py::test_list_remote[False]": 3.433762700000017, + "tests/func/experiments/test_remote.py::test_list_remote[True]": 3.2126294999999914, + "tests/func/experiments/test_remote.py::test_pull[False]": 3.0422385000000247, + "tests/func/experiments/test_remote.py::test_pull[True]": 3.176392099999987, + "tests/func/experiments/test_remote.py::test_pull_ambiguous_name": 2.3352716999999927, + "tests/func/experiments/test_remote.py::test_pull_args[False-True-None]": 2.8758509999999546, + "tests/func/experiments/test_remote.py::test_pull_args[True-False-True]": 2.8549404000000322, + "tests/func/experiments/test_remote.py::test_pull_diverged": 1.5577454999999816, + "tests/func/experiments/test_remote.py::test_pull_multi_rev": 2.8295723000000237, + "tests/func/experiments/test_remote.py::test_push[False]": 3.469447900000006, + "tests/func/experiments/test_remote.py::test_push[True]": 3.1035360999999853, + "tests/func/experiments/test_remote.py::test_push_ambiguous_name": 2.7821596, + "tests/func/experiments/test_remote.py::test_push_args[False-True-None]": 3.2440407999999934, + "tests/func/experiments/test_remote.py::test_push_args[True-False-True]": 3.3222015999999996, + "tests/func/experiments/test_remote.py::test_push_diverged": 1.8917133999999578, + "tests/func/experiments/test_remote.py::test_push_multi_rev": 3.2379070999999726, + "tests/func/experiments/test_remote.py::test_push_pull_invalid_workspace": 1.779622499999988, + "tests/func/experiments/test_remove.py::test_remove_all": 2.2928706999999804, + "tests/func/experiments/test_remove.py::test_remove_all_queued_experiments": 1.9678789999999822, + "tests/func/experiments/test_remove.py::test_remove_experiments_by_ref": 3.0080556000000342, + "tests/func/experiments/test_remove.py::test_remove_experiments_by_rev": 2.64246559999998, + "tests/func/experiments/test_remove.py::test_remove_multi_rev": 2.2034240999999497, + "tests/func/experiments/test_remove.py::test_remove_remote[False]": 3.372327699999971, + "tests/func/experiments/test_remove.py::test_remove_remote[True]": 3.4991858999999863, + "tests/func/experiments/test_remove.py::test_remove_special_queued_experiments": 2.8150486000000114, + "tests/func/experiments/test_rename.py::test_existing_name": 1.892558500000007, + "tests/func/experiments/test_rename.py::test_invalid_name": 1.0761679999999956, + "tests/func/experiments/test_rename.py::test_rename_experiment_by_name": 1.1512879999999655, + "tests/func/experiments/test_rename.py::test_same_name": 1.0524115000000052, + "tests/func/experiments/test_save.py::test_exp_save[None]": 0.756629299999986, + "tests/func/experiments/test_save.py::test_exp_save[test]": 0.9682786999999848, + "tests/func/experiments/test_save.py::test_exp_save_after_commit": 1.3312111000000186, + "tests/func/experiments/test_save.py::test_exp_save_custom_message": 1.0982238999999936, + "tests/func/experiments/test_save.py::test_exp_save_include_untracked": 0.77491729999997, + "tests/func/experiments/test_save.py::test_exp_save_include_untracked_force": 0.8746251999999686, + "tests/func/experiments/test_save.py::test_exp_save_include_untracked_warning": 0.9865022000000181, + "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid..name]": 0.43050610000000233, + "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid/name]": 0.37493930000005093, + "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid?name]": 0.3782524000000649, + "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalidname.]": 0.4567057000000432, + "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid~name]": 0.37448059999996985, + "tests/func/experiments/test_save.py::test_exp_save_overwrite_experiment": 1.2816242999999758, + "tests/func/experiments/test_save.py::test_exp_save_target": 0.9417426999999634, + "tests/func/experiments/test_save.py::test_exp_save_unchanged": 0.8742640000000392, + "tests/func/experiments/test_save.py::test_exp_save_with_staged_changes": 0.9713927999999896, + "tests/func/experiments/test_save.py::test_untracked_dvclock_is_included_in_exp": 0.7397634000000153, + "tests/func/experiments/test_save.py::test_untracked_top_level_files_are_included_in_exp": 0.8345099999999661, + "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-None-False]": 1.3278675000000248, + "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-None-True]": 2.344593800000041, + "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-bar-False]": 1.5483196000000703, + "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-bar-True]": 2.2510721000000444, + "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[conf-bar-False]": 1.3779260000000022, + "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[conf-bar-True]": 2.2169706000000815, + "tests/func/experiments/test_set_params.py::test_hydra_sweep[False-overrides1-expected1]": 0.3220042000000376, + "tests/func/experiments/test_set_params.py::test_hydra_sweep[False-overrides2-expected2]": 0.372244099999989, + "tests/func/experiments/test_set_params.py::test_hydra_sweep[True-overrides0-expected0]": 0.329921899999988, + "tests/func/experiments/test_set_params.py::test_hydra_sweep_prefix_name": 0.7365541000000349, + "tests/func/experiments/test_set_params.py::test_hydra_sweep_requires_queue": 0.3379746999999611, + "tests/func/experiments/test_set_params.py::test_modify_params[changes0-foo: baz\\ngoo:\\n bag: 3.0\\nlorem: false]": 0.8577662999999802, + "tests/func/experiments/test_set_params.py::test_modify_params[changes1-foo: baz\\ngoo:\\n bag: 3.0\\nlorem: false]": 0.88462659999999, + "tests/func/experiments/test_show.py::test_metrics_renaming": 1.9396978000000331, + "tests/func/experiments/test_show.py::test_show_baseline_error": 1.3798479000000157, + "tests/func/experiments/test_show.py::test_show_branch_and_tag_name": 0.8210886000000528, + "tests/func/experiments/test_show.py::test_show_completed_error": 2.197091100000023, + "tests/func/experiments/test_show.py::test_show_csv": 3.597721500000034, + "tests/func/experiments/test_show.py::test_show_experiment[False]": 2.177178099999992, + "tests/func/experiments/test_show.py::test_show_experiment[True]": 1.7142262000000414, + "tests/func/experiments/test_show.py::test_show_failed_experiment": 6.400676799999985, + "tests/func/experiments/test_show.py::test_show_filter": 1.0972039999999765, + "tests/func/experiments/test_show.py::test_show_multiple_commits": 1.5359957999999665, + "tests/func/experiments/test_show.py::test_show_only_changed": 1.7540200000000823, + "tests/func/experiments/test_show.py::test_show_outs": 1.5832652999999368, + "tests/func/experiments/test_show.py::test_show_queued": 1.3007974999999874, + "tests/func/experiments/test_show.py::test_show_queued_error": 1.2482168999999885, + "tests/func/experiments/test_show.py::test_show_running[TaskStatus.FAILED-False]": 0.6858837999999423, + "tests/func/experiments/test_show.py::test_show_running[TaskStatus.RUNNING-False]": 0.6576839000000518, + "tests/func/experiments/test_show.py::test_show_running[TaskStatus.RUNNING-True]": 0.9630088000000114, + "tests/func/experiments/test_show.py::test_show_simple": 0.6424460000000067, + "tests/func/experiments/test_show.py::test_show_sort": 1.8322294999999826, + "tests/func/experiments/test_show.py::test_show_sort_metric_sep": 0.9055835999999999, + "tests/func/experiments/test_show.py::test_show_sorted_deps": 0.4166311000000178, + "tests/func/experiments/test_show.py::test_show_with_broken_repo": 1.5486077000000478, + "tests/func/experiments/test_stash_exp.py::test_deleted[False-False]": 0.7941452000000595, + "tests/func/experiments/test_stash_exp.py::test_deleted[False-True]": 1.0229252999999972, + "tests/func/experiments/test_stash_exp.py::test_deleted[True-False]": 0.8553899000000342, + "tests/func/experiments/test_stash_exp.py::test_deleted[True-True]": 0.9744108999999526, + "tests/func/experiments/test_stash_exp.py::test_modified[False-False]": 0.9669892000000004, + "tests/func/experiments/test_stash_exp.py::test_modified[False-True]": 1.1569672999999625, + "tests/func/experiments/test_stash_exp.py::test_modified[True-False]": 0.8601257999999916, + "tests/func/experiments/test_stash_exp.py::test_modified[True-True]": 1.2164980000000014, + "tests/func/experiments/test_stash_exp.py::test_staged_new_file[False]": 0.7563609999999699, + "tests/func/experiments/test_stash_exp.py::test_staged_new_file[True]": 1.1449452999999608, + "tests/func/experiments/test_utils.py::test_generate_random_exp_name": 2.6529195999999615, + "tests/func/metrics/test_diff.py::test_diff_top_level_metrics[dir/dvc.yaml-..\\\\my_metrics.yaml]": 0.3479751000000988, + "tests/func/metrics/test_diff.py::test_diff_top_level_metrics[dir/dvc.yaml-my_metrics.yaml]": 0.4379244000000426, + "tests/func/metrics/test_diff.py::test_diff_top_level_metrics[dvc.yaml-my_metrics.yaml]": 0.4825845999999956, + "tests/func/metrics/test_diff.py::test_metrics_diff_active_branch_unchanged": 1.0561294999999973, + "tests/func/metrics/test_diff.py::test_metrics_diff_broken_json": 0.7592303000000129, + "tests/func/metrics/test_diff.py::test_metrics_diff_cli": 1.1395653000000152, + "tests/func/metrics/test_diff.py::test_metrics_diff_deleted_metric": 0.5902245999999423, + "tests/func/metrics/test_diff.py::test_metrics_diff_dirty": 1.0837390000000937, + "tests/func/metrics/test_diff.py::test_metrics_diff_json": 1.1032326000000126, + "tests/func/metrics/test_diff.py::test_metrics_diff_json_unchanged": 1.0659378999999376, + "tests/func/metrics/test_diff.py::test_metrics_diff_new_metric": 0.5472320000000082, + "tests/func/metrics/test_diff.py::test_metrics_diff_no_metrics": 0.2914406999999528, + "tests/func/metrics/test_diff.py::test_metrics_diff_non_metrics": 0.5010075999999799, + "tests/func/metrics/test_diff.py::test_metrics_diff_simple": 1.1088795000000005, + "tests/func/metrics/test_diff.py::test_metrics_diff_with_unchanged": 0.6916975999999977, + "tests/func/metrics/test_diff.py::test_metrics_diff_yaml": 1.105636499999946, + "tests/func/metrics/test_diff.py::test_no_commits": 0.3156121999999755, + "tests/func/metrics/test_show.py::test_cached_metrics": 0.7686137999999687, + "tests/func/metrics/test_show.py::test_log_errors[dvc.yaml-error_path0-YAMLSyntaxError]": 0.5792332000000329, + "tests/func/metrics/test_show.py::test_log_errors[metrics.yaml-error_path1-YAMLFileCorruptedError]": 0.6297549999999887, + "tests/func/metrics/test_show.py::test_metric_in_a_tracked_directory_with_missing_dir_file": 0.3644590999999764, + "tests/func/metrics/test_show.py::test_metrics_show_no_target": 0.1800465999999119, + "tests/func/metrics/test_show.py::test_metrics_show_overlap[False]": 0.001055300000018633, + "tests/func/metrics/test_show.py::test_metrics_show_overlap[True]": 0.001104099999963637, + "tests/func/metrics/test_show.py::test_missing_cache": 0.6544150999999374, + "tests/func/metrics/test_show.py::test_non_metric_and_dir_show": 0.44453069999997297, + "tests/func/metrics/test_show.py::test_show": 0.3920631999999955, + "tests/func/metrics/test_show.py::test_show_branch": 0.6811390999999958, + "tests/func/metrics/test_show.py::test_show_falsey": 0.20822529999998096, + "tests/func/metrics/test_show.py::test_show_malformed_metric": 0.2597896999999989, + "tests/func/metrics/test_show.py::test_show_multiple": 0.5938720999999987, + "tests/func/metrics/test_show.py::test_show_no_metrics_files": 0.1196421999999302, + "tests/func/metrics/test_show.py::test_show_no_repo": 0.0665103999999701, + "tests/func/metrics/test_show.py::test_show_non_metric[False]": 0.10242660000000114, + "tests/func/metrics/test_show.py::test_show_non_metric[True]": 0.37919599999992215, + "tests/func/metrics/test_show.py::test_show_non_metric_branch[False]": 0.24209780000001047, + "tests/func/metrics/test_show.py::test_show_non_metric_branch[True]": 0.5168121000000383, + "tests/func/metrics/test_show.py::test_show_simple": 0.3916608999999198, + "tests/func/metrics/test_show.py::test_show_simple_from_subdir": 0.4041560000000004, + "tests/func/metrics/test_show.py::test_show_subrepo_with_preexisting_tags": 0.8456790999999839, + "tests/func/metrics/test_show.py::test_show_targets": 0.5895505000000298, + "tests/func/metrics/test_show.py::test_show_toml": 0.40270450000008395, + "tests/func/metrics/test_show.py::test_top_level_parametrized": 0.36376849999999195, + "tests/func/params/test_diff.py::test_diff": 0.49012349999992466, + "tests/func/params/test_diff.py::test_diff_active_branch_no_changes": 0.373032999999964, + "tests/func/params/test_diff.py::test_diff_deleted": 0.38685540000000174, + "tests/func/params/test_diff.py::test_diff_dict": 0.38326520000009623, + "tests/func/params/test_diff.py::test_diff_dirty": 0.4405797000000007, + "tests/func/params/test_diff.py::test_diff_list": 0.413541500000008, + "tests/func/params/test_diff.py::test_diff_new": 0.31764760000004344, + "tests/func/params/test_diff.py::test_diff_no_changes": 0.3898240999999416, + "tests/func/params/test_diff.py::test_diff_no_params": 0.33827360000003637, + "tests/func/params/test_diff.py::test_diff_targeted": 0.9226150999999732, + "tests/func/params/test_diff.py::test_diff_top_level_params[dir/dvc.yaml-..\\\\my_params.yaml]": 0.39441390000001775, + "tests/func/params/test_diff.py::test_diff_top_level_params[dir/dvc.yaml-my_params.yaml]": 0.35384809999999334, + "tests/func/params/test_diff.py::test_diff_top_level_params[dvc.yaml-my_params.yaml]": 0.35703069999993886, + "tests/func/params/test_diff.py::test_diff_with_unchanged": 0.47371570000001384, + "tests/func/params/test_diff.py::test_diff_without_targets_specified[other_params.yaml]": 0.3682619999999588, + "tests/func/params/test_diff.py::test_diff_without_targets_specified[params.yaml]": 0.3944649000000595, + "tests/func/params/test_diff.py::test_no_commits": 0.3962024000000497, + "tests/func/params/test_diff.py::test_pipeline_tracked_params": 0.791154199999994, + "tests/func/params/test_diff.py::test_vars_shows_on_params_diff": 0.5142563999999652, + "tests/func/params/test_show.py::test_cached_params": 0.670684299999948, + "tests/func/params/test_show.py::test_deps_multi_stage": 0.8328005999999846, + "tests/func/params/test_show.py::test_deps_with_targets": 0.7908949000000121, + "tests/func/params/test_show.py::test_param_in_a_tracked_directory_with_missing_dir_file": 0.286612899999966, + "tests/func/params/test_show.py::test_pipeline_params": 0.7957324000000199, + "tests/func/params/test_show.py::test_show": 0.24756000000002132, + "tests/func/params/test_show.py::test_show_branch": 0.7055480000000216, + "tests/func/params/test_show.py::test_show_empty": 0.18992719999999963, + "tests/func/params/test_show.py::test_show_list": 0.2911527999999066, + "tests/func/params/test_show.py::test_show_multiple": 0.3037872000000448, + "tests/func/params/test_show.py::test_show_no_repo": 0.06914749999998548, + "tests/func/params/test_show.py::test_show_py": 0.22990459999999757, + "tests/func/params/test_show.py::test_show_targets": 0.25046029999992925, + "tests/func/params/test_show.py::test_show_toml": 0.2446489000000156, + "tests/func/params/test_show.py::test_show_without_targets_specified[other_params.yaml]": 0.27128309999994826, + "tests/func/params/test_show.py::test_show_without_targets_specified[params.yaml]": 0.27053269999998975, + "tests/func/params/test_show.py::test_top_level_parametrized": 0.19129430000003822, + "tests/func/parsing/test_errors.py::test_failed_to_interpolate": 0.18144300000000158, + "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[${dct.model1}]": 0.12848279999997203, + "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[${foo}]": 0.15648720000001504, + "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[${lst.0}]": 0.1442303000000038, + "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[foobar]": 0.1321871000000101, + "tests/func/parsing/test_errors.py::test_foreach_data_key_does_not_exists[modelss.123]": 0.12942199999997683, + "tests/func/parsing/test_errors.py::test_foreach_data_key_does_not_exists[modelss]": 0.13210100000009106, + "tests/func/parsing/test_errors.py::test_foreach_data_syntax_error": 0.1302176999998892, + "tests/func/parsing/test_errors.py::test_foreach_do_definition_item_does_not_exist[foo.bar-stages.build@0.cmd]": 0.1371279000000527, + "tests/func/parsing/test_errors.py::test_foreach_do_definition_item_does_not_exist[item.thresh-stages.build@1.cmd]": 0.14251179999996566, + "tests/func/parsing/test_errors.py::test_foreach_do_syntax_errors": 0.13003960000008874, + "tests/func/parsing/test_errors.py::test_foreach_overwriting_item_in_list[global_data0-item and key are]": 0.12448729999994157, + "tests/func/parsing/test_errors.py::test_foreach_overwriting_item_in_list[global_data1-item is]": 0.1222735000000057, + "tests/func/parsing/test_errors.py::test_foreach_overwriting_item_in_list[global_data2-key is]": 0.14229789999996, + "tests/func/parsing/test_errors.py::test_foreach_wdir_key_does_not_exist": 0.13372600000002421, + "tests/func/parsing/test_errors.py::test_interpolate_nested_iterable": 0.14655879999997978, + "tests/func/parsing/test_errors.py::test_interpolate_non_string": 0.13041680000003453, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine0]": 0.13570640000000367, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine1]": 0.13289270000001352, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine2]": 0.1272615999999971, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine3]": 0.1316560999999865, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine0]": 0.14314220000005662, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine1]": 0.14537790000002815, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine2]": 0.13925029999995786, + "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine3]": 0.13336179999993192, + "tests/func/parsing/test_errors.py::test_local_vars_params_file_not_exist": 0.20451159999998936, + "tests/func/parsing/test_errors.py::test_partial_vars_doesnot_exist": 0.13008860000002187, + "tests/func/parsing/test_errors.py::test_specified_key_does_not_exist": 0.1631060000000275, + "tests/func/parsing/test_errors.py::test_vars_interpolation_errors[${file}_params.yaml]": 0.1693879000000038, + "tests/func/parsing/test_errors.py::test_vars_interpolation_errors[vars_1]": 0.16431169999987105, + "tests/func/parsing/test_errors.py::test_wdir_failed_to_interpolate[${models.foo]}-\\n${models.foo]}\\n ^\\nParseException: Expected end of text, found ']' (at char 12), (line:1, col:13)]": 0.18762429999998176, + "tests/func/parsing/test_errors.py::test_wdir_failed_to_interpolate[${models[foobar]}- Could not find 'models.foobar']": 0.16902380000004769, + "tests/func/parsing/test_foreach.py::test_foreach_data_from_nested_vars": 0.17006920000000036, + "tests/func/parsing/test_foreach.py::test_foreach_data_is_only_resolved_once": 0.1409080999999901, + "tests/func/parsing/test_foreach.py::test_foreach_do_syntax_is_checked_once": 0.1484127999999032, + "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data0-result0-${item.thresh}]": 0.12445279999991499, + "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data0-result0-${item[thresh]}]": 0.12519980000007536, + "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data1-result1-${item.thresh}]": 0.12490900000005922, + "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data1-result1-${item[thresh]}]": 0.1543631999999775, + "tests/func/parsing/test_foreach.py::test_foreach_interpolated_simple_list": 0.12273310000000492, + "tests/func/parsing/test_foreach.py::test_foreach_partial_interpolations": 0.19919840000000022, + "tests/func/parsing/test_foreach.py::test_foreach_with_imported_vars[test_params.yaml:train,prepare]": 0.15518950000000586, + "tests/func/parsing/test_foreach.py::test_foreach_with_imported_vars[test_params.yaml:train]": 0.15083899999990535, + "tests/func/parsing/test_foreach.py::test_foreach_with_imported_vars[test_params.yaml]": 0.1749901999999679, + "tests/func/parsing/test_foreach.py::test_foreach_with_interpolated_wdir": 0.13871310000001813, + "tests/func/parsing/test_foreach.py::test_foreach_with_interpolated_wdir_and_local_vars[params.yaml:train,prepare]": 0.16226059999996778, + "tests/func/parsing/test_foreach.py::test_foreach_with_interpolated_wdir_and_local_vars[params.yaml]": 0.1652341000000206, + "tests/func/parsing/test_foreach.py::test_foreach_with_local_vars": 0.14472939999996015, + "tests/func/parsing/test_foreach.py::test_mixed_vars_for_foreach_data": 0.1677091000000246, + "tests/func/parsing/test_foreach.py::test_mixed_vars_for_foreach_data_2": 0.17762529999998833, + "tests/func/parsing/test_foreach.py::test_params_file_tracked_for_composite_list": 0.16980849999993097, + "tests/func/parsing/test_foreach.py::test_params_file_with_dict_tracked": 0.19925219999998944, + "tests/func/parsing/test_foreach.py::test_with_composite_list": 0.1260032999999794, + "tests/func/parsing/test_foreach.py::test_with_dict_data": 0.1329804000000081, + "tests/func/parsing/test_foreach.py::test_with_dict_with_non_str_keys": 0.12633909999993875, + "tests/func/parsing/test_foreach.py::test_with_simple_list_data": 0.11791700000003402, + "tests/func/parsing/test_interpolated_entry.py::test_cmd_dict[None-None]": 0.1439924000000019, + "tests/func/parsing/test_interpolated_entry.py::test_cmd_dict[boolean_optional-append]": 0.14662889999993922, + "tests/func/parsing/test_interpolated_entry.py::test_cmd_dict[store_true-nargs]": 0.16324960000002875, + "tests/func/parsing/test_interpolated_entry.py::test_resolve_local_tries_to_load_globally_used_files": 0.15116809999994985, + "tests/func/parsing/test_interpolated_entry.py::test_resolve_local_tries_to_load_globally_used_params_yaml": 0.13703460000004952, + "tests/func/parsing/test_interpolated_entry.py::test_simple": 0.14924290000004703, + "tests/func/parsing/test_interpolated_entry.py::test_stage_with_wdir": 0.14364079999995738, + "tests/func/parsing/test_interpolated_entry.py::test_vars_and_params_import": 0.1336033000000043, + "tests/func/parsing/test_interpolated_entry.py::test_vars_import": 0.15960929999999962, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_0-False]": 0.12724699999995437, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_0-True]": 0.13362110000008443, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_1-False]": 0.13219050000003563, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_1-True]": 0.15331199999997125, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_2-False]": 0.15744130000001633, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_2-True]": 0.12270669999998063, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_3-False]": 0.14442820000004986, + "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_3-True]": 0.14452160000001868, + "tests/func/parsing/test_interpolated_entry.py::test_vars_relpath_overwrite": 0.13569209999997156, + "tests/func/parsing/test_interpolated_entry.py::test_with_templated_wdir": 0.1428108999999722, + "tests/func/parsing/test_matrix.py::test_matrix_interpolated[matrix0]": 0.1593235000000277, + "tests/func/parsing/test_matrix.py::test_matrix_interpolated[matrix1]": 0.18672480000003588, + "tests/func/parsing/test_matrix.py::test_matrix_key_present[matrix0]": 0.16882160000005797, + "tests/func/parsing/test_matrix.py::test_matrix_key_present[matrix1]": 0.19714740000000575, + "tests/func/parsing/test_resolver.py::test_default_params_file[vars_0]": 0.14472480000000587, + "tests/func/parsing/test_resolver.py::test_default_params_file[vars_1]": 0.16231190000002016, + "tests/func/parsing/test_resolver.py::test_default_params_file[vars_2]": 0.13667279999998527, + "tests/func/parsing/test_resolver.py::test_default_params_file_not_exist": 0.18006049999996776, + "tests/func/parsing/test_resolver.py::test_global_overwrite_error_on_imports": 0.14821919999997135, + "tests/func/parsing/test_resolver.py::test_global_overwrite_vars": 0.13191389999991543, + "tests/func/parsing/test_resolver.py::test_load_vars_from_file": 0.1413463999999749, + "tests/func/parsing/test_resolver.py::test_load_vars_with_relpath": 0.25372550000003, + "tests/func/parsing/test_resolver.py::test_local_declared_vars_overwrite": 0.1364957999999774, + "tests/func/parsing/test_resolver.py::test_local_overwrite_error[params.json-params.json]": 0.34710509999996475, + "tests/func/parsing/test_resolver.py::test_local_overwrite_error[vars_0-build.vars[0]]": 0.14905879999992067, + "tests/func/parsing/test_resolver.py::test_local_vars": 0.19008880000001227, + "tests/func/parsing/test_resolver.py::test_no_params_yaml_and_vars": 0.1554322999999158, + "tests/func/parsing/test_resolver.py::test_partial_vars_doesnot_exist": 0.15263030000005529, + "tests/func/parsing/test_resolver.py::test_resolver": 0.1734412000000134, + "tests/func/parsing/test_resolver.py::test_specified_params_file_not_exist": 0.16217699999998558, + "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_0-False]": 0.157558999999992, + "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_0-True]": 0.1264745999999377, + "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_1-False]": 0.13397820000000138, + "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_1-True]": 0.15042000000005373, + "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_2-False]": 0.12980170000003, + "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_2-True]": 0.1325290999999993, + "tests/func/parsing/test_resolver.py::test_vars_interpolation_errors[${file}_params.yaml]": 0.20060419999992973, + "tests/func/parsing/test_resolver.py::test_vars_interpolation_errors[vars_1]": 0.18543940000000703, + "tests/func/parsing/test_top_level.py::test_artifacts": 0.14650329999989253, + "tests/func/parsing/test_top_level.py::test_datasets": 0.13541109999994205, + "tests/func/parsing/test_top_level.py::test_metrics": 0.14192579999996724, + "tests/func/parsing/test_top_level.py::test_params": 0.1397473999999761, + "tests/func/parsing/test_top_level.py::test_plots": 0.17080190000001494, + "tests/func/plots/test_collect.py::test_subdir_config_not_overwritten_by_parents": 0.3654680000000212, + "tests/func/plots/test_diff.py::test_diff_dirty": 1.4312219999999911, + "tests/func/plots/test_diff.py::test_no_commits": 0.35085469999995667, + "tests/func/plots/test_modify.py::test_dir_plots": 0.47324759999997923, + "tests/func/plots/test_modify.py::test_plots_modify_existing_template": 0.3573830000000271, + "tests/func/plots/test_modify.py::test_plots_modify_not_existing_template": 0.14442609999997558, + "tests/func/plots/test_modify.py::test_plots_modify_should_not_change_lockfile": 0.34480729999995674, + "tests/func/plots/test_modify.py::test_unset_nonexistent": 0.3391591000000176, + "tests/func/plots/test_show.py::test_collect_non_existing_dir": 0.7527599999999666, + "tests/func/plots/test_show.py::test_dir_plots": 0.49907970000003843, + "tests/func/plots/test_show.py::test_ignore_parsing_error": 0.4091096999999877, + "tests/func/plots/test_show.py::test_log_errors[dvc.yaml-path_kwargs0]": 0.5107886000000121, + "tests/func/plots/test_show.py::test_log_errors[plot.yaml-path_kwargs1]": 0.7021611999999777, + "tests/func/plots/test_show.py::test_plot_cache_missing": 0.9331480999999826, + "tests/func/plots/test_show.py::test_plot_wrong_metric_type": 0.5906494999999836, + "tests/func/plots/test_show.py::test_plots_binary[jpg]": 0.7359160999999972, + "tests/func/plots/test_show.py::test_plots_binary[svg]": 0.8953023000000258, + "tests/func/plots/test_show.py::test_plots_show_nested_x_dict": 0.28097090000005664, + "tests/func/plots/test_show.py::test_plots_show_non_existing": 0.2934837999999331, + "tests/func/plots/test_show.py::test_plots_show_overlap[False]": 0.4044963000000621, + "tests/func/plots/test_show.py::test_plots_show_overlap[True]": 0.5023849000000382, + "tests/func/plots/test_show.py::test_show_from_subdir": 0.36088259999991124, + "tests/func/plots/test_show.py::test_show_non_plot[False]": 0.15651450000001432, + "tests/func/plots/test_show.py::test_show_non_plot[True]": 0.37671339999997144, + "tests/func/plots/test_show.py::test_show_non_plot_and_plot_with_params": 0.708958100000018, + "tests/func/plots/test_show.py::test_show_plots_defined_with_native_os_path": 0.3919658999999456, + "tests/func/plots/test_show.py::test_show_targets": 0.20834130000002915, + "tests/func/plots/test_show.py::test_top_level_parametrized[${data1}-expanded_config2-expected_datafiles2]": 0.21378269999996746, + "tests/func/plots/test_show.py::test_top_level_parametrized[plot_config0-expanded_config0-expected_datafiles0]": 0.2116988999999876, + "tests/func/plots/test_show.py::test_top_level_parametrized[plot_config1-expanded_config1-expected_datafiles1]": 0.2667495999999687, + "tests/func/plots/test_show.py::test_top_level_plots[plot_config0-expected_datafiles0]": 0.22352249999994456, + "tests/func/plots/test_show.py::test_top_level_plots[plot_config1-expected_datafiles1]": 0.24122239999996964, + "tests/func/plots/test_show.py::test_top_level_plots[plot_config2-expected_datafiles2]": 0.21663869999997587, + "tests/func/repro/test_repro.py::TestReproAlreadyCached::test": 0.44233299999996234, + "tests/func/repro/test_repro.py::TestReproAlreadyCached::test_force_import": 0.8097182000000203, + "tests/func/repro/test_repro.py::TestReproAlreadyCached::test_force_with_dependencies": 0.6607293999999797, + "tests/func/repro/test_repro.py::test_cmd_repro": 1.0095081999999707, + "tests/func/repro/test_repro.py::test_cyclic_graph_error": 0.9080728000000136, + "tests/func/repro/test_repro.py::test_downstream": 2.411942099999976, + "tests/func/repro/test_repro.py::test_freeze_non_existing[Dvcfile:name]": 0.22750590000003967, + "tests/func/repro/test_repro.py::test_freeze_non_existing[Dvcfile]": 0.25325349999997115, + "tests/func/repro/test_repro.py::test_freeze_non_existing[not-existing-stage.json]": 0.2027564999999072, + "tests/func/repro/test_repro.py::test_freeze_non_existing[pipelines.yaml:name]": 0.24169990000001462, + "tests/func/repro/test_repro.py::test_freeze_non_existing[pipelines.yaml]": 0.24990230000003066, + "tests/func/repro/test_repro.py::test_freeze_non_existing[stage.dvc:name]": 0.18956570000000283, + "tests/func/repro/test_repro.py::test_freeze_non_existing[stage.dvc]": 0.19225720000002866, + "tests/func/repro/test_repro.py::test_non_existing_output": 0.42798149999998714, + "tests/func/repro/test_repro.py::test_non_existing_stage_name": 0.40296299999999974, + "tests/func/repro/test_repro.py::test_repro_all_pipelines": 0.8409965000000739, + "tests/func/repro/test_repro.py::test_repro_allow_missing": 0.5695142999999803, + "tests/func/repro/test_repro.py::test_repro_allow_missing_and_pull": 1.1501956999999834, + "tests/func/repro/test_repro.py::test_repro_changed_code": 0.6990531999999803, + "tests/func/repro/test_repro.py::test_repro_changed_data": 0.8488271000000509, + "tests/func/repro/test_repro.py::test_repro_changed_deep_data": 1.1420626999999968, + "tests/func/repro/test_repro.py::test_repro_changed_dir": 0.6733219999999847, + "tests/func/repro/test_repro.py::test_repro_changed_dir_data": 1.1888351000000057, + "tests/func/repro/test_repro.py::test_repro_data_source": 0.6440561999999659, + "tests/func/repro/test_repro.py::test_repro_dep_dir_with_outputs_under_it": 1.0282210000000305, + "tests/func/repro/test_repro.py::test_repro_dep_under_dir": 0.83027340000001, + "tests/func/repro/test_repro.py::test_repro_dry": 0.7964034000000311, + "tests/func/repro/test_repro.py::test_repro_dry_no_exec": 0.5031210999999303, + "tests/func/repro/test_repro.py::test_repro_external_outputs[False]": 0.6774030999999923, + "tests/func/repro/test_repro.py::test_repro_external_outputs[True]": 0.46038469999996323, + "tests/func/repro/test_repro.py::test_repro_fail": 0.5050530000000322, + "tests/func/repro/test_repro.py::test_repro_force": 0.6815554999999449, + "tests/func/repro/test_repro.py::test_repro_force_downstream": 1.426229400000011, + "tests/func/repro/test_repro.py::test_repro_force_downstream_do_not_force_independent_stages": 1.8231759000000238, + "tests/func/repro/test_repro.py::test_repro_frozen": 1.1989045999999917, + "tests/func/repro/test_repro.py::test_repro_frozen_callback": 0.4590139000000022, + "tests/func/repro/test_repro.py::test_repro_frozen_unchanged": 0.4908328999999867, + "tests/func/repro/test_repro.py::test_repro_ignore_errors": 0.6419171000000006, + "tests/func/repro/test_repro.py::test_repro_keep_going": 0.450359399999968, + "tests/func/repro/test_repro.py::test_repro_list_of_commands_in_order[False]": 0.19824639999995952, + "tests/func/repro/test_repro.py::test_repro_list_of_commands_in_order[True]": 0.20887840000000324, + "tests/func/repro/test_repro.py::test_repro_list_of_commands_raise_and_stops_after_failure[False]": 0.22823670000002494, + "tests/func/repro/test_repro.py::test_repro_list_of_commands_raise_and_stops_after_failure[True]": 0.18410009999996646, + "tests/func/repro/test_repro.py::test_repro_metrics_add_unchanged": 0.5753306999999381, + "tests/func/repro/test_repro.py::test_repro_missing_lock_info": 0.47467919999996866, + "tests/func/repro/test_repro.py::test_repro_multiple_params": 0.6419725999999741, + "tests/func/repro/test_repro.py::test_repro_no_commit": 0.6478619000000094, + "tests/func/repro/test_repro.py::test_repro_phony": 0.8436360000000036, + "tests/func/repro/test_repro.py::test_repro_pipeline": 1.0502811000000065, + "tests/func/repro/test_repro.py::test_repro_pipeline_cli": 0.6927358000000368, + "tests/func/repro/test_repro.py::test_repro_pipelines": 1.1391434000000231, + "tests/func/repro/test_repro.py::test_repro_pipelines_cli": 1.1502829999999449, + "tests/func/repro/test_repro.py::test_repro_pulls_continue_without_run_cache": 1.0244599999999764, + "tests/func/repro/test_repro.py::test_repro_pulls_missing_data_source": 0.8908059999999978, + "tests/func/repro/test_repro.py::test_repro_pulls_missing_import": 1.45085720000003, + "tests/func/repro/test_repro.py::test_repro_rm_recursive": 0.298509700000011, + "tests/func/repro/test_repro.py::test_repro_shell": 0.0010611999999809996, + "tests/func/repro/test_repro.py::test_repro_single_item_with_multiple_targets": 0.5554508999999825, + "tests/func/repro/test_repro.py::test_repro_skip_pull_if_no_run_cache_is_passed": 0.7956775000000107, + "tests/func/repro/test_repro.py::test_repro_up_to_date": 0.4973491000000081, + "tests/func/repro/test_repro.py::test_repro_when_cmd_changes": 0.579681100000073, + "tests/func/repro/test_repro.py::test_repro_when_lockfile_gets_deleted": 0.5708748999999784, + "tests/func/repro/test_repro.py::test_repro_when_new_deps_added_does_not_exist": 0.23076729999996815, + "tests/func/repro/test_repro.py::test_repro_when_new_deps_is_added_in_dvcfile": 0.6290411000000518, + "tests/func/repro/test_repro.py::test_repro_when_new_deps_is_moved": 0.6029598999999735, + "tests/func/repro/test_repro.py::test_repro_when_new_out_overlaps_others_stage_outs": 0.2545671999999968, + "tests/func/repro/test_repro.py::test_repro_when_new_outs_added_does_not_exist": 0.3137187999999469, + "tests/func/repro/test_repro.py::test_repro_when_new_outs_is_added_in_dvcfile": 0.5474466999999663, + "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing": 0.5116075000000251, + "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing_and_pull": 0.8432981000000268, + "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing_cached": 0.5020847000000117, + "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing_upstream_stage_modified": 1.2886707000000115, + "tests/func/repro/test_repro_pull.py::test_repro_pull_fails": 0.7426556000000346, + "tests/func/repro/test_repro_pull.py::test_repro_pulls_allow_missing[False]": 0.7117745999999556, + "tests/func/repro/test_repro_pull.py::test_repro_pulls_allow_missing[True]": 0.6968059999999809, + "tests/func/repro/test_repro_pull.py::test_repro_pulls_continue_without_run_cache": 0.7865740000000301, + "tests/func/repro/test_repro_pull.py::test_repro_pulls_missing_data_source": 0.6968352999999183, + "tests/func/repro/test_repro_pull.py::test_repro_pulls_missing_import": 1.3220061999999757, + "tests/func/repro/test_repro_pull.py::test_repro_pulls_persisted_output": 0.6955814000000373, + "tests/func/repro/test_repro_pull.py::test_repro_skip_pull_if_no_run_cache_is_passed": 1.052970700000003, + "tests/func/repro/test_repro_pull.py::test_repro_skip_pull_if_single_item_is_passed": 1.0417836000000307, + "tests/func/test_add.py::test_add": 0.22337029999999913, + "tests/func/test_add.py::test_add_colon_in_filename": 0.001040700000032757, + "tests/func/test_add.py::test_add_commit": 0.2579165999999873, + "tests/func/test_add.py::test_add_dir_with_existing_cache": 0.41711939999999004, + "tests/func/test_add.py::test_add_directory": 0.30083650000005946, + "tests/func/test_add.py::test_add_directory_with_forward_slash": 0.31754209999996874, + "tests/func/test_add.py::test_add_does_not_remove_stage_file_on_failure[dvc.repo.index.Index.check_graph]": 0.29538049999996474, + "tests/func/test_add.py::test_add_does_not_remove_stage_file_on_failure[dvc.stage.Stage.add_outs]": 0.28946510000002945, + "tests/func/test_add.py::test_add_empty_files[copy]": 0.2735349999999812, + "tests/func/test_add.py::test_add_empty_files[hardlink]": 0.266218399999957, + "tests/func/test_add.py::test_add_empty_files[symlink]": 0.2584461999999803, + "tests/func/test_add.py::test_add_executable": 0.001299799999969764, + "tests/func/test_add.py::test_add_file_in_dir": 0.22947199999998702, + "tests/func/test_add.py::test_add_file_in_symlink_dir": 0.13436689999997498, + "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\**\\\\subdata*-expected_def_paths3-expected_rel_paths3]": 0.3367860999999266, + "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\subdir\\\\?subdata-expected_def_paths1-expected_rel_paths1]": 0.3288568000000396, + "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\subdir\\\\[aiou]subdata-expected_def_paths2-expected_rel_paths2]": 0.21213800000003857, + "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\subdir\\\\subdata*-expected_def_paths0-expected_rel_paths0]": 0.30685490000007576, + "tests/func/test_add.py::test_add_force_overwrite_out": 0.2808322999999291, + "tests/func/test_add.py::test_add_from_data_dir": 0.3940832000000114, + "tests/func/test_add.py::test_add_ignored": 0.24244040000002087, + "tests/func/test_add.py::test_add_long_fname": 0.0010275999999862506, + "tests/func/test_add.py::test_add_modified_dir": 0.38431979999995747, + "tests/func/test_add.py::test_add_on_not_existing_file_should_not_remove_stage_file": 0.2649236999999971, + "tests/func/test_add.py::test_add_optimization_for_hardlink_on_empty_files": 0.39760729999989053, + "tests/func/test_add.py::test_add_parent_dir": 0.34646930000002385, + "tests/func/test_add.py::test_add_pipeline_file": 0.3983269999999379, + "tests/func/test_add.py::test_add_preserve_fields": 0.2187667000000033, + "tests/func/test_add.py::test_add_symlink_dir": 0.1593280000000732, + "tests/func/test_add.py::test_add_symlink_file": 0.2915504000000624, + "tests/func/test_add.py::test_add_to_cache_different_name": 0.3470150999999646, + "tests/func/test_add.py::test_add_to_cache_dir": 0.3618119000000206, + "tests/func/test_add.py::test_add_to_cache_file": 0.3751513000000273, + "tests/func/test_add.py::test_add_to_cache_from_remote": 0.4571867000000225, + "tests/func/test_add.py::test_add_to_cache_not_exists": 0.26145719999993844, + "tests/func/test_add.py::test_add_to_remote_absolute": 0.4374439000000052, + "tests/func/test_add.py::test_add_tracked_file": 0.4206479999999715, + "tests/func/test_add.py::test_add_unicode": 0.3307029000000625, + "tests/func/test_add.py::test_add_unprotected": 0.28614760000004935, + "tests/func/test_add.py::test_add_unsupported_file": 0.23960789999995313, + "tests/func/test_add.py::test_add_updates_to_cloud_versioning_dir": 0.27616580000005797, + "tests/func/test_add.py::test_add_with_cache_link_error": 0.18520460000002004, + "tests/func/test_add.py::test_add_with_out": 0.24095520000003035, + "tests/func/test_add.py::test_cmd_add": 0.24542709999997214, + "tests/func/test_add.py::test_double_add_unchanged_dir": 0.28557270000004564, + "tests/func/test_add.py::test_double_add_unchanged_file": 0.26062300000006644, + "tests/func/test_add.py::test_escape_gitignore_entries": 0.24416680000001634, + "tests/func/test_add.py::test_failed_add_cleanup": 0.31850170000006983, + "tests/func/test_add.py::test_not_raises_on_re_add": 0.31634130000003324, + "tests/func/test_add.py::test_readding_dir_should_not_unprotect_all": 0.2872294000000011, + "tests/func/test_add.py::test_should_collect_dir_cache_only_once": 0.27603559999988647, + "tests/func/test_add.py::test_should_not_checkout_when_adding_cached_copy": 0.2916169000000082, + "tests/func/test_add.py::test_should_place_stage_in_data_dir_if_repository_below_symlink": 0.21484020000002602, + "tests/func/test_add.py::test_should_protect_on_repeated_add[copy]": 0.270738999999935, + "tests/func/test_add.py::test_should_protect_on_repeated_add[hardlink]": 0.2855639999999653, + "tests/func/test_add.py::test_should_protect_on_repeated_add[symlink]": 0.2652501000000598, + "tests/func/test_add.py::test_should_relink_on_repeated_add[copy-hardlink-is_hardlink]": 0.3022183999999015, + "tests/func/test_add.py::test_should_relink_on_repeated_add[copy-symlink-is_symlink]": 0.30608630000000403, + "tests/func/test_add.py::test_should_relink_on_repeated_add[hardlink-copy-]": 0.32222020000000384, + "tests/func/test_add.py::test_should_relink_on_repeated_add[symlink-copy-]": 0.35585129999998344, + "tests/func/test_add.py::test_should_throw_proper_exception_on_corrupted_stage_file": 0.2975190000000225, + "tests/func/test_add.py::test_should_throw_proper_exception_on_existing_out": 0.24529200000006313, + "tests/func/test_add.py::test_should_update_state_entry_for_directory_after_add": 0.44023219999996854, + "tests/func/test_add.py::test_should_update_state_entry_for_file_after_add": 0.34753579999988915, + "tests/func/test_add.py::test_try_adding_multiple_overlaps": 0.2431571999999278, + "tests/func/test_add.py::test_try_adding_pipeline_tracked_output": 0.47223850000005996, + "tests/func/test_add.py::test_windows_should_add_when_cache_on_different_drive": 0.201824600000009, + "tests/func/test_analytics.py::test_collect_and_send_report": 0.2581531999999811, + "tests/func/test_analytics.py::test_daemon_analytics": 0.009375399999953515, + "tests/func/test_analytics.py::test_main_analytics": 0.21399900000000116, + "tests/func/test_analytics.py::test_scm_dvc_only": 0.14955400000002328, + "tests/func/test_analytics.py::test_scm_git": 0.19675599999993665, + "tests/func/test_analytics.py::test_scm_subrepo": 0.34907369999996263, + "tests/func/test_check_ignore.py::test_check_ignore[ignored-0-True]": 0.21529790000005278, + "tests/func/test_check_ignore.py::test_check_ignore[not_ignored-1-False]": 0.18026370000006864, + "tests/func/test_check_ignore.py::test_check_ignore_default_dir": 0.26343130000009296, + "tests/func/test_check_ignore.py::test_check_ignore_details[dir\\\\foobar-0-dir\\\\.dvcignore:1:foobar\\tdir\\\\foobar\\n]": 0.1903800000000615, + "tests/func/test_check_ignore.py::test_check_ignore_details[file-0-.dvcignore:1:f*\\tfile\\n]": 0.18237559999994346, + "tests/func/test_check_ignore.py::test_check_ignore_details[foo-0-.dvcignore:2:!foo\\tfoo\\n]": 0.1908862999999883, + "tests/func/test_check_ignore.py::test_check_ignore_details_all": 0.24732430000005934, + "tests/func/test_check_ignore.py::test_check_ignore_dir[path0-0]": 0.23948219999999765, + "tests/func/test_check_ignore.py::test_check_ignore_dir[path1-1]": 0.1965277999998989, + "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args0]": 0.19047829999999522, + "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args1]": 0.19249660000008362, + "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args2]": 0.1935739000000467, + "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args3]": 0.17713900000006788, + "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args4]": 0.18244690000005903, + "tests/func/test_check_ignore.py::test_check_ignore_non_matching[False]": 0.20048250000007783, + "tests/func/test_check_ignore.py::test_check_ignore_non_matching[True]": 0.1996592000000419, + "tests/func/test_check_ignore.py::test_check_ignore_out_side_repo": 0.2362817000001769, + "tests/func/test_check_ignore.py::test_check_ignore_stdin_mode[ignored-0-True]": 0.2505042999999887, + "tests/func/test_check_ignore.py::test_check_ignore_stdin_mode[not_ignored-1-False]": 0.2630323999999291, + "tests/func/test_check_ignore.py::test_check_ignore_sub_repo": 0.2633756000000176, + "tests/func/test_check_ignore.py::test_check_sub_dir_ignore_file": 0.2596231999999645, + "tests/func/test_checkout.py::TestCheckoutCleanWorkingDir::test": 0.38110630000005585, + "tests/func/test_checkout.py::TestCheckoutCleanWorkingDir::test_force": 0.3655913000000055, + "tests/func/test_checkout.py::test_checkout": 0.6012491000000182, + "tests/func/test_checkout.py::test_checkout_cli": 0.8530119000000695, + "tests/func/test_checkout.py::test_checkout_dir_compat": 0.30509909999989304, + "tests/func/test_checkout.py::test_checkout_directory": 0.39772500000003674, + "tests/func/test_checkout.py::test_checkout_empty_dir": 0.32532400000002326, + "tests/func/test_checkout.py::test_checkout_executable": 0.2870113000000174, + "tests/func/test_checkout.py::test_checkout_file": 0.2947092000000566, + "tests/func/test_checkout.py::test_checkout_missing_md5_in_lock_file_for_outs_deps": 0.44046830000002046, + "tests/func/test_checkout.py::test_checkout_moved_cache_dir_with_symlinks": 0.4461985000000368, + "tests/func/test_checkout.py::test_checkout_no_checksum": 0.23846259999993435, + "tests/func/test_checkout.py::test_checkout_not_cached_file": 0.35285209999983635, + "tests/func/test_checkout.py::test_checkout_partial": 0.406533000000195, + "tests/func/test_checkout.py::test_checkout_partial_subdir": 0.3881925999999112, + "tests/func/test_checkout.py::test_checkout_partial_unchanged": 0.5505855999999767, + "tests/func/test_checkout.py::test_checkout_recursive": 0.3562659999998914, + "tests/func/test_checkout.py::test_checkout_recursive_not_directory": 0.27791689999992286, + "tests/func/test_checkout.py::test_checkout_relink[hardlink-is_hardlink]": 0.3497247000000243, + "tests/func/test_checkout.py::test_checkout_relink[symlink-is_symlink]": 0.3419618000000355, + "tests/func/test_checkout.py::test_checkout_selective_remove": 0.39663129999996727, + "tests/func/test_checkout.py::test_checkout_stats_on_failure": 0.8075246000000789, + "tests/func/test_checkout.py::test_checkout_suggest_git": 0.1943472999998903, + "tests/func/test_checkout.py::test_checkout_target_recursive_should_not_remove_other_used_files": 0.4229938000000857, + "tests/func/test_checkout.py::test_checkout_with_deps": 0.5434178000000429, + "tests/func/test_checkout.py::test_checkout_with_deps_cli": 0.6640707999999904, + "tests/func/test_checkout.py::test_checkout_with_relink_existing[copy]": 0.4169368000000304, + "tests/func/test_checkout.py::test_checkout_with_relink_existing[hardlink]": 0.36636650000002646, + "tests/func/test_checkout.py::test_checkout_with_relink_existing[symlink]": 0.3817441000001054, + "tests/func/test_checkout.py::test_checkouts_for_pipeline_tracked_outs": 1.2298499999999422, + "tests/func/test_checkout.py::test_checkouts_on_same_stage_name_and_output_name": 0.7647766000000047, + "tests/func/test_checkout.py::test_checkouts_with_different_addressing": 1.2168963999998823, + "tests/func/test_checkout.py::test_gitignore_basic": 0.6002985999999737, + "tests/func/test_checkout.py::test_gitignore_when_checkout": 1.270755199999826, + "tests/func/test_checkout.py::test_partial_checkout[dir\\\\subdir\\\\file]": 0.4440303999999742, + "tests/func/test_checkout.py::test_partial_checkout[dir\\\\subdir]": 0.44663820000005217, + "tests/func/test_checkout.py::test_remove_files_when_checkout": 0.5229241000000684, + "tests/func/test_checkout.py::test_stats_does_not_show_changes_by_default": 0.5245118999999931, + "tests/func/test_checkout.py::test_stats_on_added_file_from_tracked_dir": 0.7492703999998866, + "tests/func/test_checkout.py::test_stats_on_checkout": 1.7117934000000332, + "tests/func/test_checkout.py::test_stats_on_empty_checkout": 0.661128299999973, + "tests/func/test_checkout.py::test_stats_on_removed_file_from_tracked_dir": 0.9060216999999966, + "tests/func/test_checkout.py::test_stats_on_show_changes_does_not_show_summary": 0.5733001999999487, + "tests/func/test_checkout.py::test_stats_on_updated_file_from_tracked_dir": 0.7445966999999882, + "tests/func/test_cli.py::test_add": 0.16391589999989264, + "tests/func/test_cli.py::test_argparse": 0.11586220000015146, + "tests/func/test_cli.py::test_cd": 0.16199100000005728, + "tests/func/test_cli.py::test_checkout": 0.23483790000000226, + "tests/func/test_cli.py::test_config_list": 0.0035698999998885483, + "tests/func/test_cli.py::test_config_unset": 0.11844689999998081, + "tests/func/test_cli.py::test_find_root": 0.1724064999999655, + "tests/func/test_cli.py::test_pull": 0.1517998000000489, + "tests/func/test_cli.py::test_push": 0.1573064000000386, + "tests/func/test_cli.py::test_remove": 0.180031299999996, + "tests/func/test_cli.py::test_repro": 0.15573790000007648, + "tests/func/test_cli.py::test_status": 0.14812940000001618, + "tests/func/test_cli.py::test_unknown_command_help": 0.007515200000057121, + "tests/func/test_cli.py::test_unknown_subcommand_help": 0.0067342999999482345, + "tests/func/test_commit.py::test_commit_changed_md5": 0.2195017999999891, + "tests/func/test_commit.py::test_commit_dos2unix": 0.3207045999999991, + "tests/func/test_commit.py::test_commit_force": 0.3498164000001225, + "tests/func/test_commit.py::test_commit_granular_dir": 0.3889625999998998, + "tests/func/test_commit.py::test_commit_granular_output": 0.3346500999999762, + "tests/func/test_commit.py::test_commit_granular_output_dir": 0.255196200000114, + "tests/func/test_commit.py::test_commit_granular_output_file": 0.22752040000000306, + "tests/func/test_commit.py::test_commit_no_exec": 0.2550777000000153, + "tests/func/test_commit.py::test_commit_no_exec_missing_dep": 0.1423850000001039, + "tests/func/test_commit.py::test_commit_no_exec_missing_out": 0.17701290000002246, + "tests/func/test_commit.py::test_commit_pipeline_stage": 0.6073219999999537, + "tests/func/test_commit.py::test_commit_preserve_fields": 0.30999370000006365, + "tests/func/test_commit.py::test_commit_recursive": 0.3930149000000256, + "tests/func/test_commit.py::test_commit_updates_to_cloud_versioning_dir": 0.2628995999999688, + "tests/func/test_commit.py::test_commit_with_deps": 0.4309333000001061, + "tests/func/test_commit.py::test_imported_entries_unchanged": 0.8517232999998896, + "tests/func/test_config.py::test_config_gdrive_fields": 0.12703910000016094, + "tests/func/test_config.py::test_config_get[args0-0-False]": 0.20948869999995168, + "tests/func/test_config.py::test_config_get[args1-0-myremote]": 0.1829517000001033, + "tests/func/test_config.py::test_config_get[args2-0-iterative]": 0.19686669999998685, + "tests/func/test_config.py::test_config_get[args3-0-iterative]": 0.1675059000000374, + "tests/func/test_config.py::test_config_get[args4-251-option 'profile' doesn't exist]": 0.18096200000002227, + "tests/func/test_config.py::test_config_get[args5-0-gs://bucket/path]": 0.12368970000022728, + "tests/func/test_config.py::test_config_get[args6-0-gs://bucket/path]": 0.13007389999995667, + "tests/func/test_config.py::test_config_get[args7-251-remote 'other' doesn't exist]": 0.13832799999988765, + "tests/func/test_config.py::test_config_get_in_non_dvc_repo[args0-251]": 0.014465299999983472, + "tests/func/test_config.py::test_config_get_in_non_dvc_repo[args1-251]": 0.014442199999962213, + "tests/func/test_config.py::test_config_get_in_non_dvc_repo[args2-0]": 0.013205699999957687, + "tests/func/test_config.py::test_config_list": 0.13482399999986683, + "tests/func/test_config.py::test_config_list_in_non_dvc_repo[args0-251]": 0.019574000000034175, + "tests/func/test_config.py::test_config_list_in_non_dvc_repo[args1-251]": 0.01389150000011341, + "tests/func/test_config.py::test_config_list_in_non_dvc_repo[args2-0]": 0.013700800000037816, + "tests/func/test_config.py::test_config_loads_without_error_for_non_dvc_repo": 0.013231799999971372, + "tests/func/test_config.py::test_config_remote": 0.15216689999999744, + "tests/func/test_config.py::test_config_set": 0.17704680000008466, + "tests/func/test_config.py::test_config_set_in_non_dvc_repo": 0.014170100000114871, + "tests/func/test_config.py::test_config_set_local": 0.20866990000001806, + "tests/func/test_config.py::test_config_show_origin_merged": 0.14643520000004173, + "tests/func/test_config.py::test_config_show_origin_single": 0.15067039999996723, + "tests/func/test_config.py::test_list_bad_args[args0]": 0.12268940000012662, + "tests/func/test_config.py::test_list_bad_args[args1]": 0.14213120000010804, + "tests/func/test_config.py::test_list_bad_args[args2]": 0.14091080000002876, + "tests/func/test_config.py::test_load_relative_paths[cert_path-webdavs://example.com/files/USERNAME/]": 0.1395637999999053, + "tests/func/test_config.py::test_load_relative_paths[credentialpath-gs://my-bucket/path]": 0.11936819999993986, + "tests/func/test_config.py::test_load_relative_paths[credentialpath-s3://mybucket/my/path]": 0.12908759999993435, + "tests/func/test_config.py::test_load_relative_paths[gdrive_service_account_json_file_path-gdrive://root/test]": 0.1351872000000185, + "tests/func/test_config.py::test_load_relative_paths[gdrive_user_credentials_file-gdrive://root/test]": 0.12179250000008324, + "tests/func/test_config.py::test_load_relative_paths[key_path-webdavs://example.com/files/USERNAME/]": 0.14102509999997892, + "tests/func/test_config.py::test_load_relative_paths[keyfile-ssh://user@example.com:1234/path/to/dir]": 0.14036539999995057, + "tests/func/test_config.py::test_merging_two_levels": 0.14326260000007096, + "tests/func/test_config.py::test_set_invalid_key": 0.12056800000004841, + "tests/func/test_daemon.py::test_analytics": 1.1433796000001166, + "tests/func/test_daemon.py::test_updater": 2.4364567999999736, + "tests/func/test_data_cloud.py::TestRemote::test": 0.6962589999999409, + "tests/func/test_data_cloud.py::TestRemote::test_pull_00_prefix": 0.6842130000001134, + "tests/func/test_data_cloud.py::TestRemote::test_pull_no_00_prefix": 0.8140448000000333, + "tests/func/test_data_cloud.py::TestRemote::test_stage_cache_push_pull": 0.57795590000012, + "tests/func/test_data_cloud.py::test_cloud_cli": 1.659253900000067, + "tests/func/test_data_cloud.py::test_data_cloud_error_cli": 0.22858320000000276, + "tests/func/test_data_cloud.py::test_dvc_pull_pipeline_stages": 3.110578300000043, + "tests/func/test_data_cloud.py::test_fetch_stats[fs0-2 files fetched]": 0.6439170999998396, + "tests/func/test_data_cloud.py::test_fetch_stats[fs1-1 file fetched]": 0.511205700000005, + "tests/func/test_data_cloud.py::test_fetch_stats[fs2-Everything is up to date.]": 0.26188230000002477, + "tests/func/test_data_cloud.py::test_hash_recalculation": 0.3639411999999993, + "tests/func/test_data_cloud.py::test_missing_cache": 0.4893174999999701, + "tests/func/test_data_cloud.py::test_output_remote": 1.5091685999999527, + "tests/func/test_data_cloud.py::test_output_target_remote": 1.2829474000000118, + "tests/func/test_data_cloud.py::test_pipeline_file_target_ops": 1.7815956999999116, + "tests/func/test_data_cloud.py::test_pull_allow_missing": 0.6819165000000567, + "tests/func/test_data_cloud.py::test_pull_external_dvc_imports": 1.9060864000000493, + "tests/func/test_data_cloud.py::test_pull_external_dvc_imports_mixed": 1.6527059000000008, + "tests/func/test_data_cloud.py::test_pull_git_imports[erepo_dir]": 1.5395055000000184, + "tests/func/test_data_cloud.py::test_pull_git_imports[git_dir]": 1.045524300000011, + "tests/func/test_data_cloud.py::test_pull_granular_excluding_import_that_cannot_be_pulled": 0.7391129000000092, + "tests/func/test_data_cloud.py::test_pull_partial": 0.8865887999999131, + "tests/func/test_data_cloud.py::test_pull_partial_import": 0.34923349999996844, + "tests/func/test_data_cloud.py::test_pull_partial_import_missing": 0.25161370000012084, + "tests/func/test_data_cloud.py::test_pull_partial_import_modified": 0.3184686000000738, + "tests/func/test_data_cloud.py::test_pull_stats": 0.8137879000000794, + "tests/func/test_data_cloud.py::test_push_pull_all[all_branches-3]": 1.3515395000001718, + "tests/func/test_data_cloud.py::test_push_pull_all[all_commits-3]": 2.8969190000000253, + "tests/func/test_data_cloud.py::test_push_pull_all[all_tags-2]": 1.2282873999999993, + "tests/func/test_data_cloud.py::test_push_pull_fetch_pipeline_stages": 0.9839677999999594, + "tests/func/test_data_cloud.py::test_push_stats[fs0-2 files pushed]": 0.5599261000000979, + "tests/func/test_data_cloud.py::test_push_stats[fs1-1 file pushed]": 0.6247941999999966, + "tests/func/test_data_cloud.py::test_push_stats[fs2-Everything is up to date]": 0.35563230000002477, + "tests/func/test_data_cloud.py::test_target_remote": 0.8110535999999229, + "tests/func/test_data_cloud.py::test_verify_hashes": 1.1686573000000635, + "tests/func/test_data_cloud.py::test_warn_on_outdated_stage": 0.4580950000000712, + "tests/func/test_data_status.py::test_directory": 0.7879010000000335, + "tests/func/test_data_status.py::test_empty_dir": 0.4069728000000623, + "tests/func/test_data_status.py::test_file": 0.6691374999999198, + "tests/func/test_data_status.py::test_git_committed_missing_cache_missing_workspace": 0.8985119999998687, + "tests/func/test_data_status.py::test_git_committed_missing_cache_workspace_exists": 0.6913467999999057, + "tests/func/test_data_status.py::test_git_to_dvc_path_wdir_transformation[None]": 0.3991748999998208, + "tests/func/test_data_status.py::test_git_to_dvc_path_wdir_transformation[path1]": 0.5411543999999822, + "tests/func/test_data_status.py::test_missing_cache_missing_workspace": 0.593168799999944, + "tests/func/test_data_status.py::test_missing_cache_workspace_exists": 0.5601576999999907, + "tests/func/test_data_status.py::test_missing_dir_object_from_head": 0.669361800000047, + "tests/func/test_data_status.py::test_missing_dir_object_from_index": 0.7362090000000308, + "tests/func/test_data_status.py::test_missing_remote_cache": 0.9769824999999628, + "tests/func/test_data_status.py::test_new_empty_git_repo": 0.39809409999998024, + "tests/func/test_data_status.py::test_noscm_repo": 0.21185890000003837, + "tests/func/test_data_status.py::test_outs_with_no_hashes": 0.43225139999992734, + "tests/func/test_data_status.py::test_outs_with_no_hashes_and_with_uncommitted_files": 0.40048109999997905, + "tests/func/test_data_status.py::test_partial_missing_cache": 0.49934910000001764, + "tests/func/test_data_status.py::test_root_from_dir_to_file": 0.6534549999998944, + "tests/func/test_data_status.py::test_root_from_file_to_dir": 0.46668609999994715, + "tests/func/test_data_status.py::test_skip_uncached_pipeline_outputs": 0.40500140000006013, + "tests/func/test_data_status.py::test_subdir": 1.0634731000000102, + "tests/func/test_data_status.py::test_tracked_directory_deep": 0.6695379000001367, + "tests/func/test_data_status.py::test_unchanged": 0.7081071999999722, + "tests/func/test_data_status.py::test_untracked_newly_added_files": 0.4063917999999376, + "tests/func/test_dataset.py::test_collect": 0.1674499000000651, + "tests/func/test_dataset.py::test_dvc": 0.46001330000012786, + "tests/func/test_dataset.py::test_dvc_dataset_pipeline": 0.7948393000000351, + "tests/func/test_dataset.py::test_dvc_dump": 0.17996560000005957, + "tests/func/test_dataset.py::test_dvcx": 0.22482930000001033, + "tests/func/test_dataset.py::test_dvcx_dataset_pipeline": 0.43405649999999696, + "tests/func/test_dataset.py::test_dvcx_dump": 0.1858166000000665, + "tests/func/test_dataset.py::test_invalidation": 0.16291839999996682, + "tests/func/test_dataset.py::test_parametrized": 0.19277699999997822, + "tests/func/test_dataset.py::test_pipeline_when_not_in_sync": 0.2063928999999689, + "tests/func/test_dataset.py::test_url": 1.1613198999999668, + "tests/func/test_dataset.py::test_url_dataset_pipeline": 0.7589528000000882, + "tests/func/test_dataset.py::test_url_dump": 0.16424820000008822, + "tests/func/test_diff.py::test_abs_target": 0.4775963000000729, + "tests/func/test_diff.py::test_added": 0.4151034000000209, + "tests/func/test_diff.py::test_added_deep": 0.46422310000002653, + "tests/func/test_diff.py::test_deleted[False]": 0.683859100000177, + "tests/func/test_diff.py::test_deleted[True]": 0.4685372000000143, + "tests/func/test_diff.py::test_diff_add_similar_files[False]": 0.6157927000000427, + "tests/func/test_diff.py::test_diff_add_similar_files[True]": 0.6788806999999224, + "tests/func/test_diff.py::test_diff_dirty": 0.6926497000000609, + "tests/func/test_diff.py::test_diff_granular": 0.8422219000000268, + "tests/func/test_diff.py::test_diff_no_cache": 0.6685171999999966, + "tests/func/test_diff.py::test_diff_rename_file[False]": 0.7659852000000456, + "tests/func/test_diff.py::test_diff_rename_file[True]": 0.822601000000077, + "tests/func/test_diff.py::test_diff_rename_folder[False]": 0.5709835999999768, + "tests/func/test_diff.py::test_diff_rename_folder[True]": 0.6485969999998815, + "tests/func/test_diff.py::test_directories": 1.1286296000000675, + "tests/func/test_diff.py::test_modified": 0.6859245999999075, + "tests/func/test_diff.py::test_modified_subrepo": 0.9839555999999448, + "tests/func/test_diff.py::test_no_cache_entry": 0.7368651000000455, + "tests/func/test_diff.py::test_no_changes": 0.6226969000000508, + "tests/func/test_diff.py::test_no_commits": 0.5326039999998784, + "tests/func/test_diff.py::test_no_scm": 0.253040399999918, + "tests/func/test_diff.py::test_refs": 0.9594080000000531, + "tests/func/test_diff.py::test_rename_multiple_files_same_hashes": 0.9475248000001102, + "tests/func/test_diff.py::test_same_rev": 0.5410654000000932, + "tests/func/test_diff.py::test_targets_file_and_dir": 0.9251517999999805, + "tests/func/test_diff.py::test_targets_missing_path": 0.7832548999999744, + "tests/func/test_diff.py::test_targets_single_dir": 0.947497799999951, + "tests/func/test_diff.py::test_targets_single_dir_with_file": 0.9124318000000358, + "tests/func/test_diff.py::test_targets_single_file": 0.7914005999999745, + "tests/func/test_diff.py::test_targets_single_file_in_dir": 0.7911016000000473, + "tests/func/test_diff.py::test_targets_single_file_in_dir_with_file": 0.9484240999998974, + "tests/func/test_diff.py::test_targets_two_files_in_dir": 0.7935872000000472, + "tests/func/test_download.py::test_lfs_prefetch_directory[escape-**]": 0.001256399999988389, + "tests/func/test_download.py::test_lfs_prefetch_directory[escape-*]": 0.0013634000000593005, + "tests/func/test_download.py::test_lfs_prefetch_directory[escape-?]": 0.001416800000015428, + "tests/func/test_download.py::test_lfs_prefetch_directory[escape-[!seq]]": 0.43633040000008805, + "tests/func/test_download.py::test_lfs_prefetch_directory[escape-[seq]]": 0.39428320000001804, + "tests/func/test_download.py::test_lfs_prefetch_directory[plain]": 0.49833910000006654, + "tests/func/test_download.py::test_lfs_prefetch_file[escape-**]": 0.001109700000029079, + "tests/func/test_download.py::test_lfs_prefetch_file[escape-*]": 0.0011691999999356995, + "tests/func/test_download.py::test_lfs_prefetch_file[escape-?]": 0.0011173999999982698, + "tests/func/test_download.py::test_lfs_prefetch_file[escape-[!seq]]": 0.48147240000002967, + "tests/func/test_download.py::test_lfs_prefetch_file[escape-[seq]]": 0.3986328999999387, + "tests/func/test_download.py::test_lfs_prefetch_file[plain]": 0.40905340000006163, + "tests/func/test_du.py::test_du": 2.0110667999999805, + "tests/func/test_dvcfile.py::test_dvcfile_dos2unix": 0.15745239999989735, + "tests/func/test_dvcfile.py::test_dvcfile_dump_preserves_comments": 0.1488390999999183, + "tests/func/test_dvcfile.py::test_dvcfile_dump_preserves_desc": 0.38740600000005543, + "tests/func/test_dvcfile.py::test_dvcfile_dump_preserves_meta": 0.36510500000008506, + "tests/func/test_dvcfile.py::test_dvcfile_load_dump_stage_with_desc_meta": 0.18181300000003375, + "tests/func/test_dvcfile.py::test_dvcfile_load_with_plots": 0.26786539999989145, + "tests/func/test_dvcfile.py::test_dvcfile_try_dumping_parametrized_stage[data0-build-us]": 0.15425709999999526, + "tests/func/test_dvcfile.py::test_dvcfile_try_dumping_parametrized_stage[data1-build@us]": 0.16851990000020578, + "tests/func/test_dvcfile.py::test_has_stage_with_name": 0.33740469999986544, + "tests/func/test_dvcfile.py::test_load_all_multistage": 0.5214114999999993, + "tests/func/test_dvcfile.py::test_load_all_singlestage": 0.23141340000006494, + "tests/func/test_dvcfile.py::test_remove_stage": 0.7379988999999796, + "tests/func/test_dvcfile.py::test_remove_stage_dvcfiles": 0.2416733000000022, + "tests/func/test_dvcfile.py::test_remove_stage_lockfile": 0.6938364000000092, + "tests/func/test_dvcfile.py::test_remove_stage_on_lockfile_format_error": 0.39975270000002183, + "tests/func/test_dvcfile.py::test_remove_stage_preserves_comment": 0.4730415000001358, + "tests/func/test_dvcfile.py::test_remove_stage_removes_dvcfiles_if_no_stages_left": 0.3775637999999617, + "tests/func/test_dvcfile.py::test_run_load_one_for_multistage": 0.502129600000103, + "tests/func/test_dvcfile.py::test_run_load_one_for_multistage_non_existing": 0.2074472000000469, + "tests/func/test_dvcfile.py::test_run_load_one_for_multistage_non_existing_stage_name": 0.34883259999980964, + "tests/func/test_dvcfile.py::test_run_load_one_on_single_stage": 0.597080099999971, + "tests/func/test_dvcfile.py::test_stage_collection": 0.44439489999990656, + "tests/func/test_dvcfile.py::test_try_get_single_stage_from_pipeline_file": 0.2724720000001071, + "tests/func/test_external_repo.py::test_cache_reused": 1.383084300000064, + "tests/func/test_external_repo.py::test_external_repo": 1.2636050999999497, + "tests/func/test_external_repo.py::test_known_sha": 0.35369119999995746, + "tests/func/test_external_repo.py::test_pull_subdir_file": 0.5718703000000005, + "tests/func/test_external_repo.py::test_relative_remote": 0.973195500000088, + "tests/func/test_external_repo.py::test_shallow_clone_branch": 1.2217249000000265, + "tests/func/test_external_repo.py::test_shallow_clone_tag": 1.015111999999931, + "tests/func/test_external_repo.py::test_source_change": 0.7035343999998531, + "tests/func/test_external_repo.py::test_subrepos_are_ignored": 1.3591140999999425, + "tests/func/test_external_repo.py::test_subrepos_are_ignored_for_git_tracked_dirs": 1.0593133999998372, + "tests/func/test_fs.py::test_cleanfs_subrepo": 0.46248530000002575, + "tests/func/test_fs.py::test_walk_dont_ignore_subrepos": 0.6838972999998987, + "tests/func/test_gc.py::test_all_commits": 2.156316600000082, + "tests/func/test_gc.py::test_date": 2.269047599999908, + "tests/func/test_gc.py::test_gc_all_experiments": 0.6611699000000044, + "tests/func/test_gc.py::test_gc_api": 0.3851829999999836, + "tests/func/test_gc.py::test_gc_branches_tags": 1.0996564000000717, + "tests/func/test_gc.py::test_gc_cli": 0.41177300000003925, + "tests/func/test_gc.py::test_gc_cloud_positive": 0.34791889999996783, + "tests/func/test_gc.py::test_gc_cloud_remote_field": 0.795977999999991, + "tests/func/test_gc.py::test_gc_cloud_remove_order": 0.8154675999999199, + "tests/func/test_gc.py::test_gc_cloud_with_or_without_specifier": 0.933874499999888, + "tests/func/test_gc.py::test_gc_dry": 0.32338210000000345, + "tests/func/test_gc.py::test_gc_logging": 0.31315829999994094, + "tests/func/test_gc.py::test_gc_multiple_dvc_repos": 0.8834275000000389, + "tests/func/test_gc.py::test_gc_no_dir_cache": 0.3972282999999379, + "tests/func/test_gc.py::test_gc_no_unpacked_dir": 0.23377059999995708, + "tests/func/test_gc.py::test_gc_not_collect_pipeline_tracked_files": 0.39117349999992257, + "tests/func/test_gc.py::test_gc_not_in_remote": 0.7354806999999255, + "tests/func/test_gc.py::test_gc_not_in_remote_cloud": 0.18755820000001222, + "tests/func/test_gc.py::test_gc_not_in_remote_remote_arg": 0.8360622999999805, + "tests/func/test_gc.py::test_gc_not_in_remote_with_remote_field": 0.6703756999999086, + "tests/func/test_gc.py::test_gc_rev_num": 0.7199834999998984, + "tests/func/test_gc.py::test_gc_skip_failed": 0.1434530999998742, + "tests/func/test_gc.py::test_gc_with_possible_args_positive": 0.3313971000000038, + "tests/func/test_gc.py::test_gc_without_workspace[]": 0.2372054999999591, + "tests/func/test_gc.py::test_gc_without_workspace[c]": 0.2266785000000482, + "tests/func/test_gc.py::test_gc_without_workspace_on_tags_branches_commits": 0.20780869999998686, + "tests/func/test_gc.py::test_gc_without_workspace_raises_error": 0.12934850000010556, + "tests/func/test_get.py::test_absolute_file_outside_git_repo": 0.15017870000008315, + "tests/func/test_get.py::test_absolute_file_outside_repo": 0.38033600000005663, + "tests/func/test_get.py::test_cache_type_is_properly_overridden": 0.5857792000000472, + "tests/func/test_get.py::test_get_a_dvc_file": 0.20116699999994125, + "tests/func/test_get.py::test_get_complete_repo": 1.4647586999999476, + "tests/func/test_get.py::test_get_file_from_dir": 0.9006957999998804, + "tests/func/test_get.py::test_get_from_non_dvc_master": 0.6872383000001037, + "tests/func/test_get.py::test_get_from_non_dvc_repo": 0.2128956000000244, + "tests/func/test_get.py::test_get_from_subrepos[files0-False]": 0.7780077999999548, + "tests/func/test_get.py::test_get_from_subrepos[files0-True]": 0.8611526999999342, + "tests/func/test_get.py::test_get_from_subrepos[files1-False]": 0.7101842999999235, + "tests/func/test_get.py::test_get_from_subrepos[files1-True]": 0.8807715999998891, + "tests/func/test_get.py::test_get_git_dir[erepo_dir]": 0.38611629999991237, + "tests/func/test_get.py::test_get_git_dir[git_dir]": 0.2643609000000424, + "tests/func/test_get.py::test_get_git_file[erepo_dir]": 0.3733656000000565, + "tests/func/test_get.py::test_get_git_file[git_dir]": 0.2132688000001508, + "tests/func/test_get.py::test_get_mixed_dir": 0.5913230999999541, + "tests/func/test_get.py::test_get_pipeline_tracked_outs": 1.2631304000001364, + "tests/func/test_get.py::test_get_repo_broken_dir": 0.48770490000003974, + "tests/func/test_get.py::test_get_repo_dir": 0.5975047000000586, + "tests/func/test_get.py::test_get_repo_file": 0.5339506000000256, + "tests/func/test_get.py::test_get_repo_file_no_override": 0.8450057000001152, + "tests/func/test_get.py::test_get_repo_file_with_override": 0.9565097000000833, + "tests/func/test_get.py::test_get_repo_rev": 0.47190690000013547, + "tests/func/test_get.py::test_get_to_dir[.]": 0.7166565999999648, + "tests/func/test_get.py::test_get_to_dir[dir/subdir]": 0.543013799999926, + "tests/func/test_get.py::test_get_to_dir[dir]": 0.4927519000000302, + "tests/func/test_get.py::test_get_url_git_only_repo": 0.20925550000004023, + "tests/func/test_get.py::test_get_url_not_existing": 0.39218749999997726, + "tests/func/test_get.py::test_get_url_positive": 0.6426764000000276, + "tests/func/test_get.py::test_granular_get_from_subrepos": 1.2335647000001018, + "tests/func/test_get.py::test_non_cached_output": 0.6284569000000602, + "tests/func/test_get.py::test_unknown_path": 0.2856510999999955, + "tests/func/test_get_url.py::TestGetUrl::test_get_dir": 0.02241720000006353, + "tests/func/test_get_url.py::TestGetUrl::test_get_file": 0.025068900000064787, + "tests/func/test_get_url.py::TestGetUrl::test_get_url_nonexistent": 0.012923699999987548, + "tests/func/test_get_url.py::TestGetUrl::test_get_url_to_dir[.]": 0.025865899999871544, + "tests/func/test_get_url.py::TestGetUrl::test_get_url_to_dir[dir/subdir]": 0.023055399999861947, + "tests/func/test_get_url.py::TestGetUrl::test_get_url_to_dir[dir]": 0.0350884000000633, + "tests/func/test_get_url.py::test_get_dir": 0.015264599999909478, + "tests/func/test_get_url.py::test_get_file": 0.014133099999980914, + "tests/func/test_get_url.py::test_get_file_conflict_and_override": 0.016250000000013642, + "tests/func/test_get_url.py::test_get_url_config": 0.1669968000001063, + "tests/func/test_get_url.py::test_get_url_nonexistent": 0.01504759999977523, + "tests/func/test_get_url.py::test_get_url_to_dir[.]": 0.02255650000006426, + "tests/func/test_get_url.py::test_get_url_to_dir[dir/subdir]": 0.021038400000179536, + "tests/func/test_get_url.py::test_get_url_to_dir[dir]": 0.01743029999988721, + "tests/func/test_ignore.py::test_dvcignore_in_out_dir": 0.15225010000006023, + "tests/func/test_ignore.py::test_ignore[\\u0442\\u0435\\u0441\\u0442]": 0.14757190000000264, + "tests/func/test_ignore.py::test_ignore[ignored]": 0.15114039999991746, + "tests/func/test_ignore.py::test_ignore_blank_line": 0.18660330000000158, + "tests/func/test_ignore.py::test_ignore_collecting_dvcignores[dir/subdir]": 0.16490030000011302, + "tests/func/test_ignore.py::test_ignore_collecting_dvcignores[dir]": 0.14711049999993975, + "tests/func/test_ignore.py::test_ignore_directory": 0.1992541000000756, + "tests/func/test_ignore.py::test_ignore_external": 0.2136403000000655, + "tests/func/test_ignore.py::test_ignore_file_in_parent_path[data_struct0-pattern_list0-result_set0]": 0.1942944999999554, + "tests/func/test_ignore.py::test_ignore_file_in_parent_path[data_struct1-pattern_list1-result_set1]": 0.19079089999991083, + "tests/func/test_ignore.py::test_ignore_file_in_parent_path[data_struct2-pattern_list2-result_set2]": 0.2009209999999939, + "tests/func/test_ignore.py::test_ignore_in_added_dir": 0.3251916000000392, + "tests/func/test_ignore.py::test_ignore_on_branch": 0.35599500000000717, + "tests/func/test_ignore.py::test_ignore_resurface_subrepo": 0.6824492999999165, + "tests/func/test_ignore.py::test_ignore_sub_directory": 0.20163170000012087, + "tests/func/test_ignore.py::test_ignored_output": 0.48675440000010894, + "tests/func/test_ignore.py::test_ignored_output_nested": 0.4683974000000717, + "tests/func/test_ignore.py::test_match_nested": 0.1366146000000299, + "tests/func/test_ignore.py::test_multi_ignore_file": 0.18268860000000586, + "tests/func/test_ignore.py::test_pattern_trie_fs": 0.16440320000015163, + "tests/func/test_ignore.py::test_pull_ignore": 0.7683907000000545, + "tests/func/test_ignore.py::test_remove_file": 0.1357917999999927, + "tests/func/test_ignore.py::test_remove_ignored_file": 0.1405205000000933, + "tests/func/test_ignore.py::test_rename_file": 0.14469229999986055, + "tests/func/test_ignore.py::test_rename_ignored_file": 0.14287149999984194, + "tests/func/test_ignore.py::test_run_dvcignored_dep": 0.33406170000000657, + "tests/func/test_ignore.py::test_walk": 0.16399349999994683, + "tests/func/test_import.py::test_cache_type_is_properly_overridden": 0.9056994000000032, + "tests/func/test_import.py::test_chained_import": 2.625762800000075, + "tests/func/test_import.py::test_granular_import_from_subrepos": 1.4031246000000692, + "tests/func/test_import.py::test_import": 0.8625809999999774, + "tests/func/test_import.py::test_import_broken_dir": 0.7567731999999978, + "tests/func/test_import.py::test_import_cached_file": 1.0863352999999734, + "tests/func/test_import.py::test_import_complete_repo": 2.6308554000000868, + "tests/func/test_import.py::test_import_configs[options0-def_repo0]": 0.5693571000001612, + "tests/func/test_import.py::test_import_configs[options1-def_repo1]": 0.575264099999913, + "tests/func/test_import.py::test_import_configs[options2-def_repo2]": 0.5618485999999621, + "tests/func/test_import.py::test_import_configs[options3-def_repo3]": 0.5637469000000692, + "tests/func/test_import.py::test_import_configs[options4-def_repo4]": 0.7436949999998888, + "tests/func/test_import.py::test_import_dir": 0.9349176000000625, + "tests/func/test_import.py::test_import_file_from_dir": 2.0776521000001367, + "tests/func/test_import.py::test_import_file_from_dir_to_dir": 0.9712954999999965, + "tests/func/test_import.py::test_import_from_bare_git_repo": 1.746106199999872, + "tests/func/test_import.py::test_import_git_dir[False]": 0.5802926999999727, + "tests/func/test_import.py::test_import_git_dir[True]": 0.9223047000000406, + "tests/func/test_import.py::test_import_git_file[False]": 0.6169221000001244, + "tests/func/test_import.py::test_import_git_file[True]": 0.9858597999998437, + "tests/func/test_import.py::test_import_invalid_configs": 0.6348908999999594, + "tests/func/test_import.py::test_import_mixed_dir": 1.0006189000000631, + "tests/func/test_import.py::test_import_no_download": 0.8493882999999869, + "tests/func/test_import.py::test_import_non_cached": 0.8062373000000207, + "tests/func/test_import.py::test_import_non_existing": 0.5482246999999916, + "tests/func/test_import.py::test_import_pipeline_tracked_outs": 1.8464855999999372, + "tests/func/test_import.py::test_import_rev": 0.8083298000000241, + "tests/func/test_import.py::test_import_subrepos[files0-False]": 1.3250576000000365, + "tests/func/test_import.py::test_import_subrepos[files0-True]": 1.2777296000000433, + "tests/func/test_import.py::test_import_subrepos[files1-False]": 1.2118335000001252, + "tests/func/test_import.py::test_import_subrepos[files1-True]": 1.265125600000033, + "tests/func/test_import.py::test_import_to_dir[.]": 1.1777158999999529, + "tests/func/test_import.py::test_import_to_dir[dir/subdir]": 0.8869288999999299, + "tests/func/test_import.py::test_import_to_dir[dir]": 0.7965009999999211, + "tests/func/test_import.py::test_import_with_jobs": 0.8842647999999826, + "tests/func/test_import.py::test_import_with_no_exec": 0.3832912999999962, + "tests/func/test_import.py::test_local_import": 1.080212700000061, + "tests/func/test_import.py::test_parameterized_repo[paths0]": 1.0523322999999891, + "tests/func/test_import.py::test_parameterized_repo[paths1]": 0.9154290000000174, + "tests/func/test_import.py::test_pull_import_no_download": 1.3039238999999725, + "tests/func/test_import.py::test_pull_import_no_download_rev_lock": 1.1029234000000088, + "tests/func/test_import.py::test_pull_imported_directory_stage[dir/]": 1.3592204999997648, + "tests/func/test_import.py::test_pull_imported_directory_stage[dir]": 1.130154100000027, + "tests/func/test_import.py::test_pull_imported_stage": 1.1966352000000597, + "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files0-False]": 1.331404799999973, + "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files0-True]": 1.6920185000000174, + "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files1-False]": 1.4010470000000623, + "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files1-True]": 1.5626003999999512, + "tests/func/test_import.py::test_pull_no_rev_lock": 1.0278057000000445, + "tests/func/test_import.py::test_pull_non_workspace": 1.6440565000000333, + "tests/func/test_import.py::test_pull_wildcard_imported_directory_stage": 1.1825951000000714, + "tests/func/test_import.py::test_push_wildcard_from_bare_git_repo": 1.8283545999998978, + "tests/func/test_import.py::test_reimport": 1.1143974999999955, + "tests/func/test_import_db.py::test[args0-results-csv]": 0.6439319000000978, + "tests/func/test_import_db.py::test[args0-results-json]": 0.4460628000000497, + "tests/func/test_import_db.py::test[args1-model-csv]": 0.4647165000001223, + "tests/func/test_import_db.py::test[args1-model-json]": 0.46484750000001895, + "tests/func/test_import_url.py::TestImport::test_import": 0.28322309999987283, + "tests/func/test_import_url.py::TestImport::test_import_dir": 0.3263785999998845, + "tests/func/test_import_url.py::TestImport::test_import_empty_dir": 0.2588596000000507, + "tests/func/test_import_url.py::test_cmd_import": 0.243037500000014, + "tests/func/test_import_url.py::test_cmd_unsupported_scheme": 0.1825516000000107, + "tests/func/test_import_url.py::test_default_output": 0.25000760000011724, + "tests/func/test_import_url.py::test_import_conflict_and_override": 0.29910240000015165, + "tests/func/test_import_url.py::test_import_stage_accompanies_target": 0.7743165999999064, + "tests/func/test_import_url.py::test_import_url_fs_config": 0.41629649999993035, + "tests/func/test_import_url.py::test_import_url_no_download": 0.4691332999999531, + "tests/func/test_import_url.py::test_import_url_nonexistent": 0.3444412999999713, + "tests/func/test_import_url.py::test_import_url_preserve_fields": 0.2801150000001371, + "tests/func/test_import_url.py::test_import_url_to_dir[.]": 0.3046689000000242, + "tests/func/test_import_url.py::test_import_url_to_dir[dir/subdir]": 0.3088328000000047, + "tests/func/test_import_url.py::test_import_url_to_dir[dir]": 0.2801137999998673, + "tests/func/test_import_url.py::test_import_url_to_remote_absolute": 0.4061252000000195, + "tests/func/test_import_url.py::test_import_url_to_remote_invalid_combinations": 0.1392080000000533, + "tests/func/test_import_url.py::test_import_url_to_remote_status": 0.523811300000034, + "tests/func/test_import_url.py::test_import_url_with_no_exec": 0.3659144999999171, + "tests/func/test_import_url.py::test_partial_import_pull": 0.925487999999973, + "tests/func/test_import_url.py::test_should_remove_outs_before_import": 0.4517859000000044, + "tests/func/test_init.py::test_allow_init_dvc_subdir": 0.36744199999986904, + "tests/func/test_init.py::test_api_init": 0.41764749999993, + "tests/func/test_init.py::test_cli_init": 0.3148900999998432, + "tests/func/test_init.py::test_double_init": 0.8229186999999456, + "tests/func/test_init.py::test_gen_dvcignore": 0.25045269999986886, + "tests/func/test_init.py::test_init_no_scm_api": 0.2666681000000608, + "tests/func/test_init.py::test_init_no_scm_cli": 0.23497389999999996, + "tests/func/test_init.py::test_init_no_scm_fail_api": 0.011122799999952804, + "tests/func/test_init.py::test_init_no_scm_fail_cli": 0.026207399999975678, + "tests/func/test_init.py::test_init_quiet_should_not_display_welcome_screen": 0.31500000000005457, + "tests/func/test_init.py::test_init_when_ignored_by_git": 0.03822130000003199, + "tests/func/test_init.py::test_subdir_init_no_option": 0.034765399999969304, + "tests/func/test_install.py::TestInstall::test_create_hooks": 0.001248400000008587, + "tests/func/test_install.py::TestInstall::test_fail_if_hook_exists": 0.0011312999999972817, + "tests/func/test_install.py::TestInstall::test_install_pre_commit_tool": 0.0011799000000110027, + "tests/func/test_install.py::TestInstall::test_post_checkout": 0.0011200999999800842, + "tests/func/test_install.py::TestInstall::test_pre_commit_hook": 0.0011349999999765714, + "tests/func/test_install.py::TestInstall::test_pre_push_hook": 0.0011102999999366148, + "tests/func/test_install.py::test_merge_driver": 0.0011039000000891974, + "tests/func/test_install.py::test_merge_driver_no_ancestor": 0.0011172000000669868, + "tests/func/test_lock.py::test_cli": 0.30169069999999465, + "tests/func/test_lock.py::test_unlock_lock_failed": 0.19527419999997164, + "tests/func/test_lock.py::test_unlock_unlocked_raises": 0.0037138999999797306, + "tests/func/test_lock.py::test_with": 0.19908450000014, + "tests/func/test_lockfile.py::test_cmd_changes_other_orders_are_preserved": 0.7635403999998971, + "tests/func/test_lockfile.py::test_deps_outs_are_sorted_by_path": 0.4513723000000027, + "tests/func/test_lockfile.py::test_order_is_preserved_when_pipeline_order_changes": 1.3011747000000469, + "tests/func/test_lockfile.py::test_params_dump": 1.2367351999999983, + "tests/func/test_ls.py::test_broken_symlink": 0.23077140000009422, + "tests/func/test_ls.py::test_ls_broken_dir": 0.8679249000001619, + "tests/func/test_ls.py::test_ls_granular": 0.6666682000000037, + "tests/func/test_ls.py::test_ls_not_existed_url": 0.04265199999997549, + "tests/func/test_ls.py::test_ls_remote_git_only_repo_recursive": 0.44433429999992313, + "tests/func/test_ls.py::test_ls_remote_repo": 0.9113675999999487, + "tests/func/test_ls.py::test_ls_remote_repo_recursive": 0.8802007000000458, + "tests/func/test_ls.py::test_ls_remote_repo_with_path_dir": 1.0943083999999317, + "tests/func/test_ls.py::test_ls_remote_repo_with_rev": 0.8788874000000533, + "tests/func/test_ls.py::test_ls_remote_repo_with_rev_recursive": 0.9485074999998915, + "tests/func/test_ls.py::test_ls_repo": 0.8172812999999906, + "tests/func/test_ls.py::test_ls_repo_dvc_only_recursive": 1.0351157000000057, + "tests/func/test_ls.py::test_ls_repo_recursive": 0.8275060999998232, + "tests/func/test_ls.py::test_ls_repo_with_file_path_fs": 0.8277243999998518, + "tests/func/test_ls.py::test_ls_repo_with_missed_path": 0.8948088000001917, + "tests/func/test_ls.py::test_ls_repo_with_missed_path_dvc_only": 0.873964800000067, + "tests/func/test_ls.py::test_ls_repo_with_new_path_dir": 0.7521163999999771, + "tests/func/test_ls.py::test_ls_repo_with_path_dir": 0.8435791999999083, + "tests/func/test_ls.py::test_ls_repo_with_path_dir_dvc_only_empty": 1.5219220000000178, + "tests/func/test_ls.py::test_ls_repo_with_path_file_out": 0.89468480000005, + "tests/func/test_ls.py::test_ls_repo_with_path_subdir": 0.8051321000000371, + "tests/func/test_ls.py::test_ls_repo_with_path_subdir_dvc_only": 0.9938705999999229, + "tests/func/test_ls.py::test_ls_repo_with_path_subdir_dvc_only_recursive": 0.9960608000000093, + "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir": 0.849593900000059, + "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir_recursive": 1.0610984000001054, + "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir_with_path_dir": 0.8317214999999578, + "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir_with_path_file": 0.891010499999993, + "tests/func/test_ls.py::test_ls_repo_with_rev": 0.8284595999999738, + "tests/func/test_ls.py::test_ls_shows_pipeline_tracked_outs": 0.6767601999999897, + "tests/func/test_ls.py::test_ls_target[False]": 1.0040828999999576, + "tests/func/test_ls.py::test_ls_target[True]": 0.5304179000000886, + "tests/func/test_ls.py::test_subrepo[False-git_dir]": 1.3562943999999106, + "tests/func/test_ls.py::test_subrepo[True-erepo_dir]": 2.086549600000012, + "tests/func/test_ls_url.py::TestLsUrl::test_dir": 0.015517799999884119, + "tests/func/test_ls_url.py::TestLsUrl::test_file[dir/foo]": 0.010514699999930599, + "tests/func/test_ls_url.py::TestLsUrl::test_file[foo.dvc]": 0.01171199999998862, + "tests/func/test_ls_url.py::TestLsUrl::test_file[foo]": 0.012536199999999553, + "tests/func/test_ls_url.py::TestLsUrl::test_nonexistent": 0.011345700000106262, + "tests/func/test_ls_url.py::TestLsUrl::test_recursive": 0.021404200000006313, + "tests/func/test_ls_url.py::test_ls_url_config": 0.2156835000000683, + "tests/func/test_merge_driver.py::test_merge[None-None-their6-merged6]": 0.3963009000000284, + "tests/func/test_merge_driver.py::test_merge[None-our5-their5-merged5]": 0.5082504000001791, + "tests/func/test_merge_driver.py::test_merge[None-our7-None-merged7]": 0.38870360000009896, + "tests/func/test_merge_driver.py::test_merge[ancestor0-our0-their0-merged0]": 0.8395247000000836, + "tests/func/test_merge_driver.py::test_merge[ancestor1-our1-their1-merged1]": 0.6888646999999537, + "tests/func/test_merge_driver.py::test_merge[ancestor10-our10-their10-merged10]": 0.7417891999999711, + "tests/func/test_merge_driver.py::test_merge[ancestor2-our2-their2-merged2]": 0.6183836999998675, + "tests/func/test_merge_driver.py::test_merge[ancestor3-our3-their3-merged3]": 0.5287539000000834, + "tests/func/test_merge_driver.py::test_merge[ancestor4-our4-their4-merged4]": 0.5320171999998138, + "tests/func/test_merge_driver.py::test_merge[ancestor8-our8-their8-merged8]": 0.6128427999999531, + "tests/func/test_merge_driver.py::test_merge[ancestor9-our9-their9-merged9]": 0.6826347999999598, + "tests/func/test_merge_driver.py::test_merge_conflict[ancestor0-our0-their0-unable to auto-merge the following paths:\\nfoo]": 0.4920667000000094, + "tests/func/test_merge_driver.py::test_merge_conflict[ancestor1-our1-their1-unable to auto-merge the following paths:\\nboth deleted: ('foo',)]": 0.5235576999998557, + "tests/func/test_merge_driver.py::test_merge_different_output_options": 0.23589609999999084, + "tests/func/test_merge_driver.py::test_merge_file": 0.20629750000000513, + "tests/func/test_merge_driver.py::test_merge_non_dvc_add": 0.2590516000001344, + "tests/func/test_move.py::test_cmd_move": 0.4135996999999634, + "tests/func/test_move.py::test_move": 0.29322739999986425, + "tests/func/test_move.py::test_move_directory": 0.2985218999999688, + "tests/func/test_move.py::test_move_directory_should_not_overwrite_existing": 0.4510453000001462, + "tests/func/test_move.py::test_move_file_between_directories": 0.41026959999999235, + "tests/func/test_move.py::test_move_file_inside_directory": 0.42602529999999206, + "tests/func/test_move.py::test_move_file_to_directory": 0.38129300000002786, + "tests/func/test_move.py::test_move_file_to_directory_without_specified_target_name": 0.3573622000000114, + "tests/func/test_move.py::test_move_file_with_extension": 0.3254477000001543, + "tests/func/test_move.py::test_move_gitignored": 0.2915448999998489, + "tests/func/test_move.py::test_move_meta": 0.25579289999996035, + "tests/func/test_move.py::test_move_non_existent_file": 0.13955350000003364, + "tests/func/test_move.py::test_move_not_data_source": 0.42298670000002403, + "tests/func/test_move.py::test_move_output_overlap": 0.2740764999999783, + "tests/func/test_move.py::test_move_should_save_stage_info": 0.3627708999999868, + "tests/func/test_move.py::test_should_move_to_dir_on_non_default_stage_file": 0.2742161000001033, + "tests/func/test_odb.py::test_cache": 0.15525479999996605, + "tests/func/test_odb.py::test_cache_link_type": 0.27838630000007925, + "tests/func/test_odb.py::test_cache_load_bad_dir_cache": 0.14457310000011603, + "tests/func/test_odb.py::test_cmd_cache_abs_path": 0.20145130000003064, + "tests/func/test_odb.py::test_cmd_cache_dir": 0.17947869999989052, + "tests/func/test_odb.py::test_cmd_cache_relative_path": 0.2748297000000548, + "tests/func/test_odb.py::test_default_cache_type": 0.13929650000011407, + "tests/func/test_odb.py::test_external_cache_dir": 0.31341150000002926, + "tests/func/test_odb.py::test_shared_cache[False]": 0.0012287999999216481, + "tests/func/test_odb.py::test_shared_cache[True]": 0.0011681999999382242, + "tests/func/test_odb.py::test_shared_cache_dir": 0.8903651000000536, + "tests/func/test_remote.py::test_dir_hash_should_be_key_order_agnostic": 0.12442099999987022, + "tests/func/test_remote.py::test_modify_missing_remote": 0.14263769999990927, + "tests/func/test_remote.py::test_partial_push_n_pull": 1.0375717000000577, + "tests/func/test_remote.py::test_protect_local_remote": 0.558463000000188, + "tests/func/test_remote.py::test_push_incomplete_dir": 0.5540922999999793, + "tests/func/test_remote.py::test_push_order": 0.5294410999999855, + "tests/func/test_remote.py::test_raise_on_too_many_open_files": 0.34681590000002416, + "tests/func/test_remote.py::test_referencing_other_remotes": 0.20356249999997544, + "tests/func/test_remote.py::test_remote": 0.2198851000000559, + "tests/func/test_remote.py::test_remote_add_relative_path": 0.1899215999999342, + "tests/func/test_remote.py::test_remote_default": 0.17432330000008278, + "tests/func/test_remote.py::test_remote_default_cmd": 0.22403440000005048, + "tests/func/test_remote.py::test_remote_duplicated": 0.16780879999998888, + "tests/func/test_remote.py::test_remote_modify_default": 0.16813999999988027, + "tests/func/test_remote.py::test_remote_modify_local_on_repo_config": 0.14979379999988396, + "tests/func/test_remote.py::test_remote_modify_unset": 0.16284140000004754, + "tests/func/test_remote.py::test_remote_modify_validation": 0.1460834000001796, + "tests/func/test_remote.py::test_remote_overwrite": 0.19935130000010304, + "tests/func/test_remote.py::test_remote_remove": 0.25832579999996597, + "tests/func/test_remote.py::test_remote_rename": 0.16758230000004914, + "tests/func/test_remote.py::test_remove_default": 0.22759759999996731, + "tests/func/test_remote.py::test_show_default": 0.24933369999996557, + "tests/func/test_remote.py::test_upper_case_remote": 0.7164872000000742, + "tests/func/test_remove.py::test_cmd_remove": 0.4812683999999763, + "tests/func/test_remove.py::test_cmd_remove_gitignore_multistage": 1.0105980000000727, + "tests/func/test_remove.py::test_cmd_remove_gitignore_single_stage": 0.4817467000000306, + "tests/func/test_remove.py::test_remove[False]": 0.8319298999999774, + "tests/func/test_remove.py::test_remove[True]": 0.9560232000000042, + "tests/func/test_remove.py::test_remove_broken_symlink": 0.2596629000000803, + "tests/func/test_remove.py::test_remove_file_target": 0.2195297999999184, + "tests/func/test_remove.py::test_remove_non_existent_file": 0.16874089999987518, + "tests/func/test_repo.py::test_destroy": 0.9150323999999728, + "tests/func/test_repo.py::test_open_bare": 1.818128500000057, + "tests/func/test_repo_index.py::test_data_index": 2.5113304999999855, + "tests/func/test_repo_index.py::test_deps_outs_getters": 0.6611544999999523, + "tests/func/test_repo_index.py::test_ignored_dir_unignored_pattern": 0.3130208000000039, + "tests/func/test_repo_index.py::test_index": 0.5706569999999829, + "tests/func/test_repo_index.py::test_param_keys_no_params": 0.142780499999958, + "tests/func/test_repo_index.py::test_param_keys_returns_default_file": 0.17251450000003388, + "tests/func/test_repo_index.py::test_param_keys_top_level_params": 0.1507502999999133, + "tests/func/test_repo_index.py::test_repr": 0.4476339000001417, + "tests/func/test_repo_index.py::test_skip_graph_checks": 0.1436386999999968, + "tests/func/test_repo_index.py::test_update": 0.1739161000000422, + "tests/func/test_repo_index.py::test_used_objs": 0.914983799999959, + "tests/func/test_repo_index.py::test_view_brancher": 0.4640120999999908, + "tests/func/test_repo_index.py::test_view_combined_filter": 0.6019791999999597, + "tests/func/test_repo_index.py::test_view_granular_dir": 0.6928808000000117, + "tests/func/test_repo_index.py::test_view_onerror": 0.4158800999999812, + "tests/func/test_repo_index.py::test_view_outs_filter": 0.7267402999998467, + "tests/func/test_repo_index.py::test_view_stage_filter": 0.6276586000000179, + "tests/func/test_repo_index.py::test_with_gitignore": 0.32279620000008435, + "tests/func/test_root.py::test_root": 0.1449580999999398, + "tests/func/test_root.py::test_root_locked": 0.16051739999988968, + "tests/func/test_run.py::TestCmdRunWorkingDirectory::test_default_wdir_is_not_written": 0.35049709999998413, + "tests/func/test_run.py::TestCmdRunWorkingDirectory::test_fname_changes_path_and_wdir": 0.28195549999998093, + "tests/func/test_run.py::TestRunBadWdir::test": 0.18590370000003986, + "tests/func/test_run.py::TestRunBadWdir::test_not_dir": 0.17233740000006037, + "tests/func/test_run.py::TestRunBadWdir::test_not_found": 0.14417720000017198, + "tests/func/test_run.py::TestRunBadWdir::test_same_prefix": 0.15853690000017195, + "tests/func/test_run.py::TestRunCircularDependency::test": 0.21522169999991547, + "tests/func/test_run.py::TestRunCircularDependency::test_graph": 0.5327369000000317, + "tests/func/test_run.py::TestRunCircularDependency::test_non_normalized_paths": 0.19097459999989042, + "tests/func/test_run.py::TestRunCircularDependency::test_outs_no_cache": 0.19103880000000117, + "tests/func/test_run.py::TestRunDuplicatedArguments::test": 0.16231089999996584, + "tests/func/test_run.py::TestRunDuplicatedArguments::test_non_normalized_paths": 0.17710330000011254, + "tests/func/test_run.py::TestRunDuplicatedArguments::test_outs_no_cache": 0.16176649999999881, + "tests/func/test_run.py::test_always_changed": 0.39973380000003544, + "tests/func/test_run.py::test_dump_on_non_cached_outputs": 0.34675960000004125, + "tests/func/test_run.py::test_graph": 0.5643173000000843, + "tests/func/test_run.py::test_metrics_dir[metrics]": 0.5072695000001204, + "tests/func/test_run.py::test_metrics_dir[metrics_no_cache]": 0.4531345999998848, + "tests/func/test_run.py::test_rerun_callback": 0.22751670000002377, + "tests/func/test_run.py::test_rerun_changed_dep": 0.5991066000000274, + "tests/func/test_run.py::test_rerun_changed_out": 0.3850783999999976, + "tests/func/test_run.py::test_rerun_changed_stage": 0.3589001999999937, + "tests/func/test_run.py::test_rerun_deterministic": 0.6178350000001274, + "tests/func/test_run.py::test_rerun_deterministic_ignore_cache": 0.5254332999998041, + "tests/func/test_run.py::test_run": 0.44643459999997503, + "tests/func/test_run.py::test_run_already_exists": 0.6263374000000113, + "tests/func/test_run.py::test_run_cached": 0.6409001000001808, + "tests/func/test_run.py::test_run_dump": 0.5559751000000688, + "tests/func/test_run.py::test_run_empty": 0.17519049999998515, + "tests/func/test_run.py::test_run_external_outputs": 0.2546858999999131, + "tests/func/test_run.py::test_run_missing_dep": 0.16516739999997299, + "tests/func/test_run.py::test_run_no_exec": 0.3877132999998594, + "tests/func/test_run.py::test_run_overwrite_order": 0.8002424999999675, + "tests/func/test_run.py::test_run_overwrite_preserves_meta_and_comment": 0.5934765999999172, + "tests/func/test_run.py::test_run_params_custom_file": 0.23986200000001645, + "tests/func/test_run.py::test_run_params_default": 0.2401186999999254, + "tests/func/test_run.py::test_run_params_no_exec": 0.17146010000010392, + "tests/func/test_run.py::test_run_remove_outs": 0.3511172999999417, + "tests/func/test_run.py::test_run_repeat": 0.8495632000001478, + "tests/func/test_run.py::test_run_with_invalid_stage_name[#]": 0.15131850000000213, + "tests/func/test_run.py::test_run_with_invalid_stage_name[$]": 0.18822580000005473, + "tests/func/test_run.py::test_run_with_invalid_stage_name[,]": 0.18252570000004198, + "tests/func/test_run.py::test_run_with_invalid_stage_name[.]": 0.19337220000011257, + "tests/func/test_run.py::test_run_with_invalid_stage_name[/]": 0.14692950000005567, + "tests/func/test_run.py::test_run_with_invalid_stage_name[:]": 0.16086330000007365, + "tests/func/test_run.py::test_run_with_invalid_stage_name[;]": 0.2369408999999223, + "tests/func/test_run.py::test_run_with_invalid_stage_name[@:]": 0.15973589999998694, + "tests/func/test_run.py::test_run_with_invalid_stage_name[\\\\]": 0.16169760000002498, + "tests/func/test_run.py::test_run_with_name_having_hyphen_underscore": 0.47360779999996794, + "tests/func/test_run.py::test_run_without_cmd[kwargs0]": 0.19577829999991536, + "tests/func/test_run.py::test_run_without_cmd[kwargs1]": 0.1459709999999177, + "tests/func/test_run.py::test_should_not_checkout_upon_corrupted_local_hardlink_cache": 0.4960602999999537, + "tests/func/test_run.py::test_should_raise_on_overlapping_output_paths": 0.2538355000000365, + "tests/func/test_run.py::test_with_wdir": 0.3469372999999223, + "tests/func/test_run_cache.py::test_do_not_save_on_no_exec_and_dry": 0.2275765000000547, + "tests/func/test_run_cache.py::test_memory_for_multiple_runs_of_same_stage": 0.8523804000000155, + "tests/func/test_run_cache.py::test_memory_runs_of_multiple_stages": 0.8905641000001197, + "tests/func/test_run_cache.py::test_newest_entry_is_loaded_for_non_deterministic_stage": 1.1082949999999983, + "tests/func/test_run_cache.py::test_outs_no_cache_deactivate_run_cache[metrics_no_cache-True]": 0.4292524999999614, + "tests/func/test_run_cache.py::test_outs_no_cache_deactivate_run_cache[outs_no_cache-False]": 0.3989267999999129, + "tests/func/test_run_cache.py::test_outs_no_cache_deactivate_run_cache[plots_no_cache-True]": 0.4542271999998775, + "tests/func/test_run_cache.py::test_push_pull": 0.8825567999999748, + "tests/func/test_run_cache.py::test_push_pull_unsupported": 0.6354907000001049, + "tests/func/test_run_cache.py::test_restore": 0.47588069999994786, + "tests/func/test_run_cache.py::test_restore_pull": 0.7859493000000839, + "tests/func/test_run_cache.py::test_save": 0.37583450000011, + "tests/func/test_scm.py::test_init_git": 0.09183709999990697, + "tests/func/test_scm.py::test_init_no_git": 0.018588600000043698, + "tests/func/test_scm.py::test_init_none": 0.013314399999899251, + "tests/func/test_scm.py::test_init_sub_dir": 0.10799759999997605, + "tests/func/test_scm.py::test_lfs_prefetch": 0.3691949999998769, + "tests/func/test_scm_context.py::test_scm_context_autostage": 0.30232489999991685, + "tests/func/test_scm_context.py::test_scm_context_ignore": 0.27744780000011815, + "tests/func/test_scm_context.py::test_scm_context_ignore_remove": 0.19912219999991976, + "tests/func/test_scm_context.py::test_scm_context_no_track_on_ignore_remove": 0.19690459999992527, + "tests/func/test_scm_context.py::test_scm_context_try_ignore_remove_non_existing_entry": 0.20904159999997773, + "tests/func/test_scm_context.py::test_scm_context_when_already_ignored": 0.254342500000007, + "tests/func/test_stage.py::test_cmd_obj": 0.005093600000009246, + "tests/func/test_stage.py::test_collect_symlink[False]": 0.27943709999988187, + "tests/func/test_stage.py::test_collect_symlink[True]": 0.22402759999999944, + "tests/func/test_stage.py::test_default_wdir_ignored_in_checksum": 0.3386774000000514, + "tests/func/test_stage.py::test_empty_list": 0.003349600000092323, + "tests/func/test_stage.py::test_external_remote_dependency_resolution": 0.24288849999993545, + "tests/func/test_stage.py::test_external_remote_output_resolution": 0.22982309999997597, + "tests/func/test_stage.py::test_list": 0.0035652999999911117, + "tests/func/test_stage.py::test_md5_ignores_annotations": 0.14674890000014784, + "tests/func/test_stage.py::test_md5_ignores_comments": 0.2633077999998932, + "tests/func/test_stage.py::test_meta_desc_is_preserved": 0.1833113999998659, + "tests/func/test_stage.py::test_no_cmd": 0.003441100000031838, + "tests/func/test_stage.py::test_none": 0.003471899999794914, + "tests/func/test_stage.py::test_object": 0.0035700000000815635, + "tests/func/test_stage.py::test_parent_repo_collect_stages": 0.9687402000001839, + "tests/func/test_stage.py::test_reload": 0.22573539999996228, + "tests/func/test_stage.py::test_stage_add_duplicated_output": 0.31772509999996146, + "tests/func/test_stage.py::test_stage_on_no_path_string_repr": 0.19597939999994196, + "tests/func/test_stage.py::test_stage_remove_pipeline_stage": 0.6968345000000227, + "tests/func/test_stage.py::test_stage_remove_pointer_stage": 0.29759790000002795, + "tests/func/test_stage.py::test_stage_strings_representation": 0.4293736000000763, + "tests/func/test_stage_load.py::test_collect": 1.5442301999999017, + "tests/func/test_stage_load.py::test_collect_dir_recursive": 0.5649249000000509, + "tests/func/test_stage_load.py::test_collect_generated": 0.24801749999994627, + "tests/func/test_stage_load.py::test_collect_glob": 0.9323076999999103, + "tests/func/test_stage_load.py::test_collect_granular_collision_output_dir_stage_name": 0.4615868999999293, + "tests/func/test_stage_load.py::test_collect_granular_not_existing_stage_name": 0.5574206000001141, + "tests/func/test_stage_load.py::test_collect_granular_priority_on_collision": 0.43749460000003637, + "tests/func/test_stage_load.py::test_collect_granular_same_output_name_stage_name": 0.4683784999999716, + "tests/func/test_stage_load.py::test_collect_granular_with_deps": 0.9040660999999091, + "tests/func/test_stage_load.py::test_collect_granular_with_no_target": 0.8537042000000383, + "tests/func/test_stage_load.py::test_collect_granular_with_not_existing_output_or_stage_name": 0.12876589999984844, + "tests/func/test_stage_load.py::test_collect_granular_with_target": 0.9354548000000023, + "tests/func/test_stage_load.py::test_collect_not_a_group_stage_with_group_flag": 1.090573000000063, + "tests/func/test_stage_load.py::test_collect_optimization": 0.21226439999998092, + "tests/func/test_stage_load.py::test_collect_optimization_on_stage_name": 0.43537639999988187, + "tests/func/test_stage_load.py::test_collect_repo_callback": 0.24589080000009744, + "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing.dvc:stage_name]": 0.13259750000008808, + "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing.dvc]": 0.13957369999991442, + "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing/dvc.yaml:stage_name]": 0.1478920999999218, + "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing/dvc.yaml]": 0.12979939999991075, + "tests/func/test_stage_load.py::test_collect_with_not_existing_output_or_stage_name": 0.4114243000000215, + "tests/func/test_stage_load.py::test_get_stage": 0.34875819999990654, + "tests/func/test_stage_load.py::test_get_stage_single_stage_dvcfile": 0.2461819000000105, + "tests/func/test_stage_load.py::test_get_stages": 0.6215028000000302, + "tests/func/test_stage_load.py::test_get_stages_old_dvcfile": 0.21525209999992967, + "tests/func/test_stage_load.py::test_gitignored_file_try_collect_granular_for_data_files": 0.31906579999997575, + "tests/func/test_stage_load.py::test_gitignored_file_try_collect_granular_for_dvc_yaml_files": 1.5553847999999562, + "tests/func/test_stage_load.py::test_stages": 0.414835900000071, + "tests/func/test_state.py::test_get_unused_links": 0.29348780000009356, + "tests/func/test_state.py::test_remove_links": 0.35063050000007934, + "tests/func/test_state.py::test_state": 0.34103749999985666, + "tests/func/test_state.py::test_state_overflow": 0.44685179999999036, + "tests/func/test_status.py::test_implied_cloud": 1.3159074000000146, + "tests/func/test_status.py::test_params_without_targets": 0.2553169999999909, + "tests/func/test_status.py::test_quiet": 0.3903937000000042, + "tests/func/test_status.py::test_status_before_and_after_dvc_init": 1.24051709999992, + "tests/func/test_status.py::test_status_non_dvc_repo_import[False]": 0.5673391999998785, + "tests/func/test_status.py::test_status_non_dvc_repo_import[True]": 0.6612268000000086, + "tests/func/test_status.py::test_status_on_pipeline_stages": 0.551217299999962, + "tests/func/test_status.py::test_status_outputs": 0.5847573000000921, + "tests/func/test_status.py::test_status_recursive": 0.2683987000000343, + "tests/func/test_unprotect.py::test_unprotect": 0.24031379999996716, + "tests/func/test_update.py::test_update_before_and_after_dvc_init": 1.652384100000063, + "tests/func/test_update.py::test_update_from_subrepos[False]": 1.5830997999999, + "tests/func/test_update.py::test_update_from_subrepos[True]": 2.272872600000028, + "tests/func/test_update.py::test_update_import[False]": 1.8188473000001295, + "tests/func/test_update.py::test_update_import[True]": 2.7979914999999664, + "tests/func/test_update.py::test_update_import_after_remote_updates_to_dvc": 1.569626900000003, + "tests/func/test_update.py::test_update_import_to_remote": 0.7015065000000504, + "tests/func/test_update.py::test_update_import_url": 0.39181920000009995, + "tests/func/test_update.py::test_update_import_url_no_download[False]": 0.28972529999987273, + "tests/func/test_update.py::test_update_import_url_no_download[True]": 0.36471770000002834, + "tests/func/test_update.py::test_update_import_url_to_remote": 0.6202769999998736, + "tests/func/test_update.py::test_update_import_url_to_remote_directory": 0.7887408000001415, + "tests/func/test_update.py::test_update_import_url_to_remote_directory_changed_contents": 0.7646365000000515, + "tests/func/test_update.py::test_update_import_url_to_remote_directory_same_hash": 0.7358169999998836, + "tests/func/test_update.py::test_update_import_url_unchanged": 0.32728270000006887, + "tests/func/test_update.py::test_update_no_download[False]": 1.2106467999999495, + "tests/func/test_update.py::test_update_no_download[True]": 1.3192696999999498, + "tests/func/test_update.py::test_update_recursive": 1.6255898999997953, + "tests/func/test_update.py::test_update_rev": 1.0238027999998849, + "tests/func/test_update.py::test_update_unchanged": 1.2584471000000121, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-.-dvc.yaml:train]": 0.43971429999999145, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-.-foo]": 0.40643180000006396, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-.-train]": 0.4276787000000013, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-sub-..\\\\dvc.yaml:train]": 0.42697390000000723, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-sub-..\\\\foo]": 0.4174022000000832, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-.-sub\\\\dvc.yaml:train]": 0.5342236999999841, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-.-sub\\\\foo]": 0.5391186000001653, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-dir-..\\\\sub\\\\dvc.yaml:train]": 0.44631729999991876, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-dir-..\\\\sub\\\\foo]": 0.40331539999999677, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-sub-dvc.yaml:train]": 0.4777887999999848, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-sub-foo]": 0.4485227999998642, + "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-sub-train]": 0.4451402000000826, + "tests/func/test_used_objs.py::test_used_objs_push": 0.3140799999999899, + "tests/func/test_utils.py::test_boxify": 0.0037649999999302963, + "tests/func/test_utils.py::test_dict_md5": 0.003655699999853823, + "tests/func/test_utils.py::test_glob_no_match": 0.004886600000077124, + "tests/func/test_version.py::test_": 1.3859016000001247, + "tests/func/test_version.py::test_import_error": 0.365707499999985, + "tests/func/test_virtual_directory.py::test_partial_checkout_and_update": 1.4939856999999392, + "tests/func/test_virtual_directory.py::test_virtual_add": 0.9724830999999767, + "tests/func/test_virtual_directory.py::test_virtual_remove": 0.9881833000000597, + "tests/func/test_virtual_directory.py::test_virtual_update_dir": 0.8301616999998487, + "tests/func/test_virtual_directory.py::test_virtual_update_file": 0.7492493000000877, + "tests/func/test_virtual_directory.py::test_virtual_update_noop": 0.902233600000045, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides0-expected0-json]": 0.016757900000129666, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides0-expected0-toml]": 0.013149600000019745, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides0-expected0-yaml]": 0.026289499999961663, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides1-expected1-json]": 0.01717210000003888, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides1-expected1-toml]": 0.01372639999999592, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides1-expected1-yaml]": 0.023308899999960886, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides10-expected10-json]": 0.021389800000065406, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides10-expected10-toml]": 0.021289899999942463, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides10-expected10-yaml]": 0.029417499999908614, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides11-expected11-json]": 0.016622700000084478, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides11-expected11-toml]": 0.025770200000124532, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides11-expected11-yaml]": 0.03114780000009887, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides2-expected2-json]": 0.014930700000149955, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides2-expected2-toml]": 0.011712699999975484, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides2-expected2-yaml]": 0.023883599999976468, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides3-expected3-json]": 0.021143299999948795, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides3-expected3-toml]": 0.019983099999990372, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides3-expected3-yaml]": 0.024119600000062746, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides4-expected4-json]": 0.016237299999829702, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides4-expected4-toml]": 0.03111649999993915, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides4-expected4-yaml]": 0.02495239999984733, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides5-expected5-json]": 0.020187100000043756, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides5-expected5-toml]": 0.019237699999962388, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides5-expected5-yaml]": 0.032607999999981985, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides6-expected6-json]": 0.016924699999890436, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides6-expected6-toml]": 0.04386929999986933, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides6-expected6-yaml]": 0.024652899999978217, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides7-expected7-json]": 0.015520899999955873, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides7-expected7-toml]": 0.012692199999946752, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides7-expected7-yaml]": 0.030214099999966493, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides8-expected8-json]": 0.021859500000005028, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides8-expected8-toml]": 0.020292899999958536, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides8-expected8-yaml]": 0.033927000000062435, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides9-expected9-json]": 0.016962000000035005, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides9-expected9-toml]": 0.02381449999995766, + "tests/func/utils/test_hydra.py::test_apply_overrides[overrides9-expected9-yaml]": 0.025491699999975026, + "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[None-None-None-error_context3]": 0.013406300000042393, + "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[None-hydra.test_utils.configs-config_content1-error_context1]": 0.1134221999999454, + "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[conf-None-config_content0-error_context0]": 0.11507209999990664, + "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[conf-hydra.test_utils.configs-config_content2-error_context2]": 0.11261070000000473, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides0-expected0-json]": 0.1281308000000081, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides0-expected0-toml]": 0.1236941999999317, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides0-expected0-yaml]": 0.12669659999994565, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides1-expected1-json]": 0.12357580000002599, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides1-expected1-toml]": 0.17739260000007562, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides1-expected1-yaml]": 0.12748369999997067, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides2-expected2-json]": 0.1338885999999775, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides2-expected2-toml]": 0.1365699999998924, + "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides2-expected2-yaml]": 0.1324849999999742, + "tests/func/utils/test_hydra.py::test_compose_and_dump_plugins": 0.13925589999996646, + "tests/func/utils/test_hydra.py::test_compose_and_dump_resolves_interpolation": 0.1168084999999337, + "tests/func/utils/test_hydra.py::test_compose_and_dump_yaml_handles_string": 0.10991609999996399, + "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides0-expected0]": 0.006874799999877723, + "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides1-expected1]": 0.006828100000120685, + "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides2-expected2]": 0.005153599999971448, + "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides3-expected3]": 0.010010100000044986, + "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides4-expected4]": 0.005206800000109979, + "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides5-expected5]": 0.005195799999910378, + "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides6-expected6]": 0.0055651999999781765, + "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides0]": 0.025969000000031883, + "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides1]": 0.026963600000044607, + "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides2]": 0.02018349999991642, + "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides3]": 0.021663399999965804, + "tests/func/utils/test_hydra.py::test_invalid_sweep": 0.00546810000014375, + "tests/func/utils/test_strict_yaml.py::test_exceptions[additional_key_on_outs]": 0.243435399999953, + "tests/func/utils/test_strict_yaml.py::test_exceptions[deps_as_dict]": 0.2002921000000697, + "tests/func/utils/test_strict_yaml.py::test_exceptions[duplicate_keys]": 0.2018291000000545, + "tests/func/utils/test_strict_yaml.py::test_exceptions[empty_stage]": 0.19218150000006062, + "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_do_do_null]": 0.1954337999999325, + "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_do_missing_cmd]": 0.2215969999999743, + "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_scalar]": 0.2090827999999192, + "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_unknown_cmd_missing_do]": 0.19983810000007907, + "tests/func/utils/test_strict_yaml.py::test_exceptions[mapping_values_not_allowed]": 0.21080290000008972, + "tests/func/utils/test_strict_yaml.py::test_exceptions[merge_conflicts]": 0.18337130000008983, + "tests/func/utils/test_strict_yaml.py::test_exceptions[missing_cmd]": 0.19634989999997288, + "tests/func/utils/test_strict_yaml.py::test_exceptions[no_hyphen_block]": 0.19842909999999847, + "tests/func/utils/test_strict_yaml.py::test_exceptions[not_a_dict]": 0.18917439999995622, + "tests/func/utils/test_strict_yaml.py::test_exceptions[null_value_on_outs]": 0.19282620000001316, + "tests/func/utils/test_strict_yaml.py::test_exceptions[outs_as_str]": 0.17304079999996702, + "tests/func/utils/test_strict_yaml.py::test_exceptions[unclosed_scalar]": 0.19768529999998918, + "tests/func/utils/test_strict_yaml.py::test_fallback_exception_message": 0.26093439999988277, + "tests/func/utils/test_strict_yaml.py::test_make_relpath": 0.014381800000023759, + "tests/func/utils/test_strict_yaml.py::test_on_revision[stages:\\n stage1:\\n cmd: python train.py\\n cmd: python train.py\\n-'./dvc.yaml' is invalid in revision '{short_rev}'.]": 0.5581684999998515, + "tests/func/utils/test_strict_yaml.py::test_on_revision[stages:\\n stage1:\\n cmd: {}\\n-'./dvc.yaml' validation failed in revision '{short_rev}'.]": 0.5184321000000409, + "tests/integration/plots/test_plots.py::test_config_output_dir": 0.29116190000002007, + "tests/integration/plots/test_plots.py::test_nested_x_defn_collection": 0.5174432999999681, + "tests/integration/plots/test_plots.py::test_no_plots": 0.2940975999999864, + "tests/integration/plots/test_plots.py::test_plots_empty_directory": 0.5595962999999529, + "tests/integration/plots/test_plots.py::test_repo_with_config_plots": 2.7835139000000026, + "tests/integration/plots/test_plots.py::test_repo_with_dvclive_plots": 0.7092543999999634, + "tests/integration/plots/test_plots.py::test_repo_with_plots": 3.33253650000006, + "tests/integration/plots/test_plots.py::test_repo_with_removed_plots": 1.9890381000001298, + "tests/integration/plots/test_repo_plots_api.py::test_api": 2.918742299999849, + "tests/integration/plots/test_repo_plots_api.py::test_api_with_config_plots": 2.3034652999999707, + "tests/integration/test_studio_live_experiments.py::test_monorepo_relpath": 0.849361300000055, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-False-False]": 1.1246794999999565, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-False-True]": 1.7383136000000832, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-True-False]": 1.0295220999998946, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-True-True]": 1.9327763000001141, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-False-False]": 1.1464447999999265, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-False-True]": 1.6287972000000082, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-True-False]": 1.0905978000000687, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-True-True]": 1.934522399999878, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio_subdir[False]": 1.410834799999975, + "tests/integration/test_studio_live_experiments.py::test_post_to_studio_subdir[True]": 1.9778683000000683, + "tests/integration/test_studio_live_experiments.py::test_virtual_monorepo_relpath": 0.9138851999998678, + "tests/unit/cli/test_main.py::test_ignore_in_collected_dir_error_is_logged": 0.017126100000041333, + "tests/unit/cli/test_main.py::test_remote_missing_deps_are_correctly_reported[None-Please report this bug to]": 0.014922700000056466, + "tests/unit/cli/test_main.py::test_remote_missing_deps_are_correctly_reported[conda-conda install -c conda-forge dvc-proto]": 0.015353699999991477, + "tests/unit/cli/test_main.py::test_remote_missing_deps_are_correctly_reported[pip-pip install 'dvc[proto]']": 0.013537000000042099, + "tests/unit/cli/test_main.py::test_state_pickle_errors_are_correctly_raised": 0.0165122999999312, + "tests/unit/command/ls/test_ls.py::test_list": 0.006342400000107773, + "tests/unit/command/ls/test_ls.py::test_list_alias": 0.0035484999999653155, + "tests/unit/command/ls/test_ls.py::test_list_config": 0.005209800000216092, + "tests/unit/command/ls/test_ls.py::test_list_git_ssh_rev": 0.00511940000001232, + "tests/unit/command/ls/test_ls.py::test_list_outputs_only": 0.006585399999949004, + "tests/unit/command/ls/test_ls.py::test_list_recursive": 0.005100900000002184, + "tests/unit/command/ls/test_ls.py::test_list_targets": 0.005044999999995525, + "tests/unit/command/ls/test_ls.py::test_show_colors": 0.004921199999898818, + "tests/unit/command/ls/test_ls.py::test_show_json": 0.004522199999883014, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_dir": 0.003349100000036742, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_exec": 0.003280899999936082, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_ext": 0.003362700000025143, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_file": 0.003305399999931069, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_dir": 0.003481700000065757, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_exec": 0.0033405999998876723, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_ext": 0.0033998999998630097, + "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_file": 0.0033174999999801003, + "tests/unit/command/ls/test_ls_colors.py::test_ls_repo_with_custom_color_env_defined": 0.0035155000001623193, + "tests/unit/command/test_add.py::test_add": 0.20737009999982092, + "tests/unit/command/test_add.py::test_add_to_cache_invalid_combinations": 0.2307676000000356, + "tests/unit/command/test_add.py::test_add_to_remote": 0.23873700000001463, + "tests/unit/command/test_add.py::test_add_to_remote_invalid_combinations": 0.21601970000006077, + "tests/unit/command/test_cache.py::test_cache_dir_local": 0.16169510000008813, + "tests/unit/command/test_checkout.py::test_checkout": 0.2004144999999653, + "tests/unit/command/test_checkout.py::test_log_changes": 0.007630400000039117, + "tests/unit/command/test_compat_flag.py::test_backward_compat_flags[exp-list-name_only]": 0.0038943000000699612, + "tests/unit/command/test_compat_flag.py::test_backward_compat_flags[stage-list-name_only]": 0.0037500000000818545, + "tests/unit/command/test_completion.py::test_completion[bash]": 0.01732660000004671, + "tests/unit/command/test_completion.py::test_completion[zsh]": 0.04076810000003661, + "tests/unit/command/test_config.py::test_config_bad_name[no_option]": 0.0055750999999872874, + "tests/unit/command/test_config.py::test_config_bad_name[remote.way.too.long]": 0.004850099999998747, + "tests/unit/command/test_config.py::test_config_bad_name[way.too.long]": 0.005234700000073644, + "tests/unit/command/test_config.py::test_config_formatter": 0.0034963999999035877, + "tests/unit/command/test_dag.py::test_build": 0.41772169999990183, + "tests/unit/command/test_dag.py::test_build_full": 0.43086940000011964, + "tests/unit/command/test_dag.py::test_build_full_outs[False]": 0.4505840999999009, + "tests/unit/command/test_dag.py::test_build_full_outs[True]": 0.4292612999998937, + "tests/unit/command/test_dag.py::test_build_granular_target_with_outs": 0.4434605000001284, + "tests/unit/command/test_dag.py::test_build_target": 0.4442584999999326, + "tests/unit/command/test_dag.py::test_build_target_with_outs": 0.4607635999998365, + "tests/unit/command/test_dag.py::test_dag[--dot-_show_dot]": 0.2584747000000789, + "tests/unit/command/test_dag.py::test_dag[--md-_show_mermaid]": 0.2575375000001259, + "tests/unit/command/test_dag.py::test_dag[--mermaid-_show_mermaid]": 0.2538787000000866, + "tests/unit/command/test_dag.py::test_dag[None-_show_ascii]": 0.2701758000000609, + "tests/unit/command/test_dag.py::test_show_ascii": 0.47154680000005555, + "tests/unit/command/test_dag.py::test_show_dot": 0.49623429999996915, + "tests/unit/command/test_dag.py::test_show_dot_properly_escapes": 0.005304700000010598, + "tests/unit/command/test_dag.py::test_show_mermaid": 0.506922099999997, + "tests/unit/command/test_dag.py::test_show_mermaid_markdown": 0.46951670000021295, + "tests/unit/command/test_data_status.py::test_cli": 0.15436669999996866, + "tests/unit/command/test_data_status.py::test_empty_scm_repo": 0.44124859999988075, + "tests/unit/command/test_data_status.py::test_json[args0-to_omit0]": 0.19605909999984306, + "tests/unit/command/test_data_status.py::test_json[args1-to_omit1]": 0.18398960000013176, + "tests/unit/command/test_data_status.py::test_json[args2-to_omit2]": 0.205250799999817, + "tests/unit/command/test_data_status.py::test_no_changes_repo": 0.30644970000003013, + "tests/unit/command/test_data_status.py::test_show_status[False-args0]": 0.2457772999999861, + "tests/unit/command/test_data_status.py::test_show_status[False-args1]": 0.26650870000003124, + "tests/unit/command/test_data_status.py::test_show_status[False-args2]": 0.2271581000001106, + "tests/unit/command/test_data_status.py::test_show_status[True-args0]": 0.27466419999996106, + "tests/unit/command/test_data_status.py::test_show_status[True-args1]": 0.2749612000001207, + "tests/unit/command/test_data_status.py::test_show_status[True-args2]": 0.25732209999978295, + "tests/unit/command/test_data_sync.py::test_fetch": 0.17609809999987647, + "tests/unit/command/test_data_sync.py::test_pull": 0.17549940000003517, + "tests/unit/command/test_data_sync.py::test_push": 0.16576090000000931, + "tests/unit/command/test_dataset.py::test_add[spec0-lock0-Adding ds (url:/path @ main)\\n]": 0.22054290000005494, + "tests/unit/command/test_dataset.py::test_add[spec1-lock1-Adding mydataset (dvcx://dataset @ v1)\\n]": 0.22979979999990974, + "tests/unit/command/test_dataset.py::test_add[spec2-lock2-Adding mydataset (s3://bucket/path)\\n]": 0.20264819999988504, + "tests/unit/command/test_dataset.py::test_add_already_exists": 0.2456899000001158, + "tests/unit/command/test_dataset.py::test_update[spec0-old_lock0-new_lock0-expected_outputs0-missing]": 0.2354315999998562, + "tests/unit/command/test_dataset.py::test_update[spec0-old_lock0-new_lock0-expected_outputs0-unchanged]": 0.23527079999996658, + "tests/unit/command/test_dataset.py::test_update[spec0-old_lock0-new_lock0-expected_outputs0-updated]": 0.21899649999988924, + "tests/unit/command/test_dataset.py::test_update[spec1-old_lock1-new_lock1-expected_outputs1-missing]": 0.18976390000011634, + "tests/unit/command/test_dataset.py::test_update[spec1-old_lock1-new_lock1-expected_outputs1-unchanged]": 0.18847329999994145, + "tests/unit/command/test_dataset.py::test_update[spec1-old_lock1-new_lock1-expected_outputs1-updated]": 0.17528420000007827, + "tests/unit/command/test_dataset.py::test_update[spec2-old_lock2-new_lock2-expected_outputs2-missing]": 0.1846043999998983, + "tests/unit/command/test_dataset.py::test_update[spec2-old_lock2-new_lock2-expected_outputs2-unchanged]": 0.2048106000000871, + "tests/unit/command/test_dataset.py::test_update[spec2-old_lock2-new_lock2-expected_outputs2-updated]": 0.18596199999990404, + "tests/unit/command/test_dataset.py::test_update[spec3-old_lock3-new_lock3-expected_outputs3-missing]": 0.17655880000006619, + "tests/unit/command/test_dataset.py::test_update[spec3-old_lock3-new_lock3-expected_outputs3-unchanged]": 0.30956070000002, + "tests/unit/command/test_dataset.py::test_update[spec3-old_lock3-new_lock3-expected_outputs3-updated]": 0.17832229999987703, + "tests/unit/command/test_diff.py::test_default": 0.157224000000042, + "tests/unit/command/test_diff.py::test_diff_show_markdown_and_hash[False]": 0.16265659999999116, + "tests/unit/command/test_diff.py::test_diff_show_markdown_and_hash[None]": 0.21256189999996877, + "tests/unit/command/test_diff.py::test_diff_show_markdown_and_hash[True]": 0.15831829999990532, + "tests/unit/command/test_diff.py::test_digest[dict]": 0.0036724000000276646, + "tests/unit/command/test_diff.py::test_digest[str]": 0.0036453000000165048, + "tests/unit/command/test_diff.py::test_hide_missing": 0.2271087000000307, + "tests/unit/command/test_diff.py::test_no_changes[show0--opts0]": 0.20476959999996325, + "tests/unit/command/test_diff.py::test_no_changes[show0--opts1]": 0.1829457999999704, + "tests/unit/command/test_diff.py::test_no_changes[show0--opts2]": 0.15757240000004913, + "tests/unit/command/test_diff.py::test_no_changes[show0--opts3]": 0.21165159999998195, + "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts0]": 0.17485999999996693, + "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts1]": 0.16453910000007, + "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts2]": 0.2937568000000965, + "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts3]": 0.20795019999991382, + "tests/unit/command/test_diff.py::test_no_changes[show2-| Status | Path |\\n|----------|--------|-opts0]": 0.2065845999998146, + "tests/unit/command/test_diff.py::test_no_changes[show2-| Status | Path |\\n|----------|--------|-opts1]": 0.26602109999987533, + "tests/unit/command/test_diff.py::test_no_changes[show2-| Status | Path |\\n|----------|--------|-opts2]": 0.1966783000000305, + "tests/unit/command/test_diff.py::test_no_changes[show2-| Status | Path |\\n|----------|--------|-opts3]": 0.2248160999997708, + "tests/unit/command/test_diff.py::test_show_hash": 0.18903350000005048, + "tests/unit/command/test_diff.py::test_show_json": 0.1852141000000529, + "tests/unit/command/test_diff.py::test_show_json_and_hash": 0.16317690000005314, + "tests/unit/command/test_diff.py::test_show_json_hide_missing": 0.1684483999999884, + "tests/unit/command/test_diff.py::test_show_markdown": 0.004335099999934755, + "tests/unit/command/test_diff.py::test_show_markdown_hide_missing": 0.004313600000045881, + "tests/unit/command/test_diff.py::test_show_markdown_with_hash": 0.004763400000115325, + "tests/unit/command/test_du.py::test_du": 0.004861399999867899, + "tests/unit/command/test_experiments.py::test_experiments_apply": 0.2363333999999213, + "tests/unit/command/test_experiments.py::test_experiments_branch": 0.2514846999999918, + "tests/unit/command/test_experiments.py::test_experiments_clean": 0.21406049999995957, + "tests/unit/command/test_experiments.py::test_experiments_diff": 0.2540403000000424, + "tests/unit/command/test_experiments.py::test_experiments_diff_revs": 0.194408400000043, + "tests/unit/command/test_experiments.py::test_experiments_list": 0.2429000999999289, + "tests/unit/command/test_experiments.py::test_experiments_list_format[args0-master:\\n\\tsha-a [exp-a]\\n]": 0.2363052000001744, + "tests/unit/command/test_experiments.py::test_experiments_list_format[args1-exp-a\\n]": 0.23047929999984262, + "tests/unit/command/test_experiments.py::test_experiments_list_format[args2-sha-a\\n]": 0.24126819999992222, + "tests/unit/command/test_experiments.py::test_experiments_list_remote": 0.22307360000013432, + "tests/unit/command/test_experiments.py::test_experiments_pull": 0.23942060000001675, + "tests/unit/command/test_experiments.py::test_experiments_push": 0.25641060000009475, + "tests/unit/command/test_experiments.py::test_experiments_remove_flag": 0.24051600000007056, + "tests/unit/command/test_experiments.py::test_experiments_remove_invalid": 0.27601579999998194, + "tests/unit/command/test_experiments.py::test_experiments_remove_special": 0.378145199999949, + "tests/unit/command/test_experiments.py::test_experiments_rename_flag": 0.2838232000000289, + "tests/unit/command/test_experiments.py::test_experiments_rename_invalid": 0.3273948000000928, + "tests/unit/command/test_experiments.py::test_experiments_run": 0.26182230000006257, + "tests/unit/command/test_experiments.py::test_experiments_run_message[--message]": 0.25680639999995947, + "tests/unit/command/test_experiments.py::test_experiments_run_message[-M]": 0.2054465999999593, + "tests/unit/command/test_experiments.py::test_experiments_run_message[-m]": 0.22659100000009857, + "tests/unit/command/test_experiments.py::test_experiments_save": 0.34348650000004, + "tests/unit/command/test_experiments.py::test_experiments_save_message[--message]": 0.2114745999999741, + "tests/unit/command/test_experiments.py::test_experiments_save_message[-M]": 0.26990299999988565, + "tests/unit/command/test_experiments.py::test_experiments_save_message[-m]": 0.24079059999996844, + "tests/unit/command/test_experiments.py::test_experiments_show": 0.2314608000001499, + "tests/unit/command/test_gc.py::test_": 0.31430200000011155, + "tests/unit/command/test_get.py::test_get": 0.004811700000004748, + "tests/unit/command/test_get.py::test_get_url": 0.004623800000103984, + "tests/unit/command/test_get_url.py::test_get_url": 0.0063950999999633495, + "tests/unit/command/test_git_hook.py::test_out_of_repo[post-checkout-CmdPostCheckout]": 0.01685439999994287, + "tests/unit/command/test_git_hook.py::test_out_of_repo[pre-commit-CmdPreCommit]": 0.019848099999990154, + "tests/unit/command/test_git_hook.py::test_out_of_repo[pre-push-CmdPrePush]": 0.016037099999948623, + "tests/unit/command/test_help.py::test_help[add]": 0.00516990000005535, + "tests/unit/command/test_help.py::test_help[artifacts-get]": 0.005396499999960724, + "tests/unit/command/test_help.py::test_help[artifacts]": 0.004762099999993552, + "tests/unit/command/test_help.py::test_help[cache-dir]": 0.005094600000120408, + "tests/unit/command/test_help.py::test_help[cache-migrate]": 0.004777600000011262, + "tests/unit/command/test_help.py::test_help[cache]": 0.004717299999924762, + "tests/unit/command/test_help.py::test_help[check-ignore]": 0.004871100000173101, + "tests/unit/command/test_help.py::test_help[checkout]": 0.005995600000005652, + "tests/unit/command/test_help.py::test_help[commit]": 0.005087700000103723, + "tests/unit/command/test_help.py::test_help[completion]": 0.004948499999954947, + "tests/unit/command/test_help.py::test_help[config]": 0.0050775999999359556, + "tests/unit/command/test_help.py::test_help[daemon-analytics]": 0.005583000000115135, + "tests/unit/command/test_help.py::test_help[daemon-updater]": 0.004609500000015032, + "tests/unit/command/test_help.py::test_help[dag]": 0.004961499999922125, + "tests/unit/command/test_help.py::test_help[data-status]": 0.004912400000080197, + "tests/unit/command/test_help.py::test_help[dataset-add]": 0.004888800000003357, + "tests/unit/command/test_help.py::test_help[dataset-update]": 0.004693000000088432, + "tests/unit/command/test_help.py::test_help[destroy]": 0.004675899999938338, + "tests/unit/command/test_help.py::test_help[diff]": 0.005075299999930394, + "tests/unit/command/test_help.py::test_help[doctor]": 0.004543700000112949, + "tests/unit/command/test_help.py::test_help[ds-add]": 0.00488899999993464, + "tests/unit/command/test_help.py::test_help[ds-update]": 0.0046986999998352985, + "tests/unit/command/test_help.py::test_help[du]": 0.0050435999999081105, + "tests/unit/command/test_help.py::test_help[dvc]": 0.005414900000005218, + "tests/unit/command/test_help.py::test_help[exp-apply]": 0.004998699999987366, + "tests/unit/command/test_help.py::test_help[exp-branch]": 0.004858499999954802, + "tests/unit/command/test_help.py::test_help[exp-clean]": 0.005622000000016669, + "tests/unit/command/test_help.py::test_help[exp-diff]": 0.005296399999906498, + "tests/unit/command/test_help.py::test_help[exp-list]": 0.005151499999897169, + "tests/unit/command/test_help.py::test_help[exp-ls]": 0.005351799999971263, + "tests/unit/command/test_help.py::test_help[exp-pull]": 0.005486500000074557, + "tests/unit/command/test_help.py::test_help[exp-push]": 0.005553100000156519, + "tests/unit/command/test_help.py::test_help[exp-remove]": 0.00527179999994587, + "tests/unit/command/test_help.py::test_help[exp-rename]": 0.004908799999839175, + "tests/unit/command/test_help.py::test_help[exp-rm]": 0.005404200000157289, + "tests/unit/command/test_help.py::test_help[exp-run]": 0.00624249999998483, + "tests/unit/command/test_help.py::test_help[exp-save]": 0.0052524000000175874, + "tests/unit/command/test_help.py::test_help[exp-show]": 0.006198300000050949, + "tests/unit/command/test_help.py::test_help[exp]": 0.005255499999861968, + "tests/unit/command/test_help.py::test_help[experiments-apply]": 0.004880999999954838, + "tests/unit/command/test_help.py::test_help[experiments-branch]": 0.004828900000006797, + "tests/unit/command/test_help.py::test_help[experiments-clean]": 0.005543899999906898, + "tests/unit/command/test_help.py::test_help[experiments-diff]": 0.0051723999998785075, + "tests/unit/command/test_help.py::test_help[experiments-list]": 0.005507799999804774, + "tests/unit/command/test_help.py::test_help[experiments-ls]": 0.005242700000053446, + "tests/unit/command/test_help.py::test_help[experiments-pull]": 0.005516199999988203, + "tests/unit/command/test_help.py::test_help[experiments-push]": 0.005440700000008292, + "tests/unit/command/test_help.py::test_help[experiments-remove]": 0.005233699999962482, + "tests/unit/command/test_help.py::test_help[experiments-rename]": 0.005135099999961312, + "tests/unit/command/test_help.py::test_help[experiments-rm]": 0.0052400999999235864, + "tests/unit/command/test_help.py::test_help[experiments-run]": 0.00627030000009654, + "tests/unit/command/test_help.py::test_help[experiments-save]": 0.005168700000012905, + "tests/unit/command/test_help.py::test_help[experiments-show]": 0.006394000000000233, + "tests/unit/command/test_help.py::test_help[experiments]": 0.005340799999885348, + "tests/unit/command/test_help.py::test_help[fetch]": 0.0055118999999876905, + "tests/unit/command/test_help.py::test_help[freeze]": 0.004637200000161101, + "tests/unit/command/test_help.py::test_help[gc]": 0.00605360000008659, + "tests/unit/command/test_help.py::test_help[get-url]": 0.005082600000037019, + "tests/unit/command/test_help.py::test_help[get]": 0.006310499999926833, + "tests/unit/command/test_help.py::test_help[git-hook-merge-driver]": 0.004797400000029484, + "tests/unit/command/test_help.py::test_help[git-hook-post-checkout]": 0.004774100000076942, + "tests/unit/command/test_help.py::test_help[git-hook-pre-commit]": 0.004705299999955059, + "tests/unit/command/test_help.py::test_help[git-hook-pre-push]": 0.004717099999993479, + "tests/unit/command/test_help.py::test_help[import-db]": 0.004886699999929078, + "tests/unit/command/test_help.py::test_help[import-url]": 0.005191599999989194, + "tests/unit/command/test_help.py::test_help[import]": 0.004990700000007564, + "tests/unit/command/test_help.py::test_help[init]": 0.004769599999917773, + "tests/unit/command/test_help.py::test_help[install]": 0.004509999999982028, + "tests/unit/command/test_help.py::test_help[list-url]": 0.005079899999941517, + "tests/unit/command/test_help.py::test_help[list]": 0.005139899999903719, + "tests/unit/command/test_help.py::test_help[ls-url]": 0.0051078000000188695, + "tests/unit/command/test_help.py::test_help[ls]": 0.005072499999982938, + "tests/unit/command/test_help.py::test_help[metrics-diff]": 0.006496099999935723, + "tests/unit/command/test_help.py::test_help[metrics-show]": 0.005230500000038774, + "tests/unit/command/test_help.py::test_help[metrics]": 0.004968199999893841, + "tests/unit/command/test_help.py::test_help[move]": 0.004605499999911444, + "tests/unit/command/test_help.py::test_help[mv]": 0.004743300000086492, + "tests/unit/command/test_help.py::test_help[params-diff]": 0.00525409999988824, + "tests/unit/command/test_help.py::test_help[params]": 0.004771499999947082, + "tests/unit/command/test_help.py::test_help[plots-diff]": 0.005646700000056626, + "tests/unit/command/test_help.py::test_help[plots-modify]": 0.0052711999998109604, + "tests/unit/command/test_help.py::test_help[plots-show]": 0.005484400000000278, + "tests/unit/command/test_help.py::test_help[plots-templates]": 0.0047318000000586835, + "tests/unit/command/test_help.py::test_help[plots]": 0.0047816000001148495, + "tests/unit/command/test_help.py::test_help[pull]": 0.005406800000059775, + "tests/unit/command/test_help.py::test_help[push]": 0.006573299999899973, + "tests/unit/command/test_help.py::test_help[queue-kill]": 0.004956300000003466, + "tests/unit/command/test_help.py::test_help[queue-logs]": 0.00587479999990137, + "tests/unit/command/test_help.py::test_help[queue-remove]": 0.0048679000000220185, + "tests/unit/command/test_help.py::test_help[queue-start]": 0.00466180000012173, + "tests/unit/command/test_help.py::test_help[queue-status]": 0.004603199999792196, + "tests/unit/command/test_help.py::test_help[queue-stop]": 0.004899899999941226, + "tests/unit/command/test_help.py::test_help[queue]": 0.005185999999980595, + "tests/unit/command/test_help.py::test_help[remote-add]": 0.005126499999960288, + "tests/unit/command/test_help.py::test_help[remote-default]": 0.004988600000046972, + "tests/unit/command/test_help.py::test_help[remote-list]": 0.0049685999999837804, + "tests/unit/command/test_help.py::test_help[remote-modify]": 0.005088500000056229, + "tests/unit/command/test_help.py::test_help[remote-remove]": 0.004826299999990624, + "tests/unit/command/test_help.py::test_help[remote-rename]": 0.005236899999999878, + "tests/unit/command/test_help.py::test_help[remote]": 0.004741699999954108, + "tests/unit/command/test_help.py::test_help[remove]": 0.004911599999900318, + "tests/unit/command/test_help.py::test_help[repro]": 0.005877499999996871, + "tests/unit/command/test_help.py::test_help[rm]": 0.004688199999918652, + "tests/unit/command/test_help.py::test_help[root]": 0.00459539999997105, + "tests/unit/command/test_help.py::test_help[stage-add]": 0.005957599999987906, + "tests/unit/command/test_help.py::test_help[stage-list]": 0.004868999999985135, + "tests/unit/command/test_help.py::test_help[stage]": 0.005666300000143565, + "tests/unit/command/test_help.py::test_help[status]": 0.005589900000018133, + "tests/unit/command/test_help.py::test_help[studio-login]": 0.005103100000155791, + "tests/unit/command/test_help.py::test_help[studio-logout]": 0.004475100000036036, + "tests/unit/command/test_help.py::test_help[studio-token]": 0.004713700000024801, + "tests/unit/command/test_help.py::test_help[studio]": 0.004740799999922274, + "tests/unit/command/test_help.py::test_help[unfreeze]": 0.0046703999998953805, + "tests/unit/command/test_help.py::test_help[unprotect]": 0.0046142999999574386, + "tests/unit/command/test_help.py::test_help[update]": 0.0050053999999590815, + "tests/unit/command/test_help.py::test_help[version]": 0.004662299999949937, + "tests/unit/command/test_imp.py::test_import": 0.15950039999984256, + "tests/unit/command/test_imp.py::test_import_no_download": 0.17638509999983398, + "tests/unit/command/test_imp.py::test_import_no_exec": 0.16130900000018755, + "tests/unit/command/test_imp_url.py::test_failed_import_url": 0.24874369999997725, + "tests/unit/command/test_imp_url.py::test_import_url": 0.16240170000003218, + "tests/unit/command/test_imp_url.py::test_import_url_no_exec_download_flags[--no-download-expected1]": 0.1616487999998526, + "tests/unit/command/test_imp_url.py::test_import_url_no_exec_download_flags[--no-exec-expected0]": 0.15735030000007555, + "tests/unit/command/test_imp_url.py::test_import_url_to_remote": 0.23831790000008368, + "tests/unit/command/test_imp_url.py::test_import_url_to_remote_flag": 0.2676136000000042, + "tests/unit/command/test_imp_url.py::test_import_url_to_remote_invalid_combination[--no-download]": 0.23121040000000903, + "tests/unit/command/test_imp_url.py::test_import_url_to_remote_invalid_combination[--no-exec]": 0.22697579999999107, + "tests/unit/command/test_imp_url.py::test_import_url_to_remote_invalid_combination[--version-aware]": 0.2488975000001119, + "tests/unit/command/test_ls_url.py::test_ls_url": 0.007741799999962495, + "tests/unit/command/test_ls_url.py::test_recursive": 0.007042000000069493, + "tests/unit/command/test_metrics.py::test_metrics_diff": 0.17783269999983986, + "tests/unit/command/test_metrics.py::test_metrics_diff_json": 0.16102879999982633, + "tests/unit/command/test_metrics.py::test_metrics_show": 0.15935780000006616, + "tests/unit/command/test_metrics.py::test_metrics_show_json": 0.19421349999993254, + "tests/unit/command/test_params.py::test_params_diff": 0.1581121000000394, + "tests/unit/command/test_params.py::test_params_diff_from_cli": 0.1667267999998785, + "tests/unit/command/test_params.py::test_params_diff_show_json": 0.22336029999985385, + "tests/unit/command/test_plots.py::test_plots_diff": 0.16223200000001725, + "tests/unit/command/test_plots.py::test_plots_diff_json": 0.8370906000001241, + "tests/unit/command/test_plots.py::test_plots_diff_open[False]": 0.20436099999983526, + "tests/unit/command/test_plots.py::test_plots_diff_open[True]": 0.16055760000006103, + "tests/unit/command/test_plots.py::test_plots_diff_open_failed": 0.18257810000011432, + "tests/unit/command/test_plots.py::test_plots_diff_open_wsl": 0.16334660000006807, + "tests/unit/command/test_plots.py::test_plots_diff_vega": 0.21606650000001082, + "tests/unit/command/test_plots.py::test_plots_path_is_quoted_and_resolved_properly[quote]": 0.22137190000012197, + "tests/unit/command/test_plots.py::test_plots_path_is_quoted_and_resolved_properly[resolve]": 0.16760520000002543, + "tests/unit/command/test_plots.py::test_plots_show_vega": 0.20280970000021625, + "tests/unit/command/test_plots.py::test_plots_templates[None-t1\\nt2-0]": 0.16750550000006115, + "tests/unit/command/test_plots.py::test_plots_templates[t1-\"{'t1'}\"-0]": 0.14744550000011714, + "tests/unit/command/test_plots.py::test_plots_templates[t3--1]": 0.19756789999996727, + "tests/unit/command/test_plots.py::test_should_call_render[None]": 0.02213379999989229, + "tests/unit/command/test_plots.py::test_should_call_render[some_out]": 0.02298040000016499, + "tests/unit/command/test_plots.py::test_should_call_render[to\\\\subdir]": 0.021559099999990394, + "tests/unit/command/test_plots.py::test_should_pass_template_dir": 0.20337180000001354, + "tests/unit/command/test_plots.py::test_show_json[False]": 0.004578400000013971, + "tests/unit/command/test_plots.py::test_show_json[True]": 0.004965399999946385, + "tests/unit/command/test_plots.py::test_show_json_no_renderers": 0.0037462000000232365, + "tests/unit/command/test_plots.py::test_show_json_with_error": 0.18920730000002095, + "tests/unit/command/test_queue.py::test_experiments_kill": 0.2445196000001033, + "tests/unit/command/test_queue.py::test_experiments_remove_flags": 0.31704769999998916, + "tests/unit/command/test_queue.py::test_experiments_remove_invalid": 0.297946599999932, + "tests/unit/command/test_queue.py::test_experiments_remove_name": 0.26617610000005243, + "tests/unit/command/test_queue.py::test_experiments_start": 1.2269019999998818, + "tests/unit/command/test_queue.py::test_experiments_status": 1.2477585000001454, + "tests/unit/command/test_queue.py::test_experiments_stop": 0.27853619999996226, + "tests/unit/command/test_queue.py::test_queue_logs": 0.2533302999999023, + "tests/unit/command/test_queue.py::test_worker_status[worker_status0-Worker status: 0 active, 2 idle]": 0.2085013999999319, + "tests/unit/command/test_queue.py::test_worker_status[worker_status1-Worker status: 2 active, 1 idle]": 0.21324529999992592, + "tests/unit/command/test_queue.py::test_worker_status[worker_status2-Worker status: 1 active, 0 idle]": 0.26774479999983214, + "tests/unit/command/test_repro.py::test_default_arguments": 0.24381379999999808, + "tests/unit/command/test_repro.py::test_downstream": 0.2228683999999248, + "tests/unit/command/test_stage.py::test_stage_add[command0-echo foo bar]": 0.232102399999917, + "tests/unit/command/test_stage.py::test_stage_add[command1-echo \"foo bar\"]": 0.2880078999999114, + "tests/unit/command/test_stage.py::test_stage_add[command2-echo \"foo bar\"]": 0.17658459999995557, + "tests/unit/command/test_stage.py::test_stage_add[command3-cmd --flag \"\"]": 0.19729919999997492, + "tests/unit/command/test_stage.py::test_stage_add_and_run": 0.17568000000005668, + "tests/unit/command/test_status.py::test_cloud_status": 0.16782099999988986, + "tests/unit/command/test_status.py::test_status_check_updates": 0.19725930000004155, + "tests/unit/command/test_status.py::test_status_empty": 0.1967822999999953, + "tests/unit/command/test_status.py::test_status_quiet[status0-0]": 0.19551589999991847, + "tests/unit/command/test_status.py::test_status_quiet[status1-1]": 0.17035260000000108, + "tests/unit/command/test_status.py::test_status_quiet[status2-1]": 0.19946329999993395, + "tests/unit/command/test_status.py::test_status_show_json[status0]": 0.1761330999999018, + "tests/unit/command/test_status.py::test_status_show_json[status1]": 0.17701260000001184, + "tests/unit/command/test_status.py::test_status_show_json[status2]": 0.18058289999999033, + "tests/unit/command/test_status.py::test_status_up_to_date[cloud_opts0-Cache and remote 'default' are in sync]": 0.17520509999997103, + "tests/unit/command/test_status.py::test_status_up_to_date[cloud_opts1-Cache and remote 'remote1' are in sync]": 0.16241600000000744, + "tests/unit/command/test_status.py::test_status_up_to_date[cloud_opts2-Data and pipelines are up to date]": 0.174744399999895, + "tests/unit/command/test_studio.py::test_studio_login_arguments": 0.020730800000137606, + "tests/unit/command/test_studio.py::test_studio_login_success": 0.1833499000001666, + "tests/unit/command/test_studio.py::test_studio_login_token_check_failed": 0.016864599999962593, + "tests/unit/command/test_studio.py::test_studio_logout": 0.16298749999998563, + "tests/unit/command/test_studio.py::test_studio_token": 0.15698469999995268, + "tests/unit/command/test_update.py::test_update": 0.17654290000007222, + "tests/unit/command/test_update.py::test_update_to_remote": 0.15949060000002646, + "tests/unit/data/db/test_local.py::test_is_protected[hardlink]": 0.14557190000004994, + "tests/unit/data/db/test_local.py::test_is_protected[symlink]": 0.1829543000000058, + "tests/unit/data/db/test_local.py::test_protect_ignore_errors[13]": 0.18708559999993213, + "tests/unit/data/db/test_local.py::test_protect_ignore_errors[1]": 0.16553050000004532, + "tests/unit/data/db/test_local.py::test_protect_ignore_errors[30]": 0.1776026999999658, + "tests/unit/data/db/test_local.py::test_set_exec_ignore_errors[13]": 0.22822449999989658, + "tests/unit/data/db/test_local.py::test_set_exec_ignore_errors[1]": 0.20305240000027425, + "tests/unit/data/db/test_local.py::test_set_exec_ignore_errors[30]": 0.1831402000000253, + "tests/unit/data/db/test_local.py::test_staging_dir": 0.230100199999697, + "tests/unit/data/db/test_local.py::test_staging_file": 0.20912219999991066, + "tests/unit/data/db/test_local.py::test_status_download_optimization": 0.14161040000010416, + "tests/unit/dependency/test_dependency.py::test_save_missing": 0.19652719999999135, + "tests/unit/dependency/test_params.py::test_dumpd_with_info": 0.15128699999991113, + "tests/unit/dependency/test_params.py::test_dumpd_without_info": 0.16029950000029203, + "tests/unit/dependency/test_params.py::test_get_hash_missing_config": 0.13132500000006075, + "tests/unit/dependency/test_params.py::test_get_hash_missing_param": 0.1511273999997229, + "tests/unit/dependency/test_params.py::test_loadd_from": 0.14914219999991474, + "tests/unit/dependency/test_params.py::test_loads_params": 0.1819633000000067, + "tests/unit/dependency/test_params.py::test_loads_params_without_any_specific_targets": 0.2397292999999081, + "tests/unit/dependency/test_params.py::test_params_error[params0-Only list of str/dict is supported. Got: 'int']": 0.17743289999998524, + "tests/unit/dependency/test_params.py::test_params_error[params1-Expected list of params for custom params file 'b_file', got 'str'.]": 0.14181680000001506, + "tests/unit/dependency/test_params.py::test_params_py_tuple_status": 0.1323810000001231, + "tests/unit/dependency/test_params.py::test_params_status_without_targets": 0.14940939999996772, + "tests/unit/dependency/test_params.py::test_params_with_false_values[[]]": 0.14156870000010713, + "tests/unit/dependency/test_params.py::test_params_with_false_values[]": 0.14010119999989, + "tests/unit/dependency/test_params.py::test_params_with_false_values[false]": 0.145325400000047, + "tests/unit/dependency/test_params.py::test_params_with_false_values[null]": 0.13275300000009338, + "tests/unit/dependency/test_params.py::test_params_with_false_values[{}]": 0.13771410000003925, + "tests/unit/dependency/test_params.py::test_read_params_default_loader": 0.1354366000000482, + "tests/unit/dependency/test_params.py::test_read_params_nested": 0.14428989999987607, + "tests/unit/dependency/test_params.py::test_read_params_nonexistent_file": 0.14137549999986732, + "tests/unit/dependency/test_params.py::test_read_params_py": 0.15157290000001922, + "tests/unit/dependency/test_params.py::test_read_params_toml": 0.1404378000001998, + "tests/unit/dependency/test_params.py::test_read_params_unsupported_format": 0.1372903999999835, + "tests/unit/dependency/test_params.py::test_read_params_wrong_suffix": 0.16509849999988546, + "tests/unit/fs/test_base.py::test_missing_deps": 0.00495150000006106, + "tests/unit/fs/test_data.py::test_exists": 0.35812570000030064, + "tests/unit/fs/test_data.py::test_get_hash_dir": 0.3086691000000883, + "tests/unit/fs/test_data.py::test_get_hash_dirty_dir": 0.43394499999999425, + "tests/unit/fs/test_data.py::test_get_hash_dirty_file": 0.38452159999997093, + "tests/unit/fs/test_data.py::test_get_hash_file": 0.2722163000003093, + "tests/unit/fs/test_data.py::test_get_hash_granular": 0.3548885000000155, + "tests/unit/fs/test_data.py::test_get_key[-key0]": 0.2359702999997353, + "tests/unit/fs/test_data.py::test_get_key[.-key1]": 0.20508520000021235, + "tests/unit/fs/test_data.py::test_get_key[/-key2]": 0.1873142999997981, + "tests/unit/fs/test_data.py::test_get_key[dir/foo-key4]": 0.261411299999736, + "tests/unit/fs/test_data.py::test_get_key[foo-key3]": 0.3334287999998651, + "tests/unit/fs/test_data.py::test_isdir_isfile": 0.36860460000002604, + "tests/unit/fs/test_data.py::test_isdir_mixed": 0.2752560999997513, + "tests/unit/fs/test_data.py::test_open": 0.38896999999997206, + "tests/unit/fs/test_data.py::test_open_dirty_hash": 0.3455529000000297, + "tests/unit/fs/test_data.py::test_open_dirty_no_hash": 0.22985790000007, + "tests/unit/fs/test_data.py::test_open_in_history": 0.5580856999999924, + "tests/unit/fs/test_data.py::test_open_no_remote": 0.29373580000014954, + "tests/unit/fs/test_data.py::test_walk": 0.45851840000000266, + "tests/unit/fs/test_data.py::test_walk_dir": 0.3647290999999768, + "tests/unit/fs/test_data.py::test_walk_missing": 0.21059100000024955, + "tests/unit/fs/test_data.py::test_walk_not_a_dir": 0.28855810000004567, + "tests/unit/fs/test_dvc.py::test_dvcfs_no_subrepos": 1.1262057000001278, + "tests/unit/fs/test_dvc.py::test_exists": 0.4299327999999605, + "tests/unit/fs/test_dvc.py::test_exists_isdir_isfile_dirty": 0.3719997999999123, + "tests/unit/fs/test_dvc.py::test_fsid": 0.3600894999999582, + "tests/unit/fs/test_dvc.py::test_fsid_noscm": 0.17050810000000638, + "tests/unit/fs/test_dvc.py::test_fsid_url": 0.6390982999998869, + "tests/unit/fs/test_dvc.py::test_get_hash_cached_dir": 0.3788449999997283, + "tests/unit/fs/test_dvc.py::test_get_hash_cached_file": 0.2868271000002096, + "tests/unit/fs/test_dvc.py::test_get_hash_cached_granular": 0.32177900000010595, + "tests/unit/fs/test_dvc.py::test_get_hash_dirty_dir": 0.3100024000002577, + "tests/unit/fs/test_dvc.py::test_get_hash_dirty_file": 0.27687379999997574, + "tests/unit/fs/test_dvc.py::test_get_hash_mixed_dir": 0.44705369999996947, + "tests/unit/fs/test_dvc.py::test_isdir_isfile": 0.48258069999997133, + "tests/unit/fs/test_dvc.py::test_isdir_mixed": 0.28985499999998865, + "tests/unit/fs/test_dvc.py::test_isdvc": 0.3862890000000334, + "tests/unit/fs/test_dvc.py::test_ls_dir_empty": 0.2741804000002048, + "tests/unit/fs/test_dvc.py::test_ls_dirty": 0.2980661000001419, + "tests/unit/fs/test_dvc.py::test_ls_file_not_found": 0.2732452000000194, + "tests/unit/fs/test_dvc.py::test_open": 0.39393840000002456, + "tests/unit/fs/test_dvc.py::test_open_dirty_hash": 0.24628350000011778, + "tests/unit/fs/test_dvc.py::test_open_dirty_no_hash": 0.1439026000002741, + "tests/unit/fs/test_dvc.py::test_open_in_history": 0.5555142999999134, + "tests/unit/fs/test_dvc.py::test_subrepo_walk[False-extra_expected0]": 1.4545625999999174, + "tests/unit/fs/test_dvc.py::test_subrepo_walk[True-extra_expected1]": 1.7074651000002632, + "tests/unit/fs/test_dvc.py::test_subrepos": 1.6347952000000987, + "tests/unit/fs/test_dvc.py::test_walk[False-extra_expected0]": 0.3712035000000924, + "tests/unit/fs/test_dvc.py::test_walk[True-extra_expected1]": 0.5252416000000721, + "tests/unit/fs/test_dvc.py::test_walk_dirty": 0.43012769999995726, + "tests/unit/fs/test_dvc.py::test_walk_dirty_cached_dir": 0.5374512999999297, + "tests/unit/fs/test_dvc.py::test_walk_missing": 0.20010729999989962, + "tests/unit/fs/test_dvc.py::test_walk_mixed_dir": 0.5005822000000535, + "tests/unit/fs/test_dvc.py::test_walk_nested_subrepos[False]": 2.6429789000001165, + "tests/unit/fs/test_dvc.py::test_walk_nested_subrepos[True]": 2.859540100000004, + "tests/unit/fs/test_dvc.py::test_walk_not_a_dir": 0.2780836999997973, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_only_dirs[data/processed]": 0.6769035000002077, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_only_dirs[data/raw]": 0.7841137000002618, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_only_dirs[data]": 0.6757109000000128, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/processed/processed-1.csv]": 0.7904966999999488, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/processed/processed-2.csv]": 0.7899893000001157, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/raw/raw-1.csv]": 0.720624799999996, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/raw/raw-2.csv]": 0.6412256000003254, + "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[models/transform.pickle]": 0.6508121999997911, + "tests/unit/fs/test_dvc_info.py::test_info_git_dvc_mixed_dirs[.]": 0.634685300000001, + "tests/unit/fs/test_dvc_info.py::test_info_git_dvc_mixed_dirs[models]": 0.6856822000002012, + "tests/unit/fs/test_dvc_info.py::test_info_git_only_dirs[src/utils]": 0.8510240000000522, + "tests/unit/fs/test_dvc_info.py::test_info_git_only_dirs[src]": 0.7053726999999981, + "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[README.md]": 0.8011664999999084, + "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[models/test.py]": 0.7170016000000032, + "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[models/train.py]": 0.6278869000000213, + "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[src/utils/__init__.py]": 0.7002584999997907, + "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[src/utils/serve_model.py]": 0.737733500000104, + "tests/unit/fs/test_dvc_info.py::test_info_not_existing": 0.7489877000000433, + "tests/unit/fs/test_dvc_info.py::test_info_on_subrepos": 1.311515800000052, + "tests/unit/fs/test_fs.py::test_get_cloud_fs": 0.003662800000029165, + "tests/unit/fs/test_fs.py::test_get_fs_cls[../file-LocalFileSystem]": 0.003933200000119541, + "tests/unit/fs/test_fs.py::test_get_fs_cls[..\\\\file-LocalFileSystem]": 0.0037267999998675805, + "tests/unit/fs/test_fs.py::test_get_fs_cls[./file-LocalFileSystem]": 0.0037047000000711705, + "tests/unit/fs/test_fs.py::test_get_fs_cls[.\\\\file-LocalFileSystem]": 0.0036365000000841974, + "tests/unit/fs/test_fs.py::test_get_fs_cls[file-LocalFileSystem]": 0.0036200999998072803, + "tests/unit/fs/test_fs.py::test_get_fs_cls[hdfs://example.com/dir/path-HDFSFileSystem]": 0.0038507000001573033, + "tests/unit/fs/test_fs.py::test_get_fs_cls[http://example.com/path/to/file-HTTPFileSystem]": 0.0036757999998826563, + "tests/unit/fs/test_fs.py::test_get_fs_cls[https://example.com/path/to/file-HTTPSFileSystem]": 0.0037765999998100597, + "tests/unit/fs/test_fs.py::test_get_fs_cls[path/to/file-LocalFileSystem]": 0.0036463999999796215, + "tests/unit/fs/test_fs.py::test_get_fs_cls[path\\\\to\\\\file-LocalFileSystem]": 0.0037243999997826904, + "tests/unit/fs/test_fs.py::test_get_fs_cls[s3://bucket/path-S3FileSystem]": 0.004122800000004645, + "tests/unit/fs/test_fs.py::test_get_fs_cls[ssh://example.com:/dir/path-SSHFileSystem]": 0.003962999999885142, + "tests/unit/fs/test_fs.py::test_get_fs_cls[unknown://path-LocalFileSystem]": 0.0038380000000870496, + "tests/unit/fs/test_fs.py::test_get_fs_config": 0.003567299999986062, + "tests/unit/fs/test_fs.py::test_get_fs_config_error": 0.0034471999997549574, + "tests/unit/fs/test_fs.py::test_remote_url": 0.0040197999999236345, + "tests/unit/fs/test_tree.py::test_get_cloud_fs": 0.1809981000001244, + "tests/unit/fs/test_tree.py::test_get_cloud_fs_validate": 0.1421276000000944, + "tests/unit/output/test_annotations.py::test_annotation_to_dict[kwargs0]": 0.0043542000000798, + "tests/unit/output/test_annotations.py::test_annotation_to_dict[kwargs1]": 0.0034908000002360495, + "tests/unit/output/test_load.py::test_load_from_pipeline[metrics]": 0.14089249999983622, + "tests/unit/output/test_load.py::test_load_from_pipeline[outs]": 0.1623079000000871, + "tests/unit/output/test_load.py::test_load_from_pipeline[plots]": 0.1616214000000582, + "tests/unit/output/test_load.py::test_load_from_pipeline_accumulates_flag": 0.13705239999990226, + "tests/unit/output/test_load.py::test_load_from_pipeline_error_on_typ[None]": 0.14832630000023528, + "tests/unit/output/test_load.py::test_load_from_pipeline_error_on_typ[]": 0.1467334999997547, + "tests/unit/output/test_load.py::test_load_from_pipeline_error_on_typ[illegal]": 0.1416404000001421, + "tests/unit/output/test_load.py::test_load_from_pipeline_illegal_type[3]": 0.14419900000007146, + "tests/unit/output/test_load.py::test_load_from_pipeline_illegal_type[key1]": 0.1510142000001906, + "tests/unit/output/test_load.py::test_load_remote": 0.1515172999997958, + "tests/unit/output/test_load.py::test_load_remote_files_from_pipeline": 0.3239920999997139, + "tests/unit/output/test_load.py::test_plots_load_from_pipeline": 0.1858439999998609, + "tests/unit/output/test_local.py::test_return_0_on_no_cache": 0.18396800000004987, + "tests/unit/output/test_local.py::test_return_1_on_single_file_cache": 0.18803580000030706, + "tests/unit/output/test_local.py::test_return_multiple_for_dir": 0.17993090000004486, + "tests/unit/output/test_local.py::test_str_on_external_absolute_path": 0.17777769999997872, + "tests/unit/output/test_local.py::test_str_on_local_absolute_path": 0.21161090000009608, + "tests/unit/output/test_local.py::test_str_workdir_inside_repo": 0.14259830000014517, + "tests/unit/output/test_local.py::test_str_workdir_outside_repo": 0.19554309999989528, + "tests/unit/output/test_output.py::test_checksum_schema[-None]": 0.005544099999497121, + "tests/unit/output/test_output.py::test_checksum_schema[000002000000000000000000c16859d1d071c6b1ffc9c8557d4909f1-000002000000000000000000c16859d1d071c6b1ffc9c8557d4909f1]": 0.003528299999743467, + "tests/unit/output/test_output.py::test_checksum_schema[11111-11111_0]": 0.0035367000000405824, + "tests/unit/output/test_output.py::test_checksum_schema[11111-11111_1]": 0.003755199999886827, + "tests/unit/output/test_output.py::test_checksum_schema[13393-13393]": 0.0037766000000374333, + "tests/unit/output/test_output.py::test_checksum_schema[3cc286c534a71504476da009ed174423-3cc286c534a71504476da009ed174423]": 0.003689800000302057, + "tests/unit/output/test_output.py::test_checksum_schema[676-676]": 0.0036434999997254636, + "tests/unit/output/test_output.py::test_checksum_schema[None-None]": 0.003606799999715804, + "tests/unit/output/test_output.py::test_checksum_schema[aAaBa-aaaba]": 0.0035385999999562046, + "tests/unit/output/test_output.py::test_checksum_schema[d41d8cd98f00b204e9800998ecf8427e-38-d41d8cd98f00b204e9800998ecf8427e-38]": 0.0037460000000919536, + "tests/unit/output/test_output.py::test_checksum_schema_fail[11]": 0.0037425999998959014, + "tests/unit/output/test_output.py::test_checksum_schema_fail[1]": 0.003756699999939883, + "tests/unit/output/test_output.py::test_checksum_schema_fail[value2]": 0.00356540000007044, + "tests/unit/output/test_output.py::test_checksum_schema_fail[value3]": 0.0036418999998204526, + "tests/unit/output/test_output.py::test_checksum_schema_fail[value4]": 0.0035010999999940395, + "tests/unit/output/test_output.py::test_checksum_schema_fail[value5]": 0.0036368999999467633, + "tests/unit/output/test_output.py::test_dumpd_cloud_versioning_dir": 0.013638500000070053, + "tests/unit/output/test_output.py::test_get_used_objs[False-Output 'path'(stage: 'stage.dvc') is missing version info. Cache for it will not be collected. Use `dvc repro` to get your pipeline up to date.]": 0.013380899999901885, + "tests/unit/output/test_output.py::test_get_used_objs[True-Output 'path'(stage: 'stage.dvc') is missing version info. Cache for it will not be collected. Use `dvc repro` to get your pipeline up to date.\\nYou can also use `dvc commit stage.dvc` to associate existing 'path' with stage: 'stage.dvc'.]": 0.013191500000175438, + "tests/unit/output/test_output.py::test_hash_info_cloud_versioning_dir": 0.011704800000188698, + "tests/unit/output/test_output.py::test_remote_missing_dependency_on_dir_pull": 0.4997587999998814, + "tests/unit/output/test_output.py::test_save_missing": 0.17189609999991262, + "tests/unit/output/test_output.py::test_version_aware_is_set_based_on_files": 0.013280800000302406, + "tests/unit/remote/test_oss.py::test_init": 0.13651709999999184, + "tests/unit/remote/test_remote.py::test_makedirs_not_create_for_top_level_path[GSFileSystem]": 0.14460880000001453, + "tests/unit/remote/test_remote.py::test_makedirs_not_create_for_top_level_path[S3FileSystem]": 0.13261130000000776, + "tests/unit/remote/test_remote.py::test_remote_with_hash_jobs": 0.15536950000000616, + "tests/unit/remote/test_remote.py::test_remote_with_jobs": 0.16428399999995236, + "tests/unit/remote/test_remote.py::test_remote_without_hash_jobs": 0.16145559999995385, + "tests/unit/remote/test_remote.py::test_remote_without_hash_jobs_default": 0.1481607000000622, + "tests/unit/remote/test_webdav.py::test_ask_password": 0.00495260000025155, + "tests/unit/remote/test_webdav.py::test_ask_password_custom_auth_header": 0.00502760000017588, + "tests/unit/remote/test_webdav.py::test_common": 0.004034600000068167, + "tests/unit/remote/test_webdav.py::test_custom_auth_header": 0.0038762000001497654, + "tests/unit/remote/test_webdav.py::test_password": 0.003827599999794984, + "tests/unit/remote/test_webdav.py::test_remote_with_jobs[webdav://username@example.com/public.php/webdav-WebDAVFileSystem]": 0.15608989999986989, + "tests/unit/remote/test_webdav.py::test_remote_with_jobs[webdavs://username@example.com/public.php/webdav-WebDAVSFileSystem]": 0.14663779999978033, + "tests/unit/remote/test_webdav.py::test_ssl_verify_custom_cert": 0.00405799999998635, + "tests/unit/remote/test_webdav.py::test_token": 0.003971099999944272, + "tests/unit/remote/test_webdav.py::test_user": 0.003973999999971056, + "tests/unit/remote/test_webhdfs.py::test_init": 0.14084939999997914, + "tests/unit/remote/test_webhdfs.py::test_verify_ssl": 0.15593999999987318, + "tests/unit/render/test_convert.py::test_to_json_image": 0.0036106000000017957, + "tests/unit/render/test_convert.py::test_to_json_vega": 0.005109799999900133, + "tests/unit/render/test_convert.py::test_to_json_vega_split": 0.004524400000036621, + "tests/unit/render/test_image_converter.py::test_image_converter_no_out": 0.003433300000097006, + "tests/unit/render/test_image_converter.py::test_image_converter_with_out": 0.015260500000067623, + "tests/unit/render/test_image_converter.py::test_image_converter_with_slash_in_revision": 0.018313700000135213, + "tests/unit/render/test_match.py::test_flat_datapoints_errors_are_caught": 0.004753199999640856, + "tests/unit/render/test_match.py::test_group_definitions[all]": 0.003569299999753639, + "tests/unit/render/test_match.py::test_group_definitions[multi_config]": 0.003538899999966816, + "tests/unit/render/test_match.py::test_group_definitions[multi_rev]": 0.0034962000001996785, + "tests/unit/render/test_match.py::test_group_definitions[multi_rev_multi_config]": 0.0036884000001009554, + "tests/unit/render/test_match.py::test_group_definitions[simple]": 0.0035629999997581763, + "tests/unit/render/test_match.py::test_match_renderers": 0.00402299999996103, + "tests/unit/render/test_match.py::test_squash_plots_properties_config_files": 0.003502900000057707, + "tests/unit/render/test_match.py::test_squash_plots_properties_revs": 0.003376799999841751, + "tests/unit/render/test_vega_converter.py::test_convert[choose_x_y]": 0.003819599999815182, + "tests/unit/render/test_vega_converter.py::test_convert[default_x_y]": 0.003854499999761174, + "tests/unit/render/test_vega_converter.py::test_convert[find_in_nested_structure]": 0.003715999999712949, + "tests/unit/render/test_vega_converter.py::test_convert[multi_file_json]": 0.0038222999999106833, + "tests/unit/render/test_vega_converter.py::test_convert[multi_file_y_same_prefix]": 0.003748200000018187, + "tests/unit/render/test_vega_converter.py::test_convert[multi_source_json]": 0.0037368000000697066, + "tests/unit/render/test_vega_converter.py::test_convert[multi_source_y_single_x]": 0.003875499999821841, + "tests/unit/render/test_vega_converter.py::test_convert[multiple_x_fields]": 0.004527599999846643, + "tests/unit/render/test_vega_converter.py::test_convert[y_def_list]": 0.003832700000202749, + "tests/unit/render/test_vega_converter.py::test_convert[y_list]": 0.0037419000000227243, + "tests/unit/render/test_vega_converter.py::test_convert[y_list_x_dict]": 0.003806600000416438, + "tests/unit/render/test_vega_converter.py::test_convert_fail[unequal_datapoints]": 0.003742300000112664, + "tests/unit/render/test_vega_converter.py::test_convert_fail[unequal_x_y]": 0.0038218999998207437, + "tests/unit/render/test_vega_converter.py::test_finding_lists[dictionary0-expected_result0]": 0.0035947999999734748, + "tests/unit/render/test_vega_converter.py::test_finding_lists[dictionary1-expected_result1]": 0.003548999999793523, + "tests/unit/render/test_vega_converter.py::test_finding_lists[dictionary2-expected_result2]": 0.0034938000001147884, + "tests/unit/render/test_vega_converter.py::test_infer_x_label[properties0-actual]": 0.0036790000001474255, + "tests/unit/render/test_vega_converter.py::test_infer_x_label[properties1-actual]": 0.0035590000002230227, + "tests/unit/render/test_vega_converter.py::test_infer_x_label[properties2-x]": 0.003653600000006918, + "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill[False]": 3.2636135999998714, + "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill[True]": 3.247582599999987, + "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill_invalid[False]": 3.2468249000000924, + "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill_invalid[True]": 3.2016183999999157, + "tests/unit/repo/experiments/queue/test_celery.py::test_post_run_after_kill": 5.27350279999996, + "tests/unit/repo/experiments/queue/test_celery.py::test_queue_iter_done_task[FAILURE]": 3.3001954999999725, + "tests/unit/repo/experiments/queue/test_celery.py::test_queue_iter_done_task[SUCCESS]": 3.2327950000001238, + "tests/unit/repo/experiments/queue/test_celery.py::test_queue_status": 3.2498809999999594, + "tests/unit/repo/experiments/queue/test_celery.py::test_shutdown": 3.241012300000193, + "tests/unit/repo/experiments/queue/test_celery.py::test_shutdown_no_tasks": 3.236263000000008, + "tests/unit/repo/experiments/queue/test_celery.py::test_shutdown_with_kill": 3.2628928999997697, + "tests/unit/repo/experiments/queue/test_remove.py::test_remove_done": 3.258274300000039, + "tests/unit/repo/experiments/queue/test_remove.py::test_remove_queued": 3.249447200000077, + "tests/unit/repo/experiments/test_collect.py::test_collect_stable_sorting": 18.420879500000183, + "tests/unit/repo/experiments/test_executor_status.py::test_celery_queue_failure_status": 3.197412799999938, + "tests/unit/repo/experiments/test_executor_status.py::test_celery_queue_success_status": 5.281382499999836, + "tests/unit/repo/experiments/test_executor_status.py::test_executor_status_compatibility": 0.003536400000029971, + "tests/unit/repo/experiments/test_executor_status.py::test_workspace_executor_failed_status[tempdir_queue]": 1.1872725000000628, + "tests/unit/repo/experiments/test_executor_status.py::test_workspace_executor_failed_status[workspace_queue]": 0.8289185000000998, + "tests/unit/repo/experiments/test_executor_status.py::test_workspace_executor_success_status[tempdir_queue]": 1.6061510000001817, + "tests/unit/repo/experiments/test_executor_status.py::test_workspace_executor_success_status[workspace_queue]": 1.1191812999998092, + "tests/unit/repo/experiments/test_remove.py::test_remove_done_tasks": 3.204113199999938, + "tests/unit/repo/experiments/test_utils.py::test_gen_random_name": 0.0036457000001064443, + "tests/unit/repo/experiments/test_utils.py::test_resolve_exp_ref[False-False]": 0.5896682000000055, + "tests/unit/repo/experiments/test_utils.py::test_resolve_exp_ref[False-True]": 0.5865679999999429, + "tests/unit/repo/experiments/test_utils.py::test_resolve_exp_ref[True-False]": 0.4884703999998692, + "tests/unit/repo/experiments/test_utils.py::test_resolve_exp_ref[True-True]": 0.4549055000002227, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[*-False]": 0.058686999999736145, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[:-False]": 0.03801729999986492, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[?-False]": 0.031393499999921914, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[@-result4]": 0.043861699999979464, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[^-False]": 0.03508149999970556, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[group/name-False]": 0.04892050000012205, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[invalid/.name-False]": 0.03710669999986749, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[na me-False]": 0.03663880000021891, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[name-True]": 0.03781759999992573, + "tests/unit/repo/experiments/test_utils.py::test_run_check_ref_format[~-False]": 0.03606680000007145, + "tests/unit/repo/experiments/test_utils.py::test_to_studio_params[params0-expected0]": 0.003655899999785106, + "tests/unit/repo/experiments/test_utils.py::test_to_studio_params[params1-expected1]": 0.003651599999784594, + "tests/unit/repo/experiments/test_utils.py::test_to_studio_params[params2-expected2]": 0.0035170999999536434, + "tests/unit/repo/plots/test_diff.py::test_revisions[arg_revisions0-False-expected_revisions0]": 0.004743899999994028, + "tests/unit/repo/plots/test_diff.py::test_revisions[arg_revisions1-True-expected_revisions1]": 0.004207899999983056, + "tests/unit/repo/plots/test_diff.py::test_revisions[arg_revisions2-False-expected_revisions2]": 0.0041298000001006585, + "tests/unit/repo/plots/test_diff.py::test_revisions[arg_revisions3-True-expected_revisions3]": 0.004053900000144495, + "tests/unit/repo/plots/test_diff.py::test_revisions_experiment[arg_revisions0-v0-expected_revisions0]": 0.004405799999858573, + "tests/unit/repo/plots/test_diff.py::test_revisions_experiment[arg_revisions1-None-expected_revisions1]": 0.004275099999858867, + "tests/unit/repo/plots/test_diff.py::test_revisions_experiment[arg_revisions2-v0-expected_revisions2]": 0.004378200000246579, + "tests/unit/repo/plots/test_diff.py::test_revisions_experiment[arg_revisions3-None-expected_revisions3]": 0.004301799999893774, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes0-False-expected_edges0]": 0.0039300999999341, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes1-False-expected_edges1]": 0.004124099999899045, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes10-True-expected_edges10]": 0.004557500000373693, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes11-True-expected_edges11]": 0.004562999999734529, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes12-True-expected_edges12]": 0.004001199999947858, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes13-True-expected_edges13]": 0.003916599999683967, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes2-False-expected_edges2]": 0.003934500000013941, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes3-False-expected_edges3]": 0.004986700000245037, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes4-False-expected_edges4]": 0.004723999999896478, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes5-False-expected_edges5]": 0.004219399999783491, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes6-False-expected_edges6]": 0.003915600000027553, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes7-True-expected_edges7]": 0.004030999999940832, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes8-True-expected_edges8]": 0.0038394000000607775, + "tests/unit/repo/test_graph.py::test_subgraph_of_nodes[nodes9-True-expected_edges9]": 0.004678999999896405, + "tests/unit/repo/test_open_repo.py::test_hook_is_called": 4.525591000000077, + "tests/unit/repo/test_open_repo.py::test_subrepo_is_constructed_properly[False]": 0.9076153000000886, + "tests/unit/repo/test_open_repo.py::test_subrepo_is_constructed_properly[True]": 1.2559671999999864, + "tests/unit/repo/test_repo.py::test_branch_config": 0.638178200000084, + "tests/unit/repo/test_repo.py::test_dynamic_cache_initialization": 0.5202628000001823, + "tests/unit/repo/test_repo.py::test_find_outs_by_path[dir\\\\subdir\\\\file]": 0.22287480000022697, + "tests/unit/repo/test_repo.py::test_find_outs_by_path[dir\\\\subdir]": 0.23052469999993264, + "tests/unit/repo/test_repo.py::test_find_outs_by_path[dir]": 0.2600753999997778, + "tests/unit/repo/test_repo.py::test_find_outs_by_path_does_graph_checks": 0.22581250000007458, + "tests/unit/repo/test_repo.py::test_is_dvc_internal": 0.12822430000005625, + "tests/unit/repo/test_repo.py::test_locked": 0.0072508999999172374, + "tests/unit/repo/test_repo.py::test_skip_graph_checks": 0.8591042000000471, + "tests/unit/repo/test_repo.py::test_used_objs[dir\\\\subdir\\\\file]": 0.23300220000010086, + "tests/unit/repo/test_repo.py::test_used_objs[dir\\\\subdir]": 0.23801000000003114, + "tests/unit/repo/test_reproduce.py::test_active_graph": 0.003997900000058507, + "tests/unit/repo/test_reproduce.py::test_number_reproduces": 0.4025128999999197, + "tests/unit/repo/test_reproduce.py::test_repro_plan": 0.004954800000177784, + "tests/unit/repo/test_scm_context.py::test_ignore[no_scm]": 0.004981300000054034, + "tests/unit/repo/test_scm_context.py::test_ignore[scm]": 0.005258500000081767, + "tests/unit/repo/test_scm_context.py::test_ignore_remove[no_scm]": 0.005109800000127507, + "tests/unit/repo/test_scm_context.py::test_ignore_remove[scm]": 0.0052145999998174375, + "tests/unit/repo/test_scm_context.py::test_scm_context_autostage_changed_files[no_scm]": 0.0064303000001473265, + "tests/unit/repo/test_scm_context.py::test_scm_context_autostage_changed_files[scm]": 0.005826300000080664, + "tests/unit/repo/test_scm_context.py::test_scm_context_clears_ignores_on_error[no_scm]": 0.005321699999967677, + "tests/unit/repo/test_scm_context.py::test_scm_context_clears_ignores_on_error[scm]": 0.0055414000000837405, + "tests/unit/repo/test_scm_context.py::test_scm_context_decorator[no_scm]": 0.005799300000035146, + "tests/unit/repo/test_scm_context.py::test_scm_context_decorator[scm]": 0.006207899999935762, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[no_scm-False-False]": 0.004690799999934825, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[no_scm-False-True]": 0.004631500000186861, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[no_scm-True-False]": 0.0046300999999857595, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[no_scm-True-True]": 0.004604500000141343, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[scm-False-False]": 0.004875800000036179, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[scm-False-True]": 0.004849700000249868, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[scm-True-False]": 0.0048351000000366184, + "tests/unit/repo/test_scm_context.py::test_scm_context_on_no_files_to_track[scm-True-True]": 0.004896400000006906, + "tests/unit/repo/test_scm_context.py::test_scm_context_remind_disable[no_scm]": 0.004462099999727798, + "tests/unit/repo/test_scm_context.py::test_scm_context_remind_disable[scm]": 0.004766199999721721, + "tests/unit/repo/test_scm_context.py::test_scm_context_remind_to_track[no_scm-False]": 0.004654299999856448, + "tests/unit/repo/test_scm_context.py::test_scm_context_remind_to_track[no_scm-True]": 0.004695799999808514, + "tests/unit/repo/test_scm_context.py::test_scm_context_remind_to_track[scm-False]": 0.006858499999907508, + "tests/unit/repo/test_scm_context.py::test_scm_context_remind_to_track[scm-True]": 0.004867899999680958, + "tests/unit/repo/test_scm_context.py::test_scm_context_reset_on_exit[no_scm]": 0.005056499999909647, + "tests/unit/repo/test_scm_context.py::test_scm_context_reset_on_exit[scm]": 0.005627999999887834, + "tests/unit/repo/test_scm_context.py::test_scm_track_changed_files[no_scm]": 0.005414800000380637, + "tests/unit/repo/test_scm_context.py::test_scm_track_changed_files[scm]": 0.0056264999998347776, + "tests/unit/repo/test_scm_context.py::test_scm_track_file[no_scm]": 0.005126499999960288, + "tests/unit/repo/test_scm_context.py::test_scm_track_file[scm]": 0.0051109000000906235, + "tests/unit/scm/test_scm.py::test_iter_revs": 1.9997329999998783, + "tests/unit/stage/test_cache.py::test_shared_stage_cache": 0.32890530000008766, + "tests/unit/stage/test_cache.py::test_stage_cache": 0.4478663999998389, + "tests/unit/stage/test_cache.py::test_stage_cache_params": 0.4387864000002537, + "tests/unit/stage/test_cache.py::test_stage_cache_wdir": 0.43086459999994986, + "tests/unit/stage/test_cache.py::test_unhashable[kwargs0]": 0.13933509999992566, + "tests/unit/stage/test_cache.py::test_unhashable[kwargs1]": 0.15753200000017387, + "tests/unit/stage/test_cache.py::test_unhashable[kwargs2]": 0.1639799000001858, + "tests/unit/stage/test_cache.py::test_unhashable[kwargs3]": 0.13701670000000377, + "tests/unit/stage/test_cache.py::test_unhashable[kwargs4]": 0.18883580000010625, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_deps_outs": 0.1840856999999687, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_dos2unix": 0.16062810000016725, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_empty_data": 0.13230139999996027, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_missing_checksums": 0.13909800000010364, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_missing_params_section": 0.1985528999998678, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_outs_isexec": 0.17040280000014718, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_params": 0.19260850000000573, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_use_appropriate_checksum": 0.31557760000009694, + "tests/unit/stage/test_loader_pipeline_file.py::test_fill_from_lock_with_missing_sections": 0.16610119999995732, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_changed_command": 0.12378579999995054, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage": 0.1506573000001481, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_cmd_with_list": 0.13581310000017766, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_mapping": 0.16256889999999657, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_no_lock": 0.15486989999999423, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_outs_with_flags": 0.15815199999974539, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_wdir_and_path_correctly": 0.1253830000000562, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_with_metrics_and_plots[metrics]": 0.14104959999986022, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_with_metrics_and_plots[plots]": 0.1346588999999767, + "tests/unit/stage/test_loader_pipeline_file.py::test_load_stage_with_params": 0.13948459999983243, + "tests/unit/stage/test_run.py::test_run_stage_dry[cmd1-expected1]": 0.13949279999997088, + "tests/unit/stage/test_run.py::test_run_stage_dry[mycmd arg1 arg2-expected0]": 0.13452050000000781, + "tests/unit/stage/test_serialize_pipeline_file.py::test_always_changed": 0.13004399999999805, + "tests/unit/stage/test_serialize_pipeline_file.py::test_cmd": 0.14637320000019827, + "tests/unit/stage/test_serialize_pipeline_file.py::test_deps_sorted": 0.13880129999984092, + "tests/unit/stage/test_serialize_pipeline_file.py::test_frozen": 0.15286340000011478, + "tests/unit/stage/test_serialize_pipeline_file.py::test_order": 0.159932900000058, + "tests/unit/stage/test_serialize_pipeline_file.py::test_order_deps_outs[None]": 0.18510999999989508, + "tests/unit/stage/test_serialize_pipeline_file.py::test_order_deps_outs[deps]": 0.22124350000012782, + "tests/unit/stage/test_serialize_pipeline_file.py::test_order_deps_outs[metrics]": 0.1904506000003039, + "tests/unit/stage/test_serialize_pipeline_file.py::test_order_deps_outs[outs]": 0.1972204999999576, + "tests/unit/stage/test_serialize_pipeline_file.py::test_order_deps_outs[params]": 0.17652300000008836, + "tests/unit/stage/test_serialize_pipeline_file.py::test_order_deps_outs[plots]": 0.21205989999975827, + "tests/unit/stage/test_serialize_pipeline_file.py::test_outs_and_outs_flags_are_sorted[metrics-extra1]": 0.14520010000001093, + "tests/unit/stage/test_serialize_pipeline_file.py::test_outs_and_outs_flags_are_sorted[outs-extra2]": 0.1622485999998844, + "tests/unit/stage/test_serialize_pipeline_file.py::test_outs_and_outs_flags_are_sorted[plots-extra0]": 0.16353909999997995, + "tests/unit/stage/test_serialize_pipeline_file.py::test_outs_sorted": 0.14247219999992922, + "tests/unit/stage/test_serialize_pipeline_file.py::test_params_file_sorted": 0.1458096999999725, + "tests/unit/stage/test_serialize_pipeline_file.py::test_params_file_without_targets": 0.16316560000018399, + "tests/unit/stage/test_serialize_pipeline_file.py::test_params_sorted": 0.14448880000009012, + "tests/unit/stage/test_serialize_pipeline_file.py::test_plot_props": 0.14348180000001776, + "tests/unit/stage/test_serialize_pipeline_file.py::test_wdir": 0.13083659999983865, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_dump_nondefault_hash": 0.295127599999887, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock": 0.18278179999970234, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_deps": 0.1810011000002305, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_deps_order": 0.19974980000006326, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs[metrics]": 0.15444040000011228, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs[outs]": 0.13414199999965604, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs[plots]": 0.14159519999998338, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs_isexec[metrics]": 0.13434350000011364, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs_isexec[outs]": 0.14570949999983895, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs_isexec[plots]": 0.13978499999984706, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs_order[metrics]": 0.1530977999998413, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs_order[outs]": 0.15072440000017195, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_outs_order[plots]": 0.14244639999969877, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_params": 0.19224449999978788, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_params_file_sorted": 0.16011409999987336, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_params_no_values_filled": 0.14611429999990833, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_params_without_targets[None-expected0]": 0.17541849999997794, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_params_without_targets[info1-expected1]": 0.13082460000009632, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_lock_params_without_targets[info2-expected2]": 0.13176380000027166, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_order": 0.1418648999999732, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_to_lockfile": 0.16397269999993114, + "tests/unit/stage/test_serialize_pipeline_lock.py::test_to_single_stage_lockfile_cloud_versioning_dir": 0.1574033000001691, + "tests/unit/stage/test_stage.py::test_always_changed": 0.1821055000002616, + "tests/unit/stage/test_stage.py::test_external_outs": 0.16749239999990095, + "tests/unit/stage/test_stage.py::test_meta_ignored": 0.004416700000092533, + "tests/unit/stage/test_stage.py::test_path_conversion": 0.13386209999998755, + "tests/unit/stage/test_stage.py::test_stage_checksum": 0.004756299999826297, + "tests/unit/stage/test_stage.py::test_stage_run_ignore_sigint": 0.15540309999983037, + "tests/unit/stage/test_stage.py::test_stage_update": 0.16005749999999352, + "tests/unit/stage/test_stage.py::test_wdir_default_ignored": 0.004468200000019351, + "tests/unit/stage/test_stage.py::test_wdir_non_default_is_not_ignored": 0.004455800000187082, + "tests/unit/stage/test_utils.py::test_get_stage_files": 0.43559189999996306, + "tests/unit/stage/test_utils.py::test_get_stage_files_wdir": 0.36742880000019795, + "tests/unit/stage/test_utils.py::test_resolve_paths": 0.003733799999963594, + "tests/unit/test_analytics.py::test_collect_and_send_report": 0.033919500000138214, + "tests/unit/test_analytics.py::test_is_enabled[config0-True]": 0.17716590000009091, + "tests/unit/test_analytics.py::test_is_enabled[config1-False]": 0.1375153000001319, + "tests/unit/test_analytics.py::test_is_enabled[config2-True]": 0.13800270000024284, + "tests/unit/test_analytics.py::test_is_enabled[config3-True]": 0.12800289999995584, + "tests/unit/test_analytics.py::test_is_enabled[config4-False]": 0.11623309999981757, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[None-None-True]": 0.1333523000000696, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[None-false-False]": 0.12022549999983312, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[None-true-False]": 0.12543059999984507, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[false-None-False]": 0.1427845000000616, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[false-false-False]": 0.13364479999995638, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[false-true-False]": 0.13754279999989194, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[true-None-True]": 0.13801170000010643, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[true-false-False]": 0.1709238999999343, + "tests/unit/test_analytics.py::test_is_enabled_env_neg[true-true-False]": 0.12370190000001458, + "tests/unit/test_analytics.py::test_runtime_info": 0.12920549999989817, + "tests/unit/test_analytics.py::test_send": 0.10222620000013194, + "tests/unit/test_analytics.py::test_system_info": 0.004068200000119759, + "tests/unit/test_api.py::test_open_raises_error_if_no_context": 0.1751347999997961, + "tests/unit/test_api.py::test_open_rev_raises_error_on_wrong_mode": 0.18360870000014984, + "tests/unit/test_collect.py::test_collect_duplicates": 0.26829430000020693, + "tests/unit/test_compare.py::test_diff_default": 0.004596500000161541, + "tests/unit/test_compare.py::test_diff_falsey_values": 0.003511599999910686, + "tests/unit/test_compare.py::test_diff_list[composite0-[2, 3]]": 0.0037557999999080494, + "tests/unit/test_compare.py::test_diff_list[composite1-{'foo': 3, 'bar': 3}]": 0.0036715999999614723, + "tests/unit/test_compare.py::test_diff_mocked[False]": 0.00486189999992348, + "tests/unit/test_compare.py::test_diff_mocked[True]": 0.005840999999918495, + "tests/unit/test_compare.py::test_diff_new": 0.003453799999988405, + "tests/unit/test_compare.py::test_diff_old_deleted": 0.0035772999999608146, + "tests/unit/test_compare.py::test_diff_sorted": 0.003653499999700216, + "tests/unit/test_compare.py::test_diff_table[Metric]": 0.004011100000298029, + "tests/unit/test_compare.py::test_diff_table[Param]": 0.0034849999999551073, + "tests/unit/test_compare.py::test_diff_table_precision": 0.0033272000000579283, + "tests/unit/test_compare.py::test_diff_table_rounding": 0.003433800000266274, + "tests/unit/test_compare.py::test_diff_table_with_value_column": 0.0034550999998828047, + "tests/unit/test_compare.py::test_diff_unsupported_diff_message[extra0-no diff]": 0.0036456999998790707, + "tests/unit/test_compare.py::test_diff_unsupported_diff_message[extra1--]": 0.0036821000001054927, + "tests/unit/test_compare.py::test_do_not_show_changes": 0.0034590999998727057, + "tests/unit/test_compare.py::test_metrics_diff_md": 0.004767900000160807, + "tests/unit/test_compare.py::test_metrics_show_default": 0.004823699999633391, + "tests/unit/test_compare.py::test_metrics_show_markdown": 0.006294600000273931, + "tests/unit/test_compare.py::test_metrics_show_mocked[False]": 0.0048413999998047075, + "tests/unit/test_compare.py::test_metrics_show_mocked[True]": 0.0048140999999759515, + "tests/unit/test_compare.py::test_metrics_show_precision": 0.003947599999719387, + "tests/unit/test_compare.py::test_metrics_show_with_different_metrics_header": 0.0037142000003314024, + "tests/unit/test_compare.py::test_metrics_show_with_multiple_revision": 0.0037491000000500208, + "tests/unit/test_compare.py::test_metrics_show_with_no_revision": 0.003680699999904391, + "tests/unit/test_compare.py::test_metrics_show_with_non_dict_values": 0.003496899999845482, + "tests/unit/test_compare.py::test_metrics_show_with_one_revision_multiple_paths": 0.003716999999824111, + "tests/unit/test_compare.py::test_metrics_show_with_valid_falsey_values": 0.0035393000000567554, + "tests/unit/test_compare.py::test_no_path": 0.0033435000000281434, + "tests/unit/test_config.py::test_feature_section_supports_arbitrary_values": 0.005893000000014581, + "tests/unit/test_config.py::test_get_fs": 0.08485560000031, + "tests/unit/test_config.py::test_load_configob_error": 0.151444900000115, + "tests/unit/test_config.py::test_load_unicode_error": 0.20792520000009063, + "tests/unit/test_config.py::test_resolve[../cache-D:\\\\a\\\\dvc\\\\dvc\\\\cache]": 0.0039029999998092535, + "tests/unit/test_config.py::test_resolve[D:\\\\a\\\\dvc\\\\dvc-D:\\\\a\\\\dvc\\\\dvc]": 0.0036580000000867585, + "tests/unit/test_config.py::test_resolve[cache-D:\\\\a\\\\dvc\\\\dvc\\\\conf_dir\\\\cache]": 0.003570000000308937, + "tests/unit/test_config.py::test_resolve[dir/cache-D:\\\\a\\\\dvc\\\\dvc\\\\conf_dir\\\\dir\\\\cache]": 0.0036769000000731467, + "tests/unit/test_config.py::test_resolve[ssh://some/path-ssh://some/path]": 0.0035961999999472027, + "tests/unit/test_config.py::test_resolve_homedir": 0.0036099000001286186, + "tests/unit/test_config.py::test_s3_ssl_verify": 0.14650280000000748, + "tests/unit/test_config.py::test_to_relpath[..\\\\cache-../../cache]": 0.0038163999997777864, + "tests/unit/test_config.py::test_to_relpath[D:\\\\a\\\\dvc\\\\dvc-D:\\\\a\\\\dvc\\\\dvc]": 0.003559499999937543, + "tests/unit/test_config.py::test_to_relpath[cache-../cache]": 0.0038970000000517757, + "tests/unit/test_config.py::test_to_relpath[ssh://some/path-ssh://some/path]": 0.003644000000122105, + "tests/unit/test_context.py::test_clone": 0.005925200000092445, + "tests/unit/test_context.py::test_context": 0.0037342000000535336, + "tests/unit/test_context.py::test_context_dict_ignores_keys_except_str": 0.003621500000008382, + "tests/unit/test_context.py::test_context_list": 0.0036347000002479035, + "tests/unit/test_context.py::test_context_setitem_getitem": 0.004147799999827839, + "tests/unit/test_context.py::test_load_from": 0.01075610000020788, + "tests/unit/test_context.py::test_load_from_raises_if_file_is_directory": 0.12890109999989363, + "tests/unit/test_context.py::test_load_from_raises_if_file_not_exist": 0.13567880000050536, + "tests/unit/test_context.py::test_loop_context": 0.0036622000000079424, + "tests/unit/test_context.py::test_merge_dict": 0.003959100000201943, + "tests/unit/test_context.py::test_merge_list": 0.003910200000063924, + "tests/unit/test_context.py::test_node_value": 0.004252100000030623, + "tests/unit/test_context.py::test_overwrite_with_setitem": 0.003552399999989575, + "tests/unit/test_context.py::test_repr": 0.003907500000195796, + "tests/unit/test_context.py::test_resolve_resolves_boolean_value": 0.005912699999726101, + "tests/unit/test_context.py::test_resolve_resolves_dict_keys": 0.00771279999980834, + "tests/unit/test_context.py::test_select": 0.004463799999939511, + "tests/unit/test_context.py::test_select_unwrap": 0.004021400000056019, + "tests/unit/test_context.py::test_track": 0.021102499999869906, + "tests/unit/test_context.py::test_track_from_multiple_files": 0.024009399999840753, + "tests/unit/test_daemon.py::test_daemon": 0.0155182999999397, + "tests/unit/test_daemon.py::test_no_recursive_spawn": 0.010640700000067227, + "tests/unit/test_dirs.py::test_global_config_dir_respects_env_var": 0.0050538000000415195, + "tests/unit/test_dvcfile.py::test_dump_stage": 0.1760260000000926, + "tests/unit/test_dvcfile.py::test_dvcfile_encoding_error": 0.11111770000002252, + "tests/unit/test_dvcfile.py::test_pipelines_file[../models/pipelines.yml]": 0.00363799999990988, + "tests/unit/test_dvcfile.py::test_pipelines_file[custom-pipelines.yaml]": 0.003655600000229242, + "tests/unit/test_dvcfile.py::test_pipelines_file[custom-pipelines.yml]": 0.003573400000050242, + "tests/unit/test_dvcfile.py::test_pipelines_file[pipelines.yaml]": 0.004252900000210502, + "tests/unit/test_dvcfile.py::test_pipelines_file[pipelines.yml]": 0.004090399999995498, + "tests/unit/test_dvcfile.py::test_pipelines_single_stage_file[../models/stage.dvc]": 0.004619099999899845, + "tests/unit/test_dvcfile.py::test_pipelines_single_stage_file[Dvcfile]": 0.0036266999998133542, + "tests/unit/test_dvcfile.py::test_pipelines_single_stage_file[stage.dvc]": 0.00351099999966209, + "tests/unit/test_dvcfile.py::test_stage_load_file_exists_but_dvcignored[dvc.yaml]": 0.17553799999996045, + "tests/unit/test_dvcfile.py::test_stage_load_file_exists_but_dvcignored[stage.dvc]": 0.16315370000006624, + "tests/unit/test_dvcfile.py::test_stage_load_on_invalid_data[dvc.yaml]": 0.1786199000000579, + "tests/unit/test_dvcfile.py::test_stage_load_on_invalid_data[stage.dvc]": 0.17214519999970435, + "tests/unit/test_dvcfile.py::test_stage_load_on_non_file[dvc.yaml]": 0.1911176999997224, + "tests/unit/test_dvcfile.py::test_stage_load_on_non_file[stage.dvc]": 0.16595649999976558, + "tests/unit/test_dvcfile.py::test_stage_load_on_not_existing_file[False-dvc.yaml]": 0.1650908999999956, + "tests/unit/test_dvcfile.py::test_stage_load_on_not_existing_file[False-stage.dvc]": 0.17084939999972448, + "tests/unit/test_dvcfile.py::test_stage_load_on_not_existing_file[True-dvc.yaml]": 0.17394500000000335, + "tests/unit/test_dvcfile.py::test_stage_load_on_not_existing_file[True-stage.dvc]": 0.14360230000011143, + "tests/unit/test_dvcfile.py::test_try_loading_dvcfile_that_is_gitignored[dvc.yaml]": 0.16512570000008964, + "tests/unit/test_dvcfile.py::test_try_loading_dvcfile_that_is_gitignored[foo.dvc]": 0.14629939999986163, + "tests/unit/test_hashinfo.py::test_as_raw": 0.0038465999998607003, + "tests/unit/test_ignore.py::test_match_ignore_from_file[ to_ignore-patterns5-False]": 0.006561899999951493, + "tests/unit/test_ignore.py::test_match_ignore_from_file[ to_ignore-patterns6-True]": 0.007623000000194224, + "tests/unit/test_ignore.py::test_match_ignore_from_file[!to_ignore.txt-patterns10-True]": 0.007035800000039671, + "tests/unit/test_ignore.py::test_match_ignore_from_file[#to_ignore-patterns3-True]": 0.007036199999674864, + "tests/unit/test_ignore.py::test_match_ignore_from_file[#to_ignore-patterns4-False]": 0.006590999999843916, + "tests/unit/test_ignore.py::test_match_ignore_from_file[.git\\\\file.txt-patterns25-True]": 0.00703879999991841, + "tests/unit/test_ignore.py::test_match_ignore_from_file[2ile.txt-patterns32-False]": 0.006501600000092367, + "tests/unit/test_ignore.py::test_match_ignore_from_file[\\\\full\\\\path\\\\to\\\\ignore\\\\file\\\\to_ignore-patterns15-True]": 0.0076676999997289386, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\.dvc\\\\file.txt-patterns26-True]": 0.00679479999985233, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\file-patterns12-False]": 0.007175299999971685, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\file-patterns13-True]": 0.007030900000017937, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\file.txt-patterns18-True]": 0.007021999999778927, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\file.txt-patterns20-True]": 0.0077042999998866435, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\file.txt-patterns46-True]": 0.006923100000221893, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\p\\\\file.txt-patterns47-False]": 0.00848039999982575, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\path-patterns24-False]": 0.008022099999834609, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\subdir\\\\file.txt-patterns19-True]": 0.00679809999974168, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\subdir\\\\file.txt-patterns21-True]": 0.00670669999999518, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\subdir\\\\file.txt-patterns22-True]": 0.006637000000182525, + "tests/unit/test_ignore.py::test_match_ignore_from_file[data\\\\subdir\\\\file.txt-patterns23-False]": 0.006796199999826058, + "tests/unit/test_ignore.py::test_match_ignore_from_file[dont_ignore.txt-patterns1-False]": 0.007163100000070699, + "tests/unit/test_ignore.py::test_match_ignore_from_file[fi/e.txt-patterns30-False]": 0.00652780000018538, + "tests/unit/test_ignore.py::test_match_ignore_from_file[file-patterns11-True]": 0.007933799999818802, + "tests/unit/test_ignore.py::test_match_ignore_from_file[file.txt-patterns28-True]": 0.006892299999890383, + "tests/unit/test_ignore.py::test_match_ignore_from_file[file.txt-patterns29-True]": 0.0077467999999498716, + "tests/unit/test_ignore.py::test_match_ignore_from_file[file.txt-patterns31-True]": 0.006814599999870552, + "tests/unit/test_ignore.py::test_match_ignore_from_file[other\\\\data\\\\file-patterns14-False]": 0.006615400000328009, + "tests/unit/test_ignore.py::test_match_ignore_from_file[path\\\\to_ignore.txt-patterns17-False]": 0.006943200000023353, + "tests/unit/test_ignore.py::test_match_ignore_from_file[path\\\\to_ignore.txt-patterns44-False]": 0.0071652999999969325, + "tests/unit/test_ignore.py::test_match_ignore_from_file[path\\\\to_ignore.txt-patterns45-True]": 0.00705799999991541, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\p\\\\p2\\\\to_ignore-patterns33-True]": 0.007391700000198398, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\p\\\\p2\\\\to_ignore-patterns34-True]": 0.006901199999902019, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\p\\\\p2\\\\to_ignore-patterns36-True]": 0.00679960000002211, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\p\\\\p2\\\\to_ignore-patterns37-False]": 0.006791200000179742, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\p\\\\p2\\\\to_ignore-patterns40-True]": 0.006612099999983911, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\p\\\\to_ignore-patterns39-True]": 0.006811799999923096, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\path\\\\path2\\\\dont_ignore-patterns35-False]": 0.006664599999794518, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\path\\\\path2\\\\dont_ignore-patterns38-True]": 0.0074474000000464, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\path\\\\path2\\\\dont_ignore-patterns41-False]": 0.0064676999998027895, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\path\\\\path2\\\\dont_ignore-patterns42-False]": 0.007750099999611848, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\path\\\\path2\\\\to_ignore-patterns27-False]": 0.006933299999900555, + "tests/unit/test_ignore.py::test_match_ignore_from_file[rel\\\\path\\\\path2\\\\to_ignore-patterns48-False]": 0.0072572999999920285, + "tests/unit/test_ignore.py::test_match_ignore_from_file[to_ignore-patterns0-True]": 0.007687200000191297, + "tests/unit/test_ignore.py::test_match_ignore_from_file[to_ignore-patterns2-True]": 0.00741150000021662, + "tests/unit/test_ignore.py::test_match_ignore_from_file[to_ignore.txt-patterns16-True]": 0.007188699999915116, + "tests/unit/test_ignore.py::test_match_ignore_from_file[to_ignore.txt-patterns43-True]": 0.007081200000357057, + "tests/unit/test_ignore.py::test_match_ignore_from_file[to_ignore.txt-patterns7-True]": 0.006782300000168107, + "tests/unit/test_ignore.py::test_match_ignore_from_file[to_ignore.txt-patterns8-False]": 0.008190399999648434, + "tests/unit/test_ignore.py::test_match_ignore_from_file[to_ignore.txt-patterns9-True]": 0.007188999999698353, + "tests/unit/test_ignore.py::test_should_ignore_dir[.dvc-]": 0.003738300000122763, + "tests/unit/test_ignore.py::test_should_ignore_dir[.dvc-dir]": 0.0037137999997867155, + "tests/unit/test_ignore.py::test_should_ignore_dir[.git-]": 0.004464200000256824, + "tests/unit/test_ignore.py::test_should_ignore_dir[.git-dir]": 0.0037531999996645027, + "tests/unit/test_ignore.py::test_should_ignore_dir[.hg-]": 0.0037776000001485954, + "tests/unit/test_ignore.py::test_should_ignore_dir[.hg-dir]": 0.0037257000001318374, + "tests/unit/test_imports.py::test_no_remote_imports": 0.09562540000001718, + "tests/unit/test_info.py::test_caches": 0.2690287000002627, + "tests/unit/test_info.py::test_fs_info_in_repo": 0.3141158000003088, + "tests/unit/test_info.py::test_fs_info_outside_of_repo": 0.0716359000000466, + "tests/unit/test_info.py::test_info_in_broken_git_repo": 0.2816538000001856, + "tests/unit/test_info.py::test_info_in_repo[False]": 0.39633419999995567, + "tests/unit/test_info.py::test_info_in_repo[True]": 1.6630297999997765, + "tests/unit/test_info.py::test_info_in_subdir": 0.4202313000000686, + "tests/unit/test_info.py::test_info_outside_of_repo": 0.07112589999974261, + "tests/unit/test_info.py::test_plugin_versions": 0.24081580000006397, + "tests/unit/test_info.py::test_remotes": 0.32117399999992813, + "tests/unit/test_info.py::test_remotes_empty": 0.3108306999999968, + "tests/unit/test_interpolate.py::test_escape[Great shot kid, that was \\\\${value} in a ${value}-Great shot kid, that was ${value} in a value]": 0.003911600000037652, + "tests/unit/test_interpolate.py::test_escape[May the \\\\${value} be with you-May the ${value} be with you]": 0.0035144999997100967, + "tests/unit/test_interpolate.py::test_escape[Month of \\\\${value}-Month of ${value}]": 0.003654400000186797, + "tests/unit/test_interpolate.py::test_escape[\\\\${ value } days-${ value } days]": 0.0034967999997661536, + "tests/unit/test_interpolate.py::test_escape[\\\\${ value }-${ value }]": 0.003624200000103883, + "tests/unit/test_interpolate.py::test_escape[\\\\${value}-${value}]": 0.00351009999985763, + "tests/unit/test_interpolate.py::test_resolve_collection": 0.006243999999924199, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[-${ item }-item]": 0.004020400000172231, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[-${value}-value]": 0.003885999999965861, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[0_0-${ item }-item]": 0.003973599999881117, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[0_0-${value}-value]": 0.004023799999686162, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[0_1-${ item }-item]": 0.004107700000076875, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[0_1-${value}-value]": 0.003916500000059386, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[12-${ item }-item]": 0.003985800000009476, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[12-${value}-value]": 0.004028799999787225, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[123-${ item }-item]": 0.0040129999999862775, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[123-${value}-value]": 0.004017700000076729, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[3.141592653589793-${ item }-item]": 0.003979100000151448, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[3.141592653589793-${value}-value]": 0.004051200000048993, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[30000.0-${ item }-item]": 0.004006899999922098, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[30000.0-${value}-value]": 0.004021100000045408, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[False-${ item }-item]": 0.003932200000008379, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[False-${value}-value]": 0.003958599999805301, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[Foobar-${ item }-item]": 0.004025900000215188, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[Foobar-${value}-value]": 0.004651299999977709, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[None-${ item }-item]": 0.004000000000132786, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[None-${value}-value]": 0.003897699999924953, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[True-${ item }-item]": 0.0040805000001000735, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[True-${value}-value]": 0.004538399999773901, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[inf-${ item }-item]": 0.003844300000309886, + "tests/unit/test_interpolate.py::test_resolve_primitive_values[inf-${value}-value]": 0.004028599999855942, + "tests/unit/test_interpolate.py::test_resolve_primitives_dict_access": 0.005663499999855048, + "tests/unit/test_interpolate.py::test_resolve_primitives_list_access": 0.00799919999985832, + "tests/unit/test_interpolate.py::test_resolve_str": 0.004223900000170033, + "tests/unit/test_interpolate.py::test_resolve_unicode": 0.005988900000147623, + "tests/unit/test_lockfile.py::test_load_when_lockfile_does_not_exist": 0.11878550000005816, + "tests/unit/test_lockfile.py::test_load_when_lockfile_is_corrupted[corrupt_data0]": 0.11560540000004949, + "tests/unit/test_lockfile.py::test_load_when_lockfile_is_corrupted[corrupt_data1]": 0.1336421999999402, + "tests/unit/test_lockfile.py::test_load_when_lockfile_is_corrupted[corrupt_data2]": 0.12180469999998422, + "tests/unit/test_lockfile.py::test_load_when_lockfile_is_corrupted[corrupt_data3]": 0.12833260000002156, + "tests/unit/test_lockfile.py::test_stage_dump_no_outs_deps": 0.14247329999989233, + "tests/unit/test_lockfile.py::test_stage_dump_when_already_exists": 0.15514020000023265, + "tests/unit/test_lockfile.py::test_stage_dump_with_deps_and_outs": 0.14595160000021679, + "tests/unit/test_lockfile.py::test_stage_overwrites_if_already_exists": 0.14148910000017167, + "tests/unit/test_lockfile.py::test_try_loading_lockfile_that_is_gitignored[False-False]": 0.15414799999985007, + "tests/unit/test_lockfile.py::test_try_loading_lockfile_that_is_gitignored[False-True]": 0.15343560000019352, + "tests/unit/test_lockfile.py::test_try_loading_lockfile_that_is_gitignored[True-False]": 0.13935349999997015, + "tests/unit/test_lockfile.py::test_try_loading_lockfile_that_is_gitignored[True-True]": 0.14020170000003418, + "tests/unit/test_logger.py::TestColorFormatter::test_debug": 0.005059300000084477, + "tests/unit/test_logger.py::TestColorFormatter::test_error": 0.003906399999777932, + "tests/unit/test_logger.py::TestColorFormatter::test_exc_info_on_other_record_types": 0.005675999999994019, + "tests/unit/test_logger.py::TestColorFormatter::test_exception": 0.004515699999956269, + "tests/unit/test_logger.py::TestColorFormatter::test_exception_under_verbose": 0.004960199999914039, + "tests/unit/test_logger.py::TestColorFormatter::test_exception_with_description_and_message": 0.0041831000000911445, + "tests/unit/test_logger.py::TestColorFormatter::test_exception_with_description_and_without_message": 0.004184900000154812, + "tests/unit/test_logger.py::TestColorFormatter::test_info": 0.00401119999992261, + "tests/unit/test_logger.py::TestColorFormatter::test_nested_exceptions": 0.005140400000072987, + "tests/unit/test_logger.py::TestColorFormatter::test_progress_awareness": 0.005746700000145211, + "tests/unit/test_logger.py::TestColorFormatter::test_tb_only": 0.0048854000001483655, + "tests/unit/test_logger.py::TestColorFormatter::test_warning": 0.004090800000085437, + "tests/unit/test_logger.py::test_add_existing_level": 0.004684700000098019, + "tests/unit/test_logger.py::test_handlers": 0.003505800000311865, + "tests/unit/test_logger.py::test_info_with_debug_loglevel_shows_no_datetime": 0.0048177999997278675, + "tests/unit/test_logger.py::test_logging_debug_with_datetime": 0.005303899999944406, + "tests/unit/test_metrics.py::test_metrics_order": 0.2618385999999191, + "tests/unit/test_params.py::test_params_order": 0.24566819999972722, + "tests/unit/test_params.py::test_repro_unicode": 0.22142780000012863, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[ space-/dir-dir/**/space]": 0.01486069999987194, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[!include-/dir-!/dir/**/include]": 0.013259799999786992, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[#comment-/dir-#comment]": 0.016021900000168898, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[***/file.txt-/dir-dir/***/file.txt]": 0.012832699999989927, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[***file-/dir-dir/**/***file]": 0.013109799999710958, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[**/foo-/dir-dir/**/foo]": 0.013117799999918134, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[**/foo/bar-/dir-dir/**/foo/bar]": 0.01453029999993305, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[*aste*risk*-/dir-dir/**/*aste*risk*]": 0.013277600000037637, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[/***.txt-/dir-dir/***.txt]": 0.013214099999913742, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[/separator.txt-/dir-dir/separator.txt]": 0.012841600000001563, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[?fi?le?-/dir-dir/**/?fi?le?]": 0.013020799999821975, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[[a-zA-Z]file[a-zA-Z]-/dir-dir/**/[a-zA-Z]file[a-zA-Z]]": 0.01323380000008001, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[\\\\ space-/dir-dir/**/ space]": 0.013491599999724713, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[\\\\!important!.txt-/dir-dir/**/!important!.txt]": 0.013096599999926184, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[\\\\#hash-/#dir-#dir/**/#hash]": 0.016997200000105295, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[\\\\#hash-/dir-dir/**/#hash]": 0.014032099999894854, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[a/***/b-/dir-dir/a/***/b]": 0.014123800000106712, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[a/**/b-/dir-dir/a/**/b]": 0.013111100000060105, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[abc/**-/dir-dir/abc/**]": 0.013637900000276204, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[data/***-/dir-dir/data/***]": 0.012775599999940823, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[doc/fortz/-/dir-dir/doc/fortz/]": 0.016302199999927325, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[fortz/-/dir-dir/**/fortz/]": 0.013589400000000751, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[no_sep-/dir-dir/**/no_sep]": 0.01280029999998078, + "tests/unit/test_pathspec_math.py::test_dvcignore_pattern_change_dir[subdir/separator.txt-/dir-dir/subdir/separator.txt]": 0.012839100000064718, + "tests/unit/test_progress.py::test_default": 0.004811299999801122, + "tests/unit/test_progress.py::test_quiet_logging": 0.004419799999823226, + "tests/unit/test_progress.py::test_quiet_logging_disable_false": 0.004555699999855278, + "tests/unit/test_progress.py::test_quiet_notty": 0.004390899999862086, + "tests/unit/test_prompt.py::test_confirm_in_tty_if_stdin_is_closed": 0.0051822999998876185, + "tests/unit/test_run.py::test_invalid_stage_names[copy$name]": 0.003373499999725027, + "tests/unit/test_run.py::test_invalid_stage_names[copy-name?]": 0.0034620000001268636, + "tests/unit/test_run.py::test_invalid_stage_names[copy-name@v1]": 0.0033856999998533865, + "tests/unit/test_run.py::test_valid_stage_names[12]": 0.003457799999978306, + "tests/unit/test_run.py::test_valid_stage_names[copy-name]": 0.003441499999780717, + "tests/unit/test_run.py::test_valid_stage_names[copyName]": 0.003389200000128767, + "tests/unit/test_run.py::test_valid_stage_names[copy_name]": 0.003440200000113691, + "tests/unit/test_rwlock.py::test_broken_rwlock": 0.014477100000021892, + "tests/unit/test_rwlock.py::test_corrupted_rwlock[False]": 0.01603619999991679, + "tests/unit/test_rwlock.py::test_corrupted_rwlock[True]": 0.013812900000175432, + "tests/unit/test_rwlock.py::test_rwlock": 0.020905200000242985, + "tests/unit/test_rwlock.py::test_rwlock_edit_is_guarded": 0.09206210000024839, + "tests/unit/test_rwlock.py::test_rwlock_reentrant": 0.022661599999764803, + "tests/unit/test_rwlock.py::test_rwlock_subdirs": 0.023793199999772696, + "tests/unit/test_scm.py::test_resolve_rev_empty_git_repo": 0.029855400000087684, + "tests/unit/test_tabular_data.py::test_dict_like_interfaces": 0.0033276999999998225, + "tests/unit/test_tabular_data.py::test_drop": 0.0033434999998007697, + "tests/unit/test_tabular_data.py::test_drop_duplicates[cols-expected1-True]": 0.0036497000000963453, + "tests/unit/test_tabular_data.py::test_drop_duplicates[cols-expected2-False]": 0.003721400000131325, + "tests/unit/test_tabular_data.py::test_drop_duplicates[rows-expected0-True]": 0.004074500000115222, + "tests/unit/test_tabular_data.py::test_drop_duplicates_invalid_axis": 0.003273099999887563, + "tests/unit/test_tabular_data.py::test_drop_duplicates_rich_text": 0.003615700000182187, + "tests/unit/test_tabular_data.py::test_drop_duplicates_subset[cols-subset2-expected2]": 0.0037198000002263143, + "tests/unit/test_tabular_data.py::test_drop_duplicates_subset[rows-subset0-expected0]": 0.00396879999993871, + "tests/unit/test_tabular_data.py::test_drop_duplicates_subset[rows-subset1-expected1]": 0.00402999999982967, + "tests/unit/test_tabular_data.py::test_dropna[cols-all-data3-expected3]": 0.0043358999998872605, + "tests/unit/test_tabular_data.py::test_dropna[cols-any-data2-expected2]": 0.003774799999746392, + "tests/unit/test_tabular_data.py::test_dropna[rows-all-data1-expected1]": 0.0036873999997624196, + "tests/unit/test_tabular_data.py::test_dropna[rows-any-data0-expected0]": 0.0037959999999657157, + "tests/unit/test_tabular_data.py::test_dropna_invalid_axis": 0.00358570000025793, + "tests/unit/test_tabular_data.py::test_dropna_subset[cols-expected0]": 0.003985100000363673, + "tests/unit/test_tabular_data.py::test_dropna_subset[rows-expected1]": 0.003571299999975963, + "tests/unit/test_tabular_data.py::test_fill_value": 0.0044410999998945044, + "tests/unit/test_tabular_data.py::test_list_operations": 0.0036390999998729967, + "tests/unit/test_tabular_data.py::test_protected": 0.0034229999998842686, + "tests/unit/test_tabular_data.py::test_row_from_dict": 0.003386400000181311, + "tests/unit/test_tabular_data.py::test_table_empty": 0.00446330000022499, + "tests/unit/test_updater.py::test_check": 0.024595300000100906, + "tests/unit/test_updater.py::test_check_fetches_on_invalid_data_format": 0.021974799999952666, + "tests/unit/test_updater.py::test_check_refetches_each_day": 0.017732699999896795, + "tests/unit/test_updater.py::test_check_update_respect_config[False]": 0.017301200000247263, + "tests/unit/test_updater.py::test_check_update_respect_config[True]": 0.01794519999998556, + "tests/unit/test_updater.py::test_check_updates[ahead]": 0.021424599999818383, + "tests/unit/test_updater.py::test_check_updates[behind]": 0.0198830999997881, + "tests/unit/test_updater.py::test_check_updates[uptodate]": 0.019249299999728464, + "tests/unit/test_updater.py::test_fetch": 0.019140100000186067, + "tests/unit/test_updater.py::test_is_enabled[config0-True]": 0.13130560000013247, + "tests/unit/test_updater.py::test_is_enabled[config1-True]": 0.14342600000009043, + "tests/unit/test_updater.py::test_is_enabled[config2-False]": 0.13593219999984285, + "tests/unit/test_updater.py::test_notify_message[None-Find the latest release at https://github.com/iterative/dvc/releases/latest.]": 0.014024399999925663, + "tests/unit/test_updater.py::test_notify_message[binary-To upgrade, uninstall dvc and reinstall from https://dvc.org.]": 0.013217200000326557, + "tests/unit/test_updater.py::test_notify_message[brew-To upgrade, run 'brew upgrade dvc'.]": 0.013467300000229443, + "tests/unit/test_updater.py::test_notify_message[choco-To upgrade, run 'choco upgrade dvc'.]": 0.014645900000004985, + "tests/unit/test_updater.py::test_notify_message[conda-To upgrade, run 'conda update dvc'.]": 0.01598150000017995, + "tests/unit/test_updater.py::test_notify_message[deb-To upgrade, run 'apt-get install --only-upgrade dvc'.]": 0.014986099999987346, + "tests/unit/test_updater.py::test_notify_message[exe-To upgrade, uninstall dvc and reinstall from https://dvc.org.]": 0.01401350000014645, + "tests/unit/test_updater.py::test_notify_message[osxpkg-To upgrade, uninstall dvc and reinstall from https://dvc.org.]": 0.013980499999888707, + "tests/unit/test_updater.py::test_notify_message[pip-To upgrade, run 'pip install --upgrade dvc'.]": 0.015155299999833005, + "tests/unit/test_updater.py::test_notify_message[rpm-To upgrade, run 'yum update dvc'.]": 0.014036500000202068, + "tests/unit/test_updater.py::test_notify_message[unknown-Find the latest release at https://github.com/iterative/dvc/releases/latest.]": 0.01609110000003966, + "tests/unit/ui/test_console.py::test_capsys_works": 0.003642499999841675, + "tests/unit/ui/test_console.py::test_write": 0.004320600000255581, + "tests/unit/ui/test_console.py::test_write_json[False-{\"hello\": \"world\", \"date\": \"1970-01-01 00:00:00\"}\\n]": 0.004433300000073359, + "tests/unit/ui/test_console.py::test_write_json[True-{\\n \"hello\": \"world\",\\n \"date\": \"1970-01-01 00:00:00\"\\n}\\n]": 0.006361599999763712, + "tests/unit/ui/test_pager.py::test_dvc_sets_default_options_on_less_without_less_env[DVC_PAGER]": 0.004813199999944118, + "tests/unit/ui/test_pager.py::test_dvc_sets_default_options_on_less_without_less_env[None]": 0.004666300000053525, + "tests/unit/ui/test_pager.py::test_dvc_sets_default_options_on_less_without_less_env[PAGER]": 0.005321299999877738, + "tests/unit/ui/test_pager.py::test_dvc_sets_some_options_on_less_if_less_env_defined[DVC_PAGER]": 0.004765900000165857, + "tests/unit/ui/test_pager.py::test_dvc_sets_some_options_on_less_if_less_env_defined[None]": 0.004783499999803098, + "tests/unit/ui/test_pager.py::test_dvc_sets_some_options_on_less_if_less_env_defined[PAGER]": 0.005055099999935919, + "tests/unit/ui/test_pager.py::test_find_pager_fails_to_find_any_pager": 0.005119300000160365, + "tests/unit/ui/test_pager.py::test_find_pager_uses_custom_pager_when_dvc_pager_env_var_is_defined": 0.004193899999791029, + "tests/unit/ui/test_pager.py::test_find_pager_uses_custom_pager_when_pager_env_is_defined": 0.004189700000324592, + "tests/unit/ui/test_pager.py::test_find_pager_uses_default_pager_when_found": 0.004566800000020521, + "tests/unit/ui/test_pager.py::test_find_pager_when_not_isatty": 0.0042246000000432105, + "tests/unit/ui/test_pager.py::test_make_pager_when_no_pager_found": 0.003733799999963594, + "tests/unit/ui/test_pager.py::test_pager": 0.005270399999744768, + "tests/unit/ui/test_table.py::test_empty[False]": 0.003731199999947421, + "tests/unit/ui/test_table.py::test_empty[True]": 0.004219100000000253, + "tests/unit/ui/test_table.py::test_empty_markdown": 0.003875900000139154, + "tests/unit/ui/test_table.py::test_plain": 0.004061899999896923, + "tests/unit/ui/test_table.py::test_plain_headerless": 0.004709599999841885, + "tests/unit/ui/test_table.py::test_plain_md": 0.003960700000334327, + "tests/unit/ui/test_table.py::test_plain_pager": 0.004913799999940238, + "tests/unit/ui/test_table.py::test_rich_border": 0.005841400000008434, + "tests/unit/ui/test_table.py::test_rich_headerless": 0.005394500000193148, + "tests/unit/ui/test_table.py::test_rich_pager": 0.0065830999999434425, + "tests/unit/ui/test_table.py::test_rich_simple": 0.005705299999817726, + "tests/unit/ui/test_table.py::test_rich_styles[extra_opts0]": 0.006005899999991016, + "tests/unit/ui/test_table.py::test_rich_styles[extra_opts1]": 0.005567899999959991, + "tests/unit/ui/test_table.py::test_rich_styles[extra_opts2]": 0.0056007999999110325, + "tests/unit/utils/serialize/test_python.py::test_parse_invalid_types[CONSTRUCTOR = dict(a=1, b=2)]": 0.003520100000059756, + "tests/unit/utils/serialize/test_python.py::test_parse_invalid_types[SUM = 1 + 2]": 0.003734900000381458, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[BOOL = True-result0]": 0.004876599999988684, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[DICT = {'a': 1, 'b': 2}-result4]": 0.0035950000001321314, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[FLOAT = 0.001-result2]": 0.0036241000002519286, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[INT = 5-result1]": 0.0037746000002698565, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[LIST = [1, 2, 3]-result5]": 0.0043877999999040185, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[NONE = None-result8]": 0.003579800000125033, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[SET = {1, 2, 3}-result6]": 0.003589599999713755, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[STR = 'abc'-result3]": 0.003801699999939956, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[TUPLE = (10, 100)-result7]": 0.003691700000217679, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[UNARY_OP = -1-result9]": 0.003852600000300299, + "tests/unit/utils/serialize/test_python.py::test_parse_valid_types[class TrainConfig:\\n\\n EPOCHS = 70\\n\\n def __init__(self):\\n self.layers = 5\\n self.layers = 9 # TrainConfig.layers param will be 9\\n bar = 3 # Will NOT be found since it's locally scoped\\n -result10]": 0.0037390999998478947, + "tests/unit/utils/serialize/test_toml.py::test_parse_toml_for_update": 0.004269399999657253, + "tests/unit/utils/serialize/test_toml.py::test_parse_toml_type": 0.004482099999904676, + "tests/unit/utils/serialize/test_toml.py::test_preserve_comments": 0.018339500000138287, + "tests/unit/utils/serialize/test_yaml.py::test_parse_yaml_duplicate_key_error": 0.004337799999802883, + "tests/unit/utils/serialize/test_yaml.py::test_parse_yaml_invalid_unicode": 0.017577299999857132, + "tests/unit/utils/test_cli_parse.py::test_parse_params": 0.0034523000001627224, + "tests/unit/utils/test_cli_parse.py::test_to_path_overrides[params0-expected0]": 0.003620999999839114, + "tests/unit/utils/test_cli_parse.py::test_to_path_overrides[params1-expected1]": 0.0034564000004593254, + "tests/unit/utils/test_cli_parse.py::test_to_path_overrides[params2-expected2]": 0.0035394000001360837, + "tests/unit/utils/test_cli_parse.py::test_to_path_overrides[params3-expected3]": 0.003496000000041022, + "tests/unit/utils/test_cli_parse.py::test_to_path_overrides[params4-expected4]": 0.0035584000002018, + "tests/unit/utils/test_collections.py::test_apply_diff_is_inplace": 0.0033515000000079453, + "tests/unit/utils/test_collections.py::test_apply_diff_mapping": 0.003440900000214242, + "tests/unit/utils/test_collections.py::test_apply_diff_seq": 0.00329320000014377, + "tests/unit/utils/test_collections.py::test_merge_dicts[changes0-expected0]": 0.004868100000294362, + "tests/unit/utils/test_collections.py::test_merge_dicts[changes1-expected1]": 0.004610599999978149, + "tests/unit/utils/test_collections.py::test_merge_dicts[changes2-expected2]": 0.00518589999978758, + "tests/unit/utils/test_collections.py::test_merge_dicts[changes3-expected3]": 0.005508199999894714, + "tests/unit/utils/test_collections.py::test_merge_dicts[changes4-expected4]": 0.005414699999846562, + "tests/unit/utils/test_collections.py::test_merge_dicts[changes5-expected5]": 0.005224300000236326, + "tests/unit/utils/test_collections.py::test_remove_missing_keys[changes0-expected0]": 0.004527299999836032, + "tests/unit/utils/test_collections.py::test_remove_missing_keys[changes1-expected1]": 0.004726400000208741, + "tests/unit/utils/test_collections.py::test_remove_missing_keys[changes2-expected2]": 0.004119200000104684, + "tests/unit/utils/test_collections.py::test_to_omegaconf": 0.004031899999972666, + "tests/unit/utils/test_executors.py::test_cancel_futures[False-False]": 2.7464563000000908, + "tests/unit/utils/test_executors.py::test_cancel_futures[False-True]": 2.7359928000000764, + "tests/unit/utils/test_executors.py::test_cancel_futures[True-False]": 0.11289850000025581, + "tests/unit/utils/test_executors.py::test_cancel_futures[True-True]": 0.12021770000023935, + "tests/unit/utils/test_executors.py::test_cancel_on_error_context_manager": 0.21685029999980543, + "tests/unit/utils/test_fs.py::test_contains_symlink_case_sensitive_posix": 0.0011397000000670232, + "tests/unit/utils/test_fs.py::test_contains_symlink_case_sensitive_win": 0.003489700000045559, + "tests/unit/utils/test_fs.py::test_makedirs": 0.0147185000000718, + "tests/unit/utils/test_fs.py::test_path_isin_case_sensitive": 0.0033009999997375417, + "tests/unit/utils/test_fs.py::test_path_isin_on_common_substring_path": 0.003304300000309013, + "tests/unit/utils/test_fs.py::test_path_isin_on_same_path": 0.00346199999989949, + "tests/unit/utils/test_fs.py::test_path_isin_positive": 0.003388500000028216, + "tests/unit/utils/test_fs.py::test_path_isin_with_absolute_path": 0.003385500000376851, + "tests/unit/utils/test_fs.py::test_path_object_and_str_are_valid_arg_types": 0.004334300000209623, + "tests/unit/utils/test_fs.py::test_relpath_windows_different_drives": 0.0035064999999576685, + "tests/unit/utils/test_fs.py::test_remove": 0.01732960000026651, + "tests/unit/utils/test_fs.py::test_should_call_recursive_on_no_condition_matched": 0.004912599999897793, + "tests/unit/utils/test_fs.py::test_should_raise_exception_on_base_path_not_in_path": 0.0035533000000214088, + "tests/unit/utils/test_fs.py::test_should_return_false_on_no_more_dirs_below_path": 0.004458399999975882, + "tests/unit/utils/test_fs.py::test_should_return_false_on_path_eq_to_base_path": 0.0038337000000865373, + "tests/unit/utils/test_fs.py::test_should_return_false_when_base_path_is_symlink": 0.0040107999998326704, + "tests/unit/utils/test_fs.py::test_should_return_true_on_symlink_in_path": 0.00500249999981861, + "tests/unit/utils/test_humanize.py::test_get_summary": 0.003476800000271396, + "tests/unit/utils/test_humanize.py::test_truncate_text": 0.004332799999929193, + "tests/unit/utils/test_humanize.py::test_truncate_text_smaller_than_max_length[False]": 0.0036585999996532337, + "tests/unit/utils/test_humanize.py::test_truncate_text_smaller_than_max_length[True]": 0.0036007999999583262, + "tests/unit/utils/test_plots.py::test_get_plot_id": 0.0035087999999632302, + "tests/unit/utils/test_plots.py::test_group_definitions_by_id": 0.003671100000019578, + "tests/unit/utils/test_studio.py::test_config_to_env": 0.0034047000001464767, + "tests/unit/utils/test_studio.py::test_env_to_config": 0.0033028999998805375, + "tests/unit/utils/test_studio.py::test_get_repo_url[None-None]": 1.1035554000002321, + "tests/unit/utils/test_studio.py::test_get_repo_url[http://url-http://url]": 1.1347399999999652, + "tests/unit/utils/test_studio.py::test_get_repo_url[origin-git@url]": 1.0518679999997858, + "tests/unit/utils/test_studio.py::test_notify_refs[200-side_effect0]": 0.005626399999982823, + "tests/unit/utils/test_studio.py::test_notify_refs[401-side_effect1]": 0.00575210000010884, + "tests/unit/utils/test_studio.py::test_notify_refs[500-ValueError]": 0.005458200000020952, + "tests/unit/utils/test_utils.py::test_dict_sha256[d0-f472eda60f09660a4750e8b3208cf90b3a3b24e5f42e0371d829710e9464d74a]": 0.004516400000284193, + "tests/unit/utils/test_utils.py::test_dict_sha256[d1-a239b67073bd58affcdb81fff3305d1726c6e7f9c86f3d4fca0e92e8147dc7b0]": 81.51737459999981, + "tests/unit/utils/test_utils.py::test_fix_env_pyenv[/orig/path1:/orig/path2-/orig/path1:/orig/path2]": 0.0011337999999341264, + "tests/unit/utils/test_utils.py::test_fix_env_pyenv[/orig/path1:/orig/path2:/pyenv/bin:/pyenv/libexec-/orig/path1:/orig/path2:/pyenv/bin:/pyenv/libexec]": 0.0011357999997017032, + "tests/unit/utils/test_utils.py::test_fix_env_pyenv[/pyenv/bin:/pyenv/libexec:/orig/path1:/orig/path2-/orig/path1:/orig/path2]": 0.0011476000001948705, + "tests/unit/utils/test_utils.py::test_fix_env_pyenv[/pyenv/bin:/pyenv/libexec:/pyenv/plugins/plugin:/orig/path1:/orig/path2-/orig/path1:/orig/path2]": 0.0013505999997960316, + "tests/unit/utils/test_utils.py::test_fix_env_pyenv[/pyenv/bin:/some/libexec:/pyenv/plugins/plugin:/orig/path1:/orig/path2-/orig/path1:/orig/path2]": 0.0011360999999396881, + "tests/unit/utils/test_utils.py::test_hint_on_lockfile": 0.004755899999963731, + "tests/unit/utils/test_utils.py::test_parse_target[../models/stage.dvc-out4-def]": 0.004768700000113313, + "tests/unit/utils/test_utils.py::test_parse_target[../something.dvc:name-out7-None]": 0.003745400000070731, + "tests/unit/utils/test_utils.py::test_parse_target[:build2@{'level': [1, 2, 3]}-out16-None]": 0.004095799999959127, + "tests/unit/utils/test_utils.py::test_parse_target[:build@15-out11-None]": 0.0036861999999473483, + "tests/unit/utils/test_utils.py::test_parse_target[:build@{'level': 35}-out12-None]": 0.0039848999999776424, + "tests/unit/utils/test_utils.py::test_parse_target[:name-out2-None]": 0.003986399999803325, + "tests/unit/utils/test_utils.py::test_parse_target[:name-out5-default]": 0.0037832000000435073, + "tests/unit/utils/test_utils.py::test_parse_target[build2@{'level': [1, 2, 3]}-out15-None]": 0.003791099999943981, + "tests/unit/utils/test_utils.py::test_parse_target[build@15-out9-None]": 0.003646100000196384, + "tests/unit/utils/test_utils.py::test_parse_target[build@{'level': 35}-out10-None]": 0.003970599999775004, + "tests/unit/utils/test_utils.py::test_parse_target[dvc.yaml-out0-None]": 0.004136300000027404, + "tests/unit/utils/test_utils.py::test_parse_target[dvc.yaml:build2@{'level': [1, 2, 3]}-out17-None]": 0.004368599999907019, + "tests/unit/utils/test_utils.py::test_parse_target[dvc.yaml:build@15-out13-None]": 0.00391149999973095, + "tests/unit/utils/test_utils.py::test_parse_target[dvc.yaml:build@{'level': 35}-out14-None]": 0.0038666999998895335, + "tests/unit/utils/test_utils.py::test_parse_target[dvc.yaml:name-out1-None]": 0.0038415000001350563, + "tests/unit/utils/test_utils.py::test_parse_target[file-out8-None]": 0.003750200000240511, + "tests/unit/utils/test_utils.py::test_parse_target[something.dvc:name-out6-None]": 0.003912399999990157, + "tests/unit/utils/test_utils.py::test_parse_target[stage.dvc-out3-None]": 0.0037690999999995256, + "tests/unit/utils/test_utils.py::test_relpath_windows": 0.0037197999999989406, + "tests/unit/utils/test_utils.py::test_resolve_output[dir-None-False-dir]": 0.004356400000006033, + "tests/unit/utils/test_utils.py::test_resolve_output[dir-other_dir-False-other_dir]": 0.004498799999737457, + "tests/unit/utils/test_utils.py::test_resolve_output[dir-other_dir-True-other_dir\\\\dir]": 0.004664899999852423, + "tests/unit/utils/test_utils.py::test_resolve_output[dir/-None-False-dir]": 0.004348000000163665, + "tests/unit/utils/test_utils.py::test_resolve_output[target-None-False-target]": 0.004511699999738994, + "tests/unit/utils/test_utils.py::test_resolve_output[target-dir-True-dir\\\\target]": 0.00443119999999908, + "tests/unit/utils/test_utils.py::test_resolve_output[target-dir\\\\subdir-True-dir\\\\subdir\\\\target]": 0.004393299999946976, + "tests/unit/utils/test_utils.py::test_resolve_output[target-file_target-False-file_target]": 0.0044926999996732775 +} diff --git a/.github/workflows/benchmarks.yaml b/.github/workflows/benchmarks.yaml index 6d18599dc9..722e7c230c 100644 --- a/.github/workflows/benchmarks.yaml +++ b/.github/workflows/benchmarks.yaml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - uses: iterative/dvc-bench@main with: pytest_options: "-k 'test_init or test_help'" diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7fb762fb4e..2c8725b1b3 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -27,14 +27,15 @@ jobs: with: python-version: 3.12 - - run: python -m pip install --upgrade pip setuptools_scm build twine + - uses: hynek/setup-cached-uv@v2 + - run: uv pip install --upgrade setuptools_scm build twine --system - name: Force version for Test PyPI upload if: ${{ !startsWith(github.ref, 'refs/tags') }} run: echo version=$(python -m setuptools_scm | awk -F+ '{print $1}' | tail -1) >> $GITHUB_ENV - run: echo 'PKG = "pip"'>dvc/_build.py - - run: python -m build + - run: python -m build --installer=uv env: SETUPTOOLS_SCM_PRETEND_VERSION_FOR_DVC: ${{ env.version }} - run: twine check --strict dist/* diff --git a/.github/workflows/plugin_tests.yaml b/.github/workflows/plugin_tests.yaml index 2ba94e487a..7720fb0b16 100644 --- a/.github/workflows/plugin_tests.yaml +++ b/.github/workflows/plugin_tests.yaml @@ -18,8 +18,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04] - pyv: ["3.10"] + os: [ubuntu-latest] + pyv: ["3.12"] plugin: ["dvc-s3"] steps: @@ -37,16 +37,17 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.pyv }} - cache: pip + + - uses: hynek/setup-cached-uv@v2 + with: cache-dependency-path: | dvc/pyproject.toml - ${{ matrix.plugin }}/setup.cfg + ${{ matrix.plugin }}/pyproject.toml - name: Install plugin + DVC@PR run: | - pip install --upgrade pip wheel - pip install "./dvc[testing]" - pip install -e "./${{ matrix.plugin }}[tests]" + uv pip install "./dvc[testing]" --system + uv pip install -e "./${{ matrix.plugin }}[tests]" --system - name: Run plugin tests timeout-minutes: 15 diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index d26bd4faf3..cc715c735d 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -16,15 +16,68 @@ permissions: contents: read jobs: + lint: + timeout-minutes: 10 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + - uses: hynek/setup-cached-uv@v2 + with: + cache-dependency-path: pyproject.toml + - run: uv pip install -e ".[dev]" --system + env: + UV_LINK_MODE: ${{ runner.os == 'Windows' && 'symlink' || 'hardlink' }} + + - name: Cache mypy + uses: actions/cache@v4 + with: + path: .mypy_cache + key: mypy-${{ runner.os }}-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }} + - uses: pre-commit/action@v3.0.1 + tests: - timeout-minutes: 50 + timeout-minutes: 20 runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ubuntu-20.04, windows-latest, macos-latest] + os: [ubuntu-latest, macos-latest] pyv: ["3.9", "3.10", "3.11", "3.12"] - + include: + - os: windows-latest + pyv: "3.9" + pytestargs: "--splits 4 --group 1" + - os: windows-latest + pyv: "3.9" + pytestargs: "--splits 4 --group 2" + - os: windows-latest + pyv: "3.9" + pytestargs: "--splits 4 --group 3" + - os: windows-latest + pyv: "3.9" + pytestargs: "--splits 4 --group 4" + - os: windows-latest + pyv: "3.12" + pytestargs: "--splits 4 --group 1" + - os: windows-latest + pyv: "3.12" + pytestargs: "--splits 4 --group 2" + - os: windows-latest + pyv: "3.12" + pytestargs: "--splits 4 --group 3" + - os: windows-latest + pyv: "3.12" + pytestargs: "--splits 4 --group 4" steps: - uses: actions/checkout@v4 with: @@ -33,20 +86,20 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.pyv }} - cache: pip + - uses: hynek/setup-cached-uv@v2 + with: cache-dependency-path: pyproject.toml - - name: install - run: | - pip install --upgrade pip wheel - pip install -e ".[dev]" - - uses: pre-commit/action@v3.0.1 + - run: uv pip install -e ".[dev]" pytest-split --system + env: + UV_LINK_MODE: ${{ runner.os == 'Windows' && 'symlink' || 'hardlink' }} + - name: run tests timeout-minutes: 40 env: PYTHONUTF8: 1 run: > - pytest -n=logical --timeout=300 --durations=100 - --cov --cov-report=xml --cov-report=term + pytest ${{ matrix.pytestargs }} -n=logical --timeout=300 --durations=0 + --cov --cov-report=xml --cov-report=term --durations-path=./.github/.test_durations - name: upload coverage report uses: codecov/codecov-action@v3 with: diff --git a/tests/func/test_daemon.py b/tests/func/test_daemon.py index 33f024e832..8255bc1fd3 100644 --- a/tests/func/test_daemon.py +++ b/tests/func/test_daemon.py @@ -6,7 +6,7 @@ from collections import defaultdict from collections.abc import Iterator from contextlib import contextmanager, suppress -from http.server import HTTPServer, SimpleHTTPRequestHandler +from http.server import BaseHTTPRequestHandler, HTTPServer from pathlib import Path from threading import Thread from typing import ClassVar @@ -41,7 +41,7 @@ def make_request_handler(): - class RequestHandler(SimpleHTTPRequestHandler): + class RequestHandler(BaseHTTPRequestHandler): # save requests count for each method hits: ClassVar[dict[str, int]] = defaultdict(int) @@ -80,7 +80,10 @@ def server(): thread = Thread(target=httpd.serve_forever) thread.daemon = True thread.start() - yield httpd + try: + yield httpd + finally: + httpd.shutdown() def test_analytics(tmp_path, server): @@ -110,9 +113,13 @@ def test_analytics(tmp_path, server): pid = int(match.group(1).strip()) with suppress(psutil.NoSuchProcess): - psutil.Process(pid).wait(timeout=10) + psutil.Process(pid).wait(timeout=30) + + log_contents = logfile.read_text(encoding="utf8") + expected_line = (f"Process {pid} " if os.name != "nt" else "") + "exiting with 0" + assert expected_line in log_contents + assert not os.path.exists(report_file) - assert f"Process {pid} exiting with 0" in logfile.read_text(encoding="utf8") assert server.RequestHandlerClass.hits == {"POST": 1} @@ -142,7 +149,11 @@ def test_updater(tmp_dir, dvc, server): with suppress(psutil.NoSuchProcess): psutil.Process(pid).wait(timeout=10) - assert f"Process {pid} exiting with 0" in logfile.read_text(encoding="utf8") + + log_contents = logfile.read_text(encoding="utf8") + expected_line = (f"Process {pid} " if os.name != "nt" else "") + "exiting with 0" + assert expected_line in log_contents + assert server.RequestHandlerClass.hits == {"GET": 1} # check that the file is saved correctly updater_file = Path(dvc.tmp_dir) / Updater.UPDATER_FILE