Allow FlowDecorators, FlowMutators and StepMutators to add_to_package #3082
GitHub Actions / Test Results — All Backends
succeeded
Apr 28, 2026 in 0s
497 passed, 0 failed and 152 skipped
| Report | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| junit-artifacts/junit-airflow-kubernetes/junit-airflow-kubernetes.xml | 29✅ | 54⚪ | 1905s | |
| junit-artifacts/junit-argo-kubernetes/junit-argo-kubernetes.xml | 64✅ | 19⚪ | 3580s | |
| junit-artifacts/junit-local/junit-local.xml | 29✅ | 30⚪ | 287s | |
| junit-artifacts/junit-sfn-batch/junit-sfn-batch.xml | 37✅ | 46⚪ | 1997s | |
| junit-artifacts/junit-unit/junit-unit.xml | 338✅ | 3⚪ | 44s |
✅ junit-artifacts/junit-airflow-kubernetes/junit-airflow-kubernetes.xml
83 tests were completed in 1905s with 29 passed, 0 failed and 54 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| pytest | 29✅ | 54⚪ | 1905s |
✅ pytest
core.test_airflow_compilation
✅ test_linear_flow
✅ test_branch_flow
✅ test_foreach_flow
✅ test_retry_flow
✅ test_resources_flow
✅ test_schedule_flow
✅ test_tags_are_list_not_tuple
core.test_basic
✅ test_hello_world[airflow-kubernetes-runner]
⚪ test_hello_world[airflow-kubernetes-deployer]
✅ test_hello_project[airflow-kubernetes-runner]
⚪ test_hello_project[airflow-kubernetes-deployer]
⚪ test_from_deployment[airflow-kubernetes-deployer]
✅ test_retry[airflow-kubernetes-runner]
⚪ test_retry[airflow-kubernetes-deployer]
✅ test_resources[airflow-kubernetes-runner]
⚪ test_resources[airflow-kubernetes-deployer]
✅ test_catch[airflow-kubernetes-runner]
⚪ test_catch[airflow-kubernetes-deployer]
✅ test_timeout[airflow-kubernetes-runner]
⚪ test_timeout[airflow-kubernetes-deployer]
✅ test_hello_conda[airflow-kubernetes-runner]
⚪ test_hello_conda[airflow-kubernetes-deployer]
⚪ test_resources_cpu[airflow-kubernetes-deployer]
⚪ test_fail_flow_reports_failed_status[airflow-kubernetes-deployer]
⚪ test_split_in_branch_deployer[airflow-kubernetes-deployer]
⚪ test_resources_gpu[airflow-kubernetes-deployer]
core.test_compliance
⚪ test_run_params_multiple_values[airflow-kubernetes-deployer]
⚪ test_branch_propagated_to_steps[airflow-kubernetes-deployer]
⚪ test_retry_count_from_scheduler[airflow-kubernetes-deployer]
⚪ test_config_value_propagated[airflow-kubernetes-deployer]
⚪ test_nested_foreach_or_skip[airflow-kubernetes-deployer]
⚪ test_timeout_enforcement[airflow-kubernetes-deployer]
⚪ test_timeout_minutes_enforced[airflow-kubernetes-deployer]
⚪ test_run_param_not_dropped[airflow-kubernetes-deployer]
core.test_config
✅ test_config_simple_default[airflow-kubernetes-runner]
⚪ test_config_simple_default[airflow-kubernetes-deployer]
✅ test_config_simple_config_value[airflow-kubernetes-runner]
⚪ test_config_simple_config_value[airflow-kubernetes-deployer]
✅ test_config_simple_config[airflow-kubernetes-runner]
⚪ test_config_simple_config[airflow-kubernetes-deployer]
✅ test_mutable_flow_default[airflow-kubernetes-runner]
⚪ test_mutable_flow_default[airflow-kubernetes-deployer]
✅ test_mutable_flow_config_value[airflow-kubernetes-runner]
⚪ test_mutable_flow_config_value[airflow-kubernetes-deployer]
✅ test_config_corner_cases[airflow-kubernetes-runner]
⚪ test_config_corner_cases[airflow-kubernetes-deployer]
⚪ test_config_from_deployment[airflow-kubernetes-deployer]
core.test_dag
✅ test_branch[airflow-kubernetes-runner]
⚪ test_branch[airflow-kubernetes-deployer]
✅ test_foreach[airflow-kubernetes-runner]
⚪ test_foreach[airflow-kubernetes-deployer]
✅ test_multibody_foreach[airflow-kubernetes-runner]
⚪ test_multibody_foreach[airflow-kubernetes-deployer]
✅ test_retry_foreach[airflow-kubernetes-runner]
⚪ test_retry_foreach[airflow-kubernetes-deployer]
⚪ test_condition[airflow-kubernetes-runner]
⚪ test_condition[airflow-kubernetes-deployer]
✅ test_nested_foreach[airflow-kubernetes-runner]
⚪ test_nested_foreach[airflow-kubernetes-deployer]
✅ test_nested_foreach_2x2[airflow-kubernetes-runner]
⚪ test_nested_foreach_2x2[airflow-kubernetes-deployer]
⚪ test_nested_foreach_3level[airflow-kubernetes-runner]
⚪ test_nested_foreach_3level[airflow-kubernetes-deployer]
core.test_decorators
✅ test_environment_vars[airflow-kubernetes-runner]
⚪ test_environment_vars[airflow-kubernetes-deployer]
✅ test_environment_vars_foreach[airflow-kubernetes-runner]
⚪ test_environment_vars_foreach[airflow-kubernetes-deployer]
✅ test_card_basic[airflow-kubernetes-runner]
⚪ test_card_basic[airflow-kubernetes-deployer]
core.test_lifecycle
⚪ test_schedule_deploy[airflow-kubernetes-deployer]
⚪ test_deployed_flow_status[airflow-kubernetes-deployer]
core.test_resume
⚪ test_resume_hello_world[airflow-kubernetes-deployer]
⚪ test_resume_failed_flow[airflow-kubernetes-deployer]
⚪ test_resume_foreach[airflow-kubernetes-deployer]
⚪ test_resume_step_to_rerun[airflow-kubernetes-deployer]
core.test_sfn_compilation
⚪ test_linear_flow
⚪ test_branch_flow
⚪ test_foreach_flow
⚪ test_retry_flow
⚪ test_catch_flow
⚪ test_resources_flow
⚪ test_timeout_flow
⚪ test_schedule_flow
✅ junit-artifacts/junit-argo-kubernetes/junit-argo-kubernetes.xml
83 tests were completed in 3580s with 64 passed, 0 failed and 19 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| pytest | 64✅ | 19⚪ | 3580s |
✅ pytest
core.test_airflow_compilation
✅ test_linear_flow
✅ test_branch_flow
✅ test_foreach_flow
✅ test_retry_flow
✅ test_resources_flow
✅ test_schedule_flow
✅ test_tags_are_list_not_tuple
core.test_basic
✅ test_hello_project[argo-kubernetes-deployer]
✅ test_hello_world[argo-kubernetes-runner]
✅ test_hello_world[argo-kubernetes-deployer]
✅ test_from_deployment[argo-kubernetes-deployer]
✅ test_hello_project[argo-kubernetes-runner]
✅ test_retry[argo-kubernetes-runner]
✅ test_hello_conda[argo-kubernetes-runner]
✅ test_retry[argo-kubernetes-deployer]
✅ test_hello_conda[argo-kubernetes-deployer]
✅ test_resources[argo-kubernetes-runner]
✅ test_resources_cpu[argo-kubernetes-deployer]
✅ test_resources[argo-kubernetes-deployer]
✅ test_catch[argo-kubernetes-runner]
✅ test_fail_flow_reports_failed_status[argo-kubernetes-deployer]
✅ test_catch[argo-kubernetes-deployer]
✅ test_timeout[argo-kubernetes-runner]
✅ test_split_in_branch_deployer[argo-kubernetes-deployer]
⚪ test_resources_gpu[argo-kubernetes-deployer]
✅ test_timeout[argo-kubernetes-deployer]
core.test_compliance
✅ test_run_params_multiple_values[argo-kubernetes-deployer]
✅ test_branch_propagated_to_steps[argo-kubernetes-deployer]
✅ test_retry_count_from_scheduler[argo-kubernetes-deployer]
✅ test_config_value_propagated[argo-kubernetes-deployer]
✅ test_nested_foreach_or_skip[argo-kubernetes-deployer]
⚪ test_timeout_enforcement[argo-kubernetes-deployer]
⚪ test_timeout_minutes_enforced[argo-kubernetes-deployer]
✅ test_run_param_not_dropped[argo-kubernetes-deployer]
core.test_config
✅ test_config_simple_default[argo-kubernetes-runner]
✅ test_config_simple_default[argo-kubernetes-deployer]
✅ test_config_simple_config_value[argo-kubernetes-runner]
✅ test_config_simple_config_value[argo-kubernetes-deployer]
✅ test_config_simple_config[argo-kubernetes-runner]
✅ test_config_simple_config[argo-kubernetes-deployer]
✅ test_mutable_flow_default[argo-kubernetes-runner]
✅ test_mutable_flow_default[argo-kubernetes-deployer]
✅ test_mutable_flow_config_value[argo-kubernetes-runner]
✅ test_mutable_flow_config_value[argo-kubernetes-deployer]
✅ test_config_corner_cases[argo-kubernetes-runner]
✅ test_config_corner_cases[argo-kubernetes-deployer]
✅ test_config_from_deployment[argo-kubernetes-deployer]
core.test_dag
✅ test_retry_foreach[argo-kubernetes-runner]
✅ test_branch[argo-kubernetes-runner]
✅ test_branch[argo-kubernetes-deployer]
✅ test_foreach[argo-kubernetes-runner]
✅ test_foreach[argo-kubernetes-deployer]
✅ test_retry_foreach[argo-kubernetes-deployer]
⚪ test_condition[argo-kubernetes-runner]
⚪ test_condition[argo-kubernetes-deployer]
✅ test_multibody_foreach[argo-kubernetes-runner]
✅ test_nested_foreach[argo-kubernetes-runner]
✅ test_multibody_foreach[argo-kubernetes-deployer]
⚪ test_nested_foreach_3level[argo-kubernetes-deployer]
✅ test_nested_foreach[argo-kubernetes-deployer]
✅ test_nested_foreach_2x2[argo-kubernetes-runner]
✅ test_nested_foreach_2x2[argo-kubernetes-deployer]
⚪ test_nested_foreach_3level[argo-kubernetes-runner]
core.test_decorators
✅ test_environment_vars[argo-kubernetes-runner]
✅ test_environment_vars[argo-kubernetes-deployer]
✅ test_environment_vars_foreach[argo-kubernetes-runner]
✅ test_environment_vars_foreach[argo-kubernetes-deployer]
✅ test_card_basic[argo-kubernetes-runner]
✅ test_card_basic[argo-kubernetes-deployer]
core.test_lifecycle
✅ test_schedule_deploy[argo-kubernetes-deployer]
✅ test_deployed_flow_status[argo-kubernetes-deployer]
core.test_resume
⚪ test_resume_hello_world[argo-kubernetes-deployer]
⚪ test_resume_failed_flow[argo-kubernetes-deployer]
⚪ test_resume_foreach[argo-kubernetes-deployer]
⚪ test_resume_step_to_rerun[argo-kubernetes-deployer]
core.test_sfn_compilation
⚪ test_linear_flow
⚪ test_foreach_flow
⚪ test_retry_flow
⚪ test_catch_flow
⚪ test_resources_flow
⚪ test_timeout_flow
⚪ test_schedule_flow
⚪ test_branch_flow
✅ junit-artifacts/junit-local/junit-local.xml
59 tests were completed in 287s with 29 passed, 0 failed and 30 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| pytest | 29✅ | 30⚪ | 287s |
✅ pytest
core.test_basic
⚪ test_from_deployment[NOTSET]
⚪ test_fail_flow_reports_failed_status[NOTSET]
⚪ test_split_in_branch_deployer[NOTSET]
⚪ test_resources_gpu[NOTSET]
✅ test_hello_world[local-runner]
✅ test_catch[local-runner]
✅ test_hello_project[local-runner]
✅ test_timeout[local-runner]
✅ test_retry[local-runner]
✅ test_resources[local-runner]
✅ test_hello_conda[local-runner]
⚪ test_resources_cpu[NOTSET]
core.test_airflow_compilation
✅ test_linear_flow
✅ test_tags_are_list_not_tuple
✅ test_retry_flow
✅ test_branch_flow
✅ test_resources_flow
✅ test_foreach_flow
✅ test_schedule_flow
core.test_compliance
⚪ test_run_params_multiple_values[NOTSET]
⚪ test_branch_propagated_to_steps[NOTSET]
⚪ test_retry_count_from_scheduler[NOTSET]
⚪ test_config_value_propagated[NOTSET]
⚪ test_nested_foreach_or_skip[NOTSET]
⚪ test_timeout_enforcement[NOTSET]
⚪ test_timeout_minutes_enforced[NOTSET]
⚪ test_run_param_not_dropped[NOTSET]
core.test_config
✅ test_config_simple_default[local-runner]
✅ test_config_simple_config_value[local-runner]
✅ test_config_simple_config[local-runner]
✅ test_mutable_flow_config_value[local-runner]
✅ test_mutable_flow_default[local-runner]
⚪ test_config_from_deployment[NOTSET]
✅ test_config_corner_cases[local-runner]
core.test_dag
✅ test_branch[local-runner]
⚪ test_condition[local-runner]
✅ test_foreach[local-runner]
✅ test_nested_foreach[local-runner]
✅ test_retry_foreach[local-runner]
⚪ test_nested_foreach_3level[local-runner]
✅ test_multibody_foreach[local-runner]
✅ test_nested_foreach_2x2[local-runner]
core.test_lifecycle
⚪ test_deployed_flow_status[NOTSET]
⚪ test_schedule_deploy[NOTSET]
core.test_resume
⚪ test_resume_hello_world[NOTSET]
⚪ test_resume_failed_flow[NOTSET]
⚪ test_resume_foreach[NOTSET]
⚪ test_resume_step_to_rerun[NOTSET]
core.test_decorators
✅ test_card_basic[local-runner]
✅ test_environment_vars[local-runner]
✅ test_environment_vars_foreach[local-runner]
core.test_sfn_compilation
⚪ test_linear_flow
⚪ test_branch_flow
⚪ test_foreach_flow
⚪ test_catch_flow
⚪ test_retry_flow
⚪ test_timeout_flow
⚪ test_resources_flow
⚪ test_schedule_flow
✅ junit-artifacts/junit-sfn-batch/junit-sfn-batch.xml
83 tests were completed in 1997s with 37 passed, 0 failed and 46 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| pytest | 37✅ | 46⚪ | 1997s |
✅ pytest
core.test_airflow_compilation
✅ test_linear_flow
✅ test_branch_flow
✅ test_foreach_flow
✅ test_retry_flow
✅ test_resources_flow
✅ test_schedule_flow
✅ test_tags_are_list_not_tuple
core.test_basic
⚪ test_hello_project[sfn-batch-deployer]
⚪ test_from_deployment[sfn-batch-deployer]
✅ test_hello_world[sfn-batch-runner]
⚪ test_hello_world[sfn-batch-deployer]
✅ test_hello_project[sfn-batch-runner]
✅ test_retry[sfn-batch-runner]
⚪ test_retry[sfn-batch-deployer]
✅ test_resources[sfn-batch-runner]
⚪ test_resources[sfn-batch-deployer]
✅ test_catch[sfn-batch-runner]
⚪ test_catch[sfn-batch-deployer]
✅ test_hello_conda[sfn-batch-runner]
⚪ test_hello_conda[sfn-batch-deployer]
⚪ test_resources_cpu[sfn-batch-deployer]
⚪ test_fail_flow_reports_failed_status[sfn-batch-deployer]
⚪ test_split_in_branch_deployer[sfn-batch-deployer]
⚪ test_resources_gpu[sfn-batch-deployer]
✅ test_timeout[sfn-batch-runner]
⚪ test_timeout[sfn-batch-deployer]
core.test_compliance
⚪ test_run_params_multiple_values[sfn-batch-deployer]
⚪ test_branch_propagated_to_steps[sfn-batch-deployer]
⚪ test_retry_count_from_scheduler[sfn-batch-deployer]
⚪ test_config_value_propagated[sfn-batch-deployer]
⚪ test_nested_foreach_or_skip[sfn-batch-deployer]
⚪ test_timeout_enforcement[sfn-batch-deployer]
⚪ test_timeout_minutes_enforced[sfn-batch-deployer]
⚪ test_run_param_not_dropped[sfn-batch-deployer]
core.test_config
⚪ test_config_corner_cases[sfn-batch-deployer]
⚪ test_config_from_deployment[sfn-batch-deployer]
✅ test_config_simple_default[sfn-batch-runner]
⚪ test_config_simple_default[sfn-batch-deployer]
✅ test_config_simple_config_value[sfn-batch-runner]
⚪ test_config_simple_config_value[sfn-batch-deployer]
✅ test_config_simple_config[sfn-batch-runner]
⚪ test_config_simple_config[sfn-batch-deployer]
✅ test_mutable_flow_default[sfn-batch-runner]
⚪ test_mutable_flow_default[sfn-batch-deployer]
✅ test_mutable_flow_config_value[sfn-batch-runner]
⚪ test_mutable_flow_config_value[sfn-batch-deployer]
✅ test_config_corner_cases[sfn-batch-runner]
core.test_dag
✅ test_branch[sfn-batch-runner]
⚪ test_branch[sfn-batch-deployer]
✅ test_foreach[sfn-batch-runner]
⚪ test_foreach[sfn-batch-deployer]
⚪ test_nested_foreach[sfn-batch-deployer]
✅ test_multibody_foreach[sfn-batch-runner]
⚪ test_multibody_foreach[sfn-batch-deployer]
✅ test_nested_foreach_2x2[sfn-batch-runner]
⚪ test_nested_foreach_2x2[sfn-batch-deployer]
⚪ test_nested_foreach_3level[sfn-batch-runner]
⚪ test_nested_foreach_3level[sfn-batch-deployer]
✅ test_retry_foreach[sfn-batch-runner]
⚪ test_retry_foreach[sfn-batch-deployer]
⚪ test_condition[sfn-batch-runner]
⚪ test_condition[sfn-batch-deployer]
✅ test_nested_foreach[sfn-batch-runner]
core.test_decorators
✅ test_environment_vars[sfn-batch-runner]
⚪ test_environment_vars[sfn-batch-deployer]
✅ test_environment_vars_foreach[sfn-batch-runner]
⚪ test_environment_vars_foreach[sfn-batch-deployer]
✅ test_card_basic[sfn-batch-runner]
⚪ test_card_basic[sfn-batch-deployer]
core.test_lifecycle
⚪ test_deployed_flow_status[sfn-batch-deployer]
✅ test_schedule_deploy[sfn-batch-deployer]
core.test_resume
⚪ test_resume_hello_world[sfn-batch-deployer]
⚪ test_resume_failed_flow[sfn-batch-deployer]
⚪ test_resume_foreach[sfn-batch-deployer]
⚪ test_resume_step_to_rerun[sfn-batch-deployer]
core.test_sfn_compilation
✅ test_linear_flow
⚪ test_branch_flow
✅ test_foreach_flow
✅ test_retry_flow
✅ test_catch_flow
✅ test_resources_flow
✅ test_timeout_flow
✅ test_schedule_flow
✅ junit-artifacts/junit-unit/junit-unit.xml
341 tests were completed in 44s with 338 passed, 0 failed and 3 skipped.
| Test suite | Passed | Failed | Skipped | Time |
|---|---|---|---|---|
| pytest | 338✅ | 3⚪ | 44s |
✅ pytest
test.unit.configs.test_config_naming.TestConfigNaming
✅ test_flow_completes
✅ test_config_with_underscore
✅ test_config_with_dash
✅ test_config_with_mixed_naming
test.unit.configs.test_config_plain.TestConfigPlain
✅ test_flow_completes
✅ test_plain_string_without_parser
✅ test_plain_list_with_parser
✅ test_plain_tuple_with_parser
test.unit.inheritance.test_inheritance.TestComprehensiveLinear
✅ test_flow_completes
✅ test_all_parameters_accessible
✅ test_all_configs_accessible
✅ test_computation_with_configs
test.unit.inheritance.test_inheritance.TestMutatorWithBaseConfig
✅ test_flow_completes
✅ test_base_parameters_accessible
✅ test_base_config_accessible
✅ test_mutator_injects_from_base_config
✅ test_computation_with_injected_params
test.unit.inheritance.test_inheritance.TestMutatorWithDerivedConfig
✅ test_flow_completes
✅ test_all_parameters_accessible
✅ test_all_configs_accessible
✅ test_base_mutator_uses_derived_config
✅ test_computation_with_forward_injected_params
test.unit.inheritance.test_inheritance.TestComprehensiveDiamond
✅ test_flow_completes
✅ test_parameters_from_all_branches
✅ test_configs_from_all_branches
✅ test_mro_resolution
✅ test_computation_across_branches
test.unit.inheritance.test_inheritance.TestComprehensiveMultiHierarchy
✅ test_flow_completes
✅ test_parameters_from_first_hierarchy
✅ test_parameters_from_second_hierarchy
✅ test_merge_point_parameters
✅ test_configs_from_both_hierarchies
✅ test_step_override_from_merge_point
✅ test_cross_hierarchy_computation
✅ test_mutator_from_first_hierarchy_executes
✅ test_decorated_step_from_first_hierarchy
test.unit.inheritance.test_inheritance.TestInheritanceIntegration
✅ test_all_flows_complete_successfully[comprehensive_linear_run]
✅ test_all_flows_complete_successfully[mutator_with_base_config_run]
✅ test_all_flows_complete_successfully[mutator_with_derived_config_run]
✅ test_all_flows_complete_successfully[comprehensive_diamond_run]
✅ test_all_flows_complete_successfully[comprehensive_multi_hierarchy_run]
✅ test_expected_steps_present[comprehensive_linear_run-expected_steps0]
✅ test_expected_steps_present[mutator_with_base_config_run-expected_steps1]
✅ test_expected_steps_present[mutator_with_derived_config_run-expected_steps2]
✅ test_expected_steps_present[comprehensive_diamond_run-expected_steps3]
✅ test_expected_steps_present[comprehensive_multi_hierarchy_run-expected_steps4]
test.unit.localbatch.test_localbatch.TestBatchAPI
✅ test_health
✅ test_describe_queues_returns_default
✅ test_default_queue_is_healthy
✅ test_describe_compute_environments
✅ test_register_job_definition
✅ test_revision_increments_on_re_register
✅ test_describe_job_definitions_by_name
✅ test_submit_job_returns_id_and_name
✅ test_job_reaches_terminal_state
✅ test_describe_jobs_returns_correct_shape
✅ test_terminate_job_transitions_to_failed
✅ test_list_jobs_returns_summary_list
✅ test_ecs_metadata_endpoint
test.unit.localbatch.test_localbatch.TestDockerExecution
✅ test_successful_container
✅ test_failed_container_reports_exit_code
✅ test_inject_env_is_visible_inside_container
test.unit.localbatch.test_localbatch.TestMetaflowE2E
⚪ test_batch_step_artifacts_are_persisted
⚪ test_run_succeeds
⚪ test_all_steps_have_tasks
test.unit.mutators.test_add_decorator_returns.TestAddDecoratorReturns
✅ test_flow_completes
✅ test_returned_decorator_is_not_none
✅ test_returned_decorator_has_name
✅ test_decorator_was_applied
✅ test_duplicate_ignore_returns_none
✅ test_duplicate_was_not_applied
test.unit.mutators.test_dual_inheritance.TestDualInheritance
✅ test_flow_completes
✅ test_pre_mutate_ran
✅ test_mutate_ran
✅ test_pre_step_ran
✅ test_post_step_ran
test.unit.mutators.test_flow_mutator_addition.TestDynamicFlowMutatorAddition
✅ test_flow_completes
✅ test_inner_pre_mutate_ran
✅ test_inner_mutate_ran
test.unit.mutators.test_flow_mutator_addition.TestStringFlowMutatorAddition
✅ test_flow_completes
✅ test_string_mutator_pre_mutate_ran
✅ test_string_mutator_mutate_ran
test.unit.mutators.test_post_step_none_false.TestPostStepNoneFalse
✅ test_flow_completes
✅ test_pre_step_ran
✅ test_post_step_ran
test.unit.mutators.test_remove_decorator_guard.TestRemoveDecoratorGuard
✅ test_do_all_from_mutate_raises
✅ test_specific_match_from_mutate_raises
✅ test_do_all_from_pre_mutate_succeeds
test.unit.mutators.test_string_step_mutator.TestStringStepMutatorAddition
✅ test_flow_completes
✅ test_string_step_mutator_ran
test.unit.test_add_to_package
✅ test_flow_decorator_add_to_package
✅ test_flow_mutator_add_to_package_module
✅ test_step_mutator_deduplicated_across_steps
✅ test_step_mutator_distinct_instances
✅ test_legacy_two_tuple_defaults_to_code_content
✅ test_non_unique_filename_raises
✅ test_module_content_deduplicated
✅ test_other_content_type
✅ test_ordering_flow_decorators_before_step_decorators
✅ test_user_content_recorded
✅ test_user_content_duplicate_same_path_dedup
✅ test_user_content_duplicate_different_path_raises
✅ test_user_code_tuples_emits_addl_user_content_not_in_walker
✅ test_user_code_tuples_skips_addl_when_walker_already_has_it
✅ test_user_code_tuples_respects_user_code_filter
✅ test_integration_add_addl_then_user_code_tuples_dedupes_by_arcname
✅ test_integration_add_addl_contributes_file_outside_flow_dir
test.unit.test_argo_workflows_cli
✅ test_sanitize_for_argo[a-valid-name-a-valid-name]
✅ test_sanitize_for_argo[removing---@+_characters@_+-removing---characters]
✅ test_sanitize_for_argo[numb3rs-4r3-0k-123-numb3rs-4r3-0k-123]
✅ test_sanitize_for_argo[proj3ct.br4nch.flow_name-proj3ct.br4nch.flowname]
✅ test_sanitize_for_argo[---1breaking1---.--2subdomain2--.-3rules3-----1breaking1.2subdomain2.3rules3----]
✅ test_sanitize_for_argo[1brea---king1.2sub---domain2.-3ru-les3---1brea---king1.2sub---domain2.3ru-les3--]
✅ test_sanitize_for_argo[project.branch-cut-short-.flowname-project.branch-cut-short.flowname]
✅ test_sanitize_for_argo[test...name-test.name]
✅ test_get_schedule_no_decorator_returns_none
✅ test_get_schedule[schedule_none]
✅ test_get_schedule[schedule_none_with_timezone]
✅ test_get_schedule[cron_expression]
✅ test_get_schedule[cron_expression_with_timezone]
✅ test_trigger_explanation_no_schedule_does_not_claim_cronworkflow
✅ test_trigger_explanation_schedule_none_does_not_claim_cronworkflow
✅ test_trigger_explanation_active_schedule_claims_cronworkflow
test.unit.test_aws_util
✅ test_validate_aws_tag[test-value-False]
✅ test_validate_aws_tag[test-with@chars+ - = ._/-value@with.chars-+ - = ._/-False]
✅ test_validate_aws_tag[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-ok-False]
✅ test_validate_aws_tag[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-ok-True]
✅ test_validate_aws_tag[ok-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-False]
✅ test_validate_aws_tag[ok-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-True]
✅ test_validate_aws_tag[aWs:not-allowed-ok-True]
✅ test_validate_aws_tag[ok-AWS:not-allowed-True]
✅ test_validate_aws_tag[ok-aws:-middleaWs:not-allowed-False]
test.unit.test_compute_resource_attributes
✅ test_compute_resource_attributes
✅ test_compute_resource_attributes_string
test.unit.test_conda_decorator
✅ test_decorator_custom_attributes
✅ test_decorator_custom_attributes_with_backward_compatibility
test.unit.test_config_value
✅ test_isinstance
✅ test_todict
✅ test_container_has_config_value
✅ test_non_modifiable
✅ test_json_dumpable
✅ test_dict_like_behavior
test.unit.test_content_addressed_store
✅ test_load_blobs_error_message_uses_current_path_key[missing_version]
✅ test_load_blobs_error_message_uses_current_path_key[unknown_version]
✅ test_load_blobs_error_message_uses_current_path_key[unpack_failure]
test.unit.test_kubernetes
✅ test_kubernetes_decorator_validate_kube_labels[None]
✅ test_kubernetes_decorator_validate_kube_labels[labels1]
✅ test_kubernetes_decorator_validate_kube_labels[labels2]
✅ test_kubernetes_decorator_validate_kube_labels[labels3]
✅ test_kubernetes_decorator_validate_kube_labels[labels4]
✅ test_kubernetes_decorator_validate_kube_labels[labels5]
✅ test_kubernetes_decorator_validate_kube_labels[labels6]
✅ test_kubernetes_decorator_validate_kube_labels[labels7]
✅ test_kubernetes_decorator_validate_kube_labels_fail[labels0]
✅ test_kubernetes_decorator_validate_kube_labels_fail[labels1]
✅ test_kubernetes_decorator_validate_kube_labels_fail[labels2]
✅ test_kubernetes_decorator_validate_kube_labels_fail[labels3]
✅ test_kubernetes_decorator_validate_kube_labels_fail[labels4]
✅ test_kubernetes_decorator_validate_kube_labels_fail[labels5]
✅ test_kubernetes_parse_keyvalue_list[items0-True]
✅ test_kubernetes_parse_keyvalue_list[items1-True]
test.unit.test_local_metadata_provider
✅ test_deduce_run_id_from_meta_dir
test.unit.test_metaflow_version
✅ test_format_git_describe_parses_known_shapes[2.19.22-0-g4ff334e-False-2.19.22]
✅ test_format_git_describe_parses_known_shapes[2.19.22-0-g4ff334e-True-2.19.22]
✅ test_format_git_describe_parses_known_shapes[2.19.22-5-g4ff334e-False-2.19.22.post5-git4ff334e]
✅ test_format_git_describe_parses_known_shapes[2.19.22-5-g4ff334e-True-2.19.22.post5]
✅ test_format_git_describe_parses_known_shapes[2.19.22-5-g4ff334e-dirty-False-2.19.22.post5-git4ff334e-dirty]
✅ test_format_git_describe_parses_known_shapes[2.19.22-0-g4ff334e-dirty-False-2.19.22-dirty]
✅ test_format_git_describe_parses_known_shapes[v1.0-rc.1-0-gabcdef0-False-v1.0-rc.1]
✅ test_format_git_describe_parses_known_shapes[v1.0-rc.1-12-gabcdef0-False-v1.0-rc.1.post12-gitabcdef0]
✅ test_format_git_describe_parses_known_shapes[v1.0-rc.1-12-gabcdef0-True-v1.0-rc.1.post12]
✅ test_format_git_describe_parses_known_shapes[v1.0-rc.1-12-gabcdef0-dirty-False-v1.0-rc.1.post12-gitabcdef0-dirty]
✅ test_format_git_describe_parses_known_shapes[v9.2.97-rc.15-100-g3a13f86-dirty-False-v9.2.97-rc.15.post100-git3a13f86-dirty]
✅ test_format_git_describe_returns_none_for_unparseable[None]
✅ test_format_git_describe_returns_none_for_unparseable[short]
✅ test_format_git_describe_returns_none_for_unparseable[a-b]
✅ test_format_git_describe_returns_none_for_unparseable[a-b-dirty]
✅ test_make_public_version_strips_only_private_suffixes[2.19.22-2.19.22]
✅ test_make_public_version_strips_only_private_suffixes[2.19.22.post5-git4ff334e-2.19.22.post5]
✅ test_make_public_version_strips_only_private_suffixes[2.19.22.post5-git4ff334e-dirty-2.19.22.post5]
✅ test_make_public_version_strips_only_private_suffixes[v1.0-rc.1-v1.0-rc.1]
✅ test_make_public_version_strips_only_private_suffixes[v1.0-rc.1.post12-gitabcdef0-v1.0-rc.1.post12]
✅ test_make_public_version_strips_only_private_suffixes[v1.0-rc.1.post12-gitabcdef0-dirty-v1.0-rc.1.post12]
✅ test_make_public_version_strips_only_private_suffixes[v1.0-rc.1.post12-gitabcdef0+ext(foo)-v1.0-rc.1.post12]
✅ test_get_version_public_from_info_preserves_dashed_tags
test.unit.test_multicore_utils
✅ test_parallel_map
test.unit.test_package_suffixes_mutator
✅ test_init_list_form
✅ test_init_string_form
✅ test_add_to_package_yields_matching_files
✅ test_add_to_package_empty_suffixes_yields_nothing
test.unit.test_packaging_utils
✅ test_walk_includes_files_when_hidden_dir_is_ancestor_of_root
✅ test_walk_excludes_hidden_dirs_under_root
test.unit.test_pypi_decorator
✅ test_decorator_custom_attributes
test.unit.test_pypi_parsers
✅ test_yml_parser
✅ test_requirements_parser
✅ test_toml_parser
test.unit.test_remove_decorator
✅ test_remove_decorator
test.unit.test_s3_storage
✅ test_save_bytes_put_many_preserves_metadata_slot
✅ test_save_bytes_sequential_preserves_metadata
test.unit.test_secrets_decorator
✅ test_missing_default_secrets_backend_type
✅ test_secret_spec_from_str_explicit_type
✅ test_secret_spec_from_str_implicit_type
✅ test_secret_spec_from_dict_explicit_type_no_options
✅ test_secret_spec_from_dict_implicit_type_with_options
✅ test_role_resolution_source_level_wins
✅ test_role_resolution_falls_back_to_decorator_level
✅ test_secret_spec_from_dict_rejects_invalid[bad_type]
✅ test_secret_spec_from_dict_rejects_invalid[bad_id]
✅ test_secret_spec_from_dict_rejects_invalid[bad_options]
✅ test_secret_spec_from_dict_rejects_invalid[bad_role]
✅ test_secrets_provider_resolution_unknown_backend
✅ test_validate_env_vars_across_secrets_rejects_overlap
✅ test_validate_env_vars_vs_existing_env_rejects_collision
✅ test_validate_env_vars_accepts_typical_keys
✅ test_validate_env_vars_rejects_mistyped_keys[1]
✅ test_validate_env_vars_rejects_mistyped_keys[bad_key1]
✅ test_validate_env_vars_rejects_mistyped_keys[old_school]
✅ test_validate_env_vars_rejects_mistyped_values[1]
✅ test_validate_env_vars_rejects_mistyped_values[bad_value1]
✅ test_validate_env_vars_rejects_mistyped_values[old_school]
✅ test_validate_env_vars_rejects_weird_keys[1_]
✅ test_validate_env_vars_rejects_weird_keys[hello world]
✅ test_validate_env_vars_rejects_weird_keys[hey_arnold!]
✅ test_validate_env_vars_rejects_weird_keys[I_\u2665_NY]
✅ test_validate_env_vars_rejects_weird_keys[door-]
✅ test_validate_env_vars_rejects_weird_keys[METAFLOW_SOMETHING_OR_OTHER]
test.unit.test_system_context
✅ test_execution_phase_enum_values
✅ test_phase_from_cli_args_none
✅ test_phase_from_cli_args_empty
✅ test_phase_from_cli_args_run_is_launch
✅ test_phase_from_cli_args_resume_is_launch
✅ test_phase_from_cli_args_step_is_task
✅ test_phase_from_cli_args_init_is_task
✅ test_phase_from_cli_args_spin_step_is_task
✅ test_phase_from_cli_args_batch_is_trampoline
✅ test_phase_from_cli_args_kubernetes_is_trampoline
✅ test_phase_from_cli_args_deployment_is_launch
✅ test_phase_from_cli_args_unknown_is_launch
✅ test_system_context_launch_phase_queries
✅ test_system_context_trampoline_phase_queries
✅ test_system_context_task_phase_queries
✅ test_system_context_initial_values_are_none
✅ test_system_context_progressive_update
✅ test_system_context_update_overwrites
✅ test_system_context_update_invalid_key_raises
✅ test_system_context_reset
✅ test_system_context_input_paths_initial_none
✅ test_system_context_input_paths_update
✅ test_decorator_system_ctx_property
✅ test_step_decorator_system_ctx_property
✅ test_flow_decorator_system_ctx_property
✅ test_step_decorator_ctx_variants_are_none
✅ test_flow_decorator_ctx_variant_is_none
✅ test_step_init_ctx_override
✅ test_task_step_completed_ctx_override_success
✅ test_task_step_completed_ctx_handles_exception
✅ test_task_decorate_ctx_override
✅ test_flow_init_ctx_override
✅ test_legacy_hook_still_works
✅ test_shared_state_publish_and_get
✅ test_shared_state_get_missing_namespace
✅ test_shared_state_get_missing_key
✅ test_shared_state_get_default
✅ test_shared_state_has_published_namespace
✅ test_shared_state_has_published_key
✅ test_shared_state_get_all_published
✅ test_shared_state_get_all_published_missing
✅ test_shared_state_overwrite_published
✅ test_shared_state_multiple_namespaces
✅ test_step_isolation_shared_state
✅ test_registration_register_and_get_step_decorators
✅ test_registration_get_step_decorators_missing_step
✅ test_registration_reset_clears_shared_and_decorators
test.unit.test_tutorial_01_02_csv_parsing
✅ test_playlist_csv_parsing
✅ test_stats_csv_parsing
test.cmd.develop.test_stub_generator.TestStubGenerator
✅ test_get_element_name_basic_types
✅ test_get_element_name_class_objects
✅ test_get_element_name_generic_alias_with_class_objects
✅ test_get_element_name_nested_generics
✅ test_get_element_name_callable_with_class_args
✅ test_get_element_name_forward_references
✅ test_get_element_name_string_annotations
✅ test_get_element_name_self_reference
✅ test_function_stub_generation
✅ test_class_stub_generation
✅ test_exploit_annotation_method
✅ test_imports_and_typing_imports
✅ test_safe_module_aliasing
✅ test_get_element_name_union_types
✅ test_get_element_name_tuple_types
✅ test_get_element_name_tuple_with_ellipsis
✅ test_get_element_name_callable_with_ellipsis
✅ test_get_element_name_newtype
✅ test_get_element_name_classvar
✅ test_get_element_name_final
✅ test_get_element_name_literal
✅ test_get_element_name_deeply_nested
✅ test_get_element_name_error_handling_none_module
✅ test_get_element_name_error_handling_eval_failure
✅ test_get_element_name_generic_origin_without_name
✅ test_get_element_name_builtin_collections
✅ test_get_element_name_type_with_special_chars
✅ test_get_element_name_nested_classes
✅ test_generator_state_isolation
✅ test_get_element_name_nonetype_handling
test.cmd.develop.test_stub_generator
✅ test_class_objects_in_generic_types_no_leakage
test.cmd.diff.test_metaflow_diff.TestMetaflowDiff
✅ test_extract_code_package
✅ test_perform_diff_output_false[True]
✅ test_perform_diff_output_false[False]
✅ test_perform_diff_output_true
✅ test_run_op
✅ test_op_patch
test.plugins.conda.test_conda_decorator_unit.TestCondaStepDecorator
✅ test_default_attributes
✅ test_user_defined_python
✅ test_user_defined_packages
✅ test_libraries_backward_compat
✅ test_disabled_flag
✅ test_packages_and_libraries_merged
test.plugins.conda.test_conda_environment_unit.TestManifestConcurrentWrites
✅ test_concurrent_writes_no_corruption
test.plugins.conda.test_conda_environment_unit.TestCleanupCondaFile
✅ test_cleanup_temp_file
✅ test_cleanup_nonexistent_file_no_error
test.plugins.conda.test_parsers.TestRequirementsTxtParser
✅ test_simple_package
✅ test_multiple_packages
✅ test_python_version
✅ test_comments_and_blank_lines
✅ test_inline_comments
✅ test_extras
✅ test_direct_reference
✅ test_environment_markers_rejected
✅ test_invalid_requirement
✅ test_multiple_python_specs_rejected
✅ test_empty_content
✅ test_rye_lockfile_skip
test.plugins.conda.test_parsers.TestCondaEnvironmentYmlParser
✅ test_simple_deps
✅ test_python_version
✅ test_no_version
✅ test_comments_skipped
✅ test_subsection_rejected
✅ test_inline_comments
✅ test_empty_deps
✅ test_double_equals
Loading