Skip to content

Push on main

Push on main #1610

This check has been archived and is scheduled for deletion. Learn more about checks retention
GitHub Actions / Executor Unit Test Result [](https://github.com/microsoft/promptflow/actions/workflows/promptflow-executor-unit-test.yml?query=branch:++) succeeded Sep 10, 2023 in 0s

All 161 tests pass in 31s

    2 files      2 suites   31s ⏱️
161 tests 161 ✔️ 0 💤 0
322 runs  321 ✔️ 1 💤 0

Results for commit 0676540.

Annotations

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Executor Unit Test Result [](https://github.com/microsoft/promptflow/actions/workflows/promptflow-executor-unit-test.yml?query=branch:++)

161 tests found

There are 161 tests, see "Raw output" for the full list of tests.
Raw output
tests.executor.unittests._core.test_api_injector ‑ test_aoai_call_inject
tests.executor.unittests._core.test_api_injector ‑ test_aoai_chat_tool_prompt
tests.executor.unittests._core.test_api_injector ‑ test_aoai_generator_proxy
tests.executor.unittests._core.test_api_injector ‑ test_aoai_tool_header
tests.executor.unittests._core.test_api_injector ‑ test_availabe_openai_apis[ChatCompletion-expected_apis1]
tests.executor.unittests._core.test_api_injector ‑ test_availabe_openai_apis[Embedding-expected_apis2]
tests.executor.unittests._core.test_api_injector ‑ test_availabe_openai_apis[None-expected_apis0]
tests.executor.unittests._core.test_api_injector ‑ test_get_aoai_telemetry_headers
tests.executor.unittests._core.test_api_injector ‑ test_inject_operation_headers
tests.executor.unittests._core.test_connection_manager.TestConnectionManager ‑ test_build_connections
tests.executor.unittests._core.test_connection_manager.TestConnectionManager ‑ test_get_secret_list
tests.executor.unittests._core.test_connection_manager.TestConnectionManager ‑ test_is_secret
tests.executor.unittests._core.test_connection_manager.TestConnectionManager ‑ test_serialize
tests.executor.unittests._core.test_generator_proxy ‑ test_generate_from_proxy
tests.executor.unittests._core.test_generator_proxy ‑ test_generator_proxy_iter
tests.executor.unittests._core.test_generator_proxy ‑ test_generator_proxy_next
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_append_user_agent
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_context_dict
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_delattr
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_different_thread_have_different_instance
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_get_instance
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_get_user_agent
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_getattr
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_getattr_missing
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_run_mode[Batch-Batch]
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_run_mode[SingleNode-SingleNode]
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_run_mode[Test-Test]
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_setattr
tests.executor.unittests._core.test_operation_context.TestOperationContext ‑ test_setattr_non_primitive
tests.executor.unittests._core.test_tools_manager.TestToolLoader ‑ test_load_tool_for_node_with_invalid_node
tests.executor.unittests._core.test_tools_manager.TestToolLoader ‑ test_load_tool_for_package_node
tests.executor.unittests._core.test_tools_manager.TestToolLoader ‑ test_load_tool_for_script_node
tests.executor.unittests._utils.test_exception_utils ‑ test_infer_error_code_from_class[SystemErrorException-SystemError]
tests.executor.unittests._utils.test_exception_utils ‑ test_infer_error_code_from_class[ToolExecutionError-ToolExecutionError]
tests.executor.unittests._utils.test_exception_utils ‑ test_infer_error_code_from_class[UserErrorException-UserError]
tests.executor.unittests._utils.test_exception_utils ‑ test_infer_error_code_from_class[ValueError-ValueError]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_error_code_hierarchy[input_dict0-firstError]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_error_code_hierarchy[input_dict1-firstError]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_error_code_hierarchy[input_dict2-firstError/secondError]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_error_code_hierarchy[input_dict3-]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_error_code_hierarchy[input_dict4-]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_from_error_dict
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_from_exception
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_innermost_error_code_with_code[error_dict0-ToolExecutionError]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_innermost_error_code_with_code[error_dict1-UserError]
tests.executor.unittests._utils.test_exception_utils.TestErrorResponse ‑ test_innermost_error_code_with_code[error_dict2-None]
tests.executor.unittests._utils.test_exception_utils.TestExceptionPresenter ‑ test_debug_info
tests.executor.unittests._utils.test_exception_utils.TestExceptionPresenter ‑ test_debug_info_for_general_exception
tests.executor.unittests._utils.test_exception_utils.TestExceptionPresenter ‑ test_to_dict_for_general_exception
tests.executor.unittests._utils.test_exception_utils.TestExceptionPresenter ‑ test_to_dict_for_promptflow_exception
tests.executor.unittests._utils.test_exception_utils.TestExceptionPresenter ‑ test_to_dict_for_promptflow_exception_without_inner_exception
tests.executor.unittests._utils.test_exception_utils.TestExceptionPresenter ‑ test_to_dict_for_tool_execution_error
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_additional_info
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_additional_info_for_empty_case
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_additional_info_for_empty_inner_error
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_code_hierarchy
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_debug_info
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_inner_exception[set_inner_exception_by_parameter]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_inner_exception[set_inner_exception_by_raise_from]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex0-message--expected_message_parameters0]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex1-message--expected_message_parameters1]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex10-Tool 'my tool' execution failed due to bug-Tool '{tool_name}' execution failed due to {error}-expected_message_parameters10]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex2-message--expected_message_parameters2]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex3-message--expected_message_parameters3]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex4-Hello world-Hello world-expected_message_parameters4]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex5-Hello world-Hello {name}-expected_message_parameters5]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex6-Hello world-Hello {name}-expected_message_parameters6]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex7-Hello world-Hello {name}-expected_message_parameters7]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex8-Hello world and world-Hello {name} and {name}-expected_message_parameters8]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_message_and_format[ex9-Hello world and world-Hello {name} and {name}-expected_message_parameters9]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_reference_code
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_target_and_message[ex0-message-Tool]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_target_and_message[ex1-message-Executor]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_to_dict
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_to_dict_for_JsonSerializedPromptflowException[False]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_to_dict_for_JsonSerializedPromptflowException[True]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_to_dict_object_parameter
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_to_dict_turning_on_or_off_debug_info[False]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_to_dict_turning_on_or_off_debug_info[True]
tests.executor.unittests._utils.test_exception_utils.TestExceptions ‑ test_tool_execution_error
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestPythonLoadError ‑ test_additional_info
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestPythonLoadError ‑ test_additional_info_for_empty_inner_error
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestToolMetaUtils ‑ test_generate_tool_meta_dict_by_file[prompt_tools-summarize_text_content_prompt.jinja2-llm]
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestToolMetaUtils ‑ test_generate_tool_meta_dict_by_file[prompt_tools-summarize_text_content_prompt.jinja2-prompt]
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestToolMetaUtils ‑ test_generate_tool_meta_dict_by_file[script_with___file__-script_with___file__.py-python]
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestToolMetaUtils ‑ test_generate_tool_meta_dict_by_file[script_with_import-dummy_utils/main.py-python]
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestToolMetaUtils ‑ test_generate_tool_meta_dict_by_file_exception[prompt_tools-summarize_text_content_prompt.jinja2-python-summarize_text_content_prompt.jinja2', please make sure it is a valid .py file.]
tests.executor.unittests._utils.test_generate_tool_meta_utils.TestToolMetaUtils ‑ test_generate_tool_meta_dict_by_file_exception[script_with_import-fail.py-python-Failed to load python module from file]
tests.executor.unittests._utils.test_thread_utils.TestRepeatLogTimer ‑ test_context_manager
tests.executor.unittests.contracts.test_flow.TestFlowContract ‑ test_flow_get_connection_input_names_for_node
tests.executor.unittests.contracts.test_flow.TestFlowContract ‑ test_flow_get_connection_input_names_for_node_with_variants
tests.executor.unittests.contracts.test_flow.TestFlowContract ‑ test_flow_get_connection_names[flow_with_dict_input_with_variant-expected_connection_names1]
tests.executor.unittests.contracts.test_flow.TestFlowContract ‑ test_flow_get_connection_names[web_classification-expected_connection_names0]
tests.executor.unittests.contracts.test_flow.TestFlowContract ‑ test_flow_get_connection_names_with_package_tool
tests.executor.unittests.contracts.test_flow.TestFlowContract ‑ test_node_condition_conflict
tests.executor.unittests.executor.test_dag_manager.TestDAGManager ‑ test_complete_nodes
tests.executor.unittests.executor.test_dag_manager.TestDAGManager ‑ test_completed
tests.executor.unittests.executor.test_dag_manager.TestDAGManager ‑ test_get_bypassed_node_outputs
tests.executor.unittests.executor.test_dag_manager.TestDAGManager ‑ test_get_node_valid_inputs
tests.executor.unittests.executor.test_dag_manager.TestDAGManager ‑ test_pop_bypassed_nodes
tests.executor.unittests.executor.test_dag_manager.TestDAGManager ‑ test_pop_bypassed_nodes_with_exception
tests.executor.unittests.executor.test_dag_manager.TestDAGManager ‑ test_pop_ready_nodes
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_enable_stream_for_llm_tool[chat-True]
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_enable_stream_for_llm_tool[completion-True]
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_enable_stream_for_llm_tool[embedding-False]
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_func_with_stream_parameter_should_be_wrapped
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_func_without_stream_parameter_should_not_be_wrapped
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_inject_stream_options_no_stream_param
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_inject_stream_options_with_mocked_should_stream
tests.executor.unittests.executor.test_flow_executor.TestEnableStreamForLLMTool ‑ test_inject_stream_options_with_stream_param
tests.executor.unittests.executor.test_flow_executor.TestEnsureNodeResultIsSerializable ‑ test_non_streaming_tool_should_not_be_affected
tests.executor.unittests.executor.test_flow_executor.TestEnsureNodeResultIsSerializable ‑ test_streaming_tool_should_be_consumed_and_merged
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_aggregation_input[flow_inputs0-aggregated_flow_inputs0-aggregation_inputs0-expected_inputs0]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_aggregation_input[flow_inputs1-aggregated_flow_inputs1-aggregation_inputs1-expected_inputs1]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_aggregation_input[flow_inputs2-aggregated_flow_inputs2-aggregation_inputs2-expected_inputs2]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_aggregation_input[flow_inputs3-aggregated_flow_inputs3-aggregation_inputs3-expected_inputs3]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_aggregation_input[flow_inputs4-aggregated_flow_inputs4-aggregation_inputs4-expected_inputs4]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_input[flow_inputs0-None-expected_inputs0]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_input[flow_inputs1-inputs1-expected_inputs1]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_input[flow_inputs2-inputs2-expected_inputs2]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_default_value_for_input[flow_inputs3-inputs3-expected_inputs3]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_inputs_mapping[inputs0-inputs_mapping0-expected0]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_inputs_mapping[inputs1-inputs_mapping1-expected1]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_apply_inputs_mapping_error[inputs0-inputs_mapping0-MappingSourceNotFound-Couldn't find these mapping relations: ${baseline.output}, ${data.output}. Please make sure your input mapping keys and values match your YAML input section and input data. If a mapping value has a '${data' prefix, it might be generated from the YAML input section, and you may need to manually assign input mapping based on your input data.]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_complete_inputs_mapping_by_default_value[inputs_mapping0]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_complete_inputs_mapping_by_default_value[inputs_mapping1]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_inputs_mapping_for_all_lines_error[inputs0-None-NoneInputsMappingIsNotSupported-Inputs mapping is None.]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_merge_input_dicts_by_line[inputs0-expected0]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_merge_input_dicts_by_line[inputs1-expected1]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_merge_input_dicts_by_line_error[inputs0-EmptyInputListError-List from key 'baseline' is empty.]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_merge_input_dicts_by_line_error[inputs1-LineNumberNotAlign-Line numbers are not aligned. Some lists have dictionaries missing the 'line_number' key, and the lengths of these lists are different. List lengths: {'data': 2, 'baseline': 1}]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_aggregation_inputs_error[aggregated_flow_inputs0-aggregation_inputs0-Aggregation input input1 should be one list.]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_aggregation_inputs_error[aggregated_flow_inputs1-aggregation_inputs1-Flow aggregation input input1 should be one list.]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_aggregation_inputs_error[aggregated_flow_inputs2-aggregation_inputs2-Whole aggregation inputs should have the same length. Current key length mapping are: {'input1': 2, 'input_2': 1}]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_aggregation_inputs_error[aggregated_flow_inputs3-aggregation_inputs3-Input 'input1' appear in both flow aggregation input and aggregation input.]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_and_apply_inputs_mapping[inputs0-inputs_mapping0-expected0]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_and_apply_inputs_mapping[inputs1-inputs_mapping1-expected1]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_and_apply_inputs_mapping[inputs2-inputs_mapping2-expected2]
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_and_apply_inputs_mapping_empty_input
tests.executor.unittests.executor.test_flow_executor.TestFlowExecutor ‑ test_validate_and_apply_inputs_mapping_error[inputs_mapping0-EmptyInputAfterMapping]
tests.executor.unittests.executor.test_flow_executor.TestGetAvailableMaxWorkerCount ‑ test_get_available_max_worker_count[1024.0-128.0-64.0-1--3]
tests.executor.unittests.executor.test_flow_executor.TestGetAvailableMaxWorkerCount ‑ test_get_available_max_worker_count[1024.0-307.2-64.0-1-0]
tests.executor.unittests.executor.test_flow_executor.TestGetAvailableMaxWorkerCount ‑ test_get_available_max_worker_count[1024.0-768.0-64.0-7-7]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_nodes_order[unordered_nodes-expected_node_order0]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_nodes_order[unordered_nodes_with_activate-expected_node_order2]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_nodes_order[unordered_nodes_with_skip-expected_node_order1]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_nodes_order_with_exception[nodes_cycle-Node circular dependency has been detected among the nodes in your flow. Kindly review the reference relationships for the nodes ['first_node', 'second_node'] and resolve the circular reference issue in the flow.]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_nodes_order_with_exception[nodes_cycle_with_activate-Node circular dependency has been detected among the nodes in your flow. Kindly review the reference relationships for the nodes ['first_node', 'second_node'] and resolve the circular reference issue in the flow.]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_nodes_order_with_exception[nodes_cycle_with_skip-Node circular dependency has been detected among the nodes in your flow. Kindly review the reference relationships for the nodes ['first_node', 'second_node'] and resolve the circular reference issue in the flow.]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_nodes_order_with_exception[wrong_node_reference-Node 'second_node' references a non-existent node 'third_node' in your flow. Please review your flow to ensure that the node name is accurately specified.]
tests.executor.unittests.executor.test_flow_validator.TestFlowValidator ‑ test_ensure_outputs_valid_with_aggregation[simple_flow_with_python_tool_and_aggregate]
tests.executor.unittests.executor.test_tool_resolver.TestToolResolver ‑ test_ensure_node_inputs_type
tests.executor.unittests.executor.test_tool_resolver.TestToolResolver ‑ test_resolve_llm_connection_to_inputs
tests.executor.unittests.executor.test_tool_resolver.TestToolResolver ‑ test_resolve_tool_by_node_with_diff_type
tests.executor.unittests.executor.test_tool_resolver.TestToolResolver ‑ test_resolve_tool_by_node_with_invalid_source_type
tests.executor.unittests.executor.test_tool_resolver.TestToolResolver ‑ test_resolve_tool_by_node_with_invalid_type
tests.executor.unittests.executor.test_tool_resolver.TestToolResolver ‑ test_resolve_tool_by_node_with_no_source
tests.executor.unittests.storage.test_azureml_run_storage_v2 ‑ test_line_record
tests.executor.unittests.storage.test_azureml_run_storage_v2 ‑ test_line_serialize
tests.executor.unittests.storage.test_azureml_run_storage_v2 ‑ test_node_record
tests.executor.unittests.storage.test_azureml_run_storage_v2 ‑ test_node_serialize