@cucumber/cucumber 12.9.0 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/bin/cucumber.js +2 -1
- package/lib/api/convert_configuration.d.ts +3 -4
- package/lib/api/convert_configuration.js +9 -11
- package/lib/api/emit_support_code_messages.d.ts +3 -3
- package/lib/api/emit_support_code_messages.js +16 -65
- package/lib/api/formatters.d.ts +7 -7
- package/lib/api/formatters.js +5 -2
- package/lib/api/gherkin.d.ts +3 -3
- package/lib/api/gherkin.js +2 -4
- package/lib/api/index.d.ts +2 -2
- package/lib/api/index.js +1 -1
- package/lib/api/load_configuration.d.ts +2 -2
- package/lib/api/load_configuration.js +4 -5
- package/lib/api/load_sources.d.ts +2 -2
- package/lib/api/load_sources.js +2 -2
- package/lib/api/load_support.d.ts +2 -2
- package/lib/api/load_support.js +3 -3
- package/lib/api/plugins.d.ts +2 -2
- package/lib/api/plugins.js +2 -2
- package/lib/api/run_cucumber.d.ts +3 -3
- package/lib/api/run_cucumber.js +19 -3
- package/lib/api/support.d.ts +3 -3
- package/lib/api/support.js +5 -5
- package/lib/api/test_helpers.d.ts +1 -1
- package/lib/api/test_helpers.js +8 -10
- package/lib/api/types.d.ts +9 -5
- package/lib/api/types.js +1 -1
- package/lib/api/wrapper.d.mts +5 -0
- package/lib/api/wrapper.mjs +6 -6
- package/lib/assemble/assemble_test_cases.d.ts +4 -4
- package/lib/assemble/assemble_test_cases.js +2 -6
- package/lib/assemble/index.js +1 -1
- package/lib/assemble/types.d.ts +1 -1
- package/lib/assemble/types.js +1 -1
- package/lib/cli/i18n.js +5 -3
- package/lib/cli/index.d.ts +1 -1
- package/lib/cli/index.js +2 -2
- package/lib/cli/install_validator.js +4 -3
- package/lib/cli/run.js +7 -6
- package/lib/cli/validate_node_engine_version.js +2 -4
- package/lib/configuration/argv_parser.d.ts +1 -1
- package/lib/configuration/argv_parser.js +7 -7
- package/lib/configuration/check_schema.d.ts +1 -1
- package/lib/configuration/check_schema.js +17 -6
- package/lib/configuration/default_configuration.d.ts +1 -1
- package/lib/configuration/default_configuration.js +2 -1
- package/lib/configuration/from_file.d.ts +2 -2
- package/lib/configuration/from_file.js +6 -6
- package/lib/configuration/helpers.js +1 -1
- package/lib/configuration/index.js +1 -1
- package/lib/configuration/locate_file.js +3 -3
- package/lib/configuration/merge_configurations.d.ts +1 -1
- package/lib/configuration/merge_configurations.js +2 -10
- package/lib/configuration/parse_configuration.d.ts +2 -2
- package/lib/configuration/parse_configuration.js +3 -11
- package/lib/configuration/split_format_descriptor.d.ts +1 -2
- package/lib/configuration/split_format_descriptor.js +11 -71
- package/lib/configuration/types.d.ts +26 -3
- package/lib/configuration/types.js +1 -1
- package/lib/configuration/validate_configuration.d.ts +2 -2
- package/lib/configuration/validate_configuration.js +5 -3
- package/lib/environment/console_logger.d.ts +2 -2
- package/lib/environment/console_logger.js +1 -1
- package/lib/environment/index.js +1 -1
- package/lib/environment/make_environment.d.ts +1 -1
- package/lib/environment/make_environment.js +1 -1
- package/lib/environment/types.d.ts +1 -1
- package/lib/environment/types.js +1 -1
- package/lib/filter/filter_plugin.d.ts +1 -1
- package/lib/filter/filter_plugin.js +1 -1
- package/lib/filter/index.d.ts +1 -1
- package/lib/filter/index.js +2 -2
- package/lib/filter/order_pickles.d.ts +2 -2
- package/lib/filter/order_pickles.js +1 -1
- package/lib/filter/types.d.ts +1 -1
- package/lib/filter/types.js +1 -1
- package/lib/filter_stack_trace.d.ts +1 -1
- package/lib/filter_stack_trace.js +1 -1
- package/lib/formatter/builder.d.ts +8 -7
- package/lib/formatter/builder.js +6 -7
- package/lib/formatter/builtin/html.js +2 -2
- package/lib/formatter/builtin/index.d.ts +4 -4
- package/lib/formatter/builtin/index.js +14 -13
- package/lib/formatter/builtin/message.js +2 -2
- package/lib/formatter/builtin/pretty.d.ts +6 -0
- package/lib/formatter/builtin/pretty.js +19 -0
- package/lib/formatter/builtin/progress-bar.d.ts +6 -0
- package/lib/formatter/builtin/progress-bar.js +22 -0
- package/lib/formatter/builtin/progress.d.ts +6 -0
- package/lib/formatter/builtin/progress.js +18 -0
- package/lib/formatter/builtin/resolve_terminal_options.d.ts +3 -0
- package/lib/formatter/builtin/resolve_terminal_options.js +15 -0
- package/lib/formatter/builtin/summary.d.ts +6 -0
- package/lib/formatter/builtin/summary.js +15 -0
- package/lib/formatter/create_stream.d.ts +2 -2
- package/lib/formatter/create_stream.js +4 -7
- package/lib/formatter/find_class_or_plugin.js +1 -1
- package/lib/formatter/get_color_fns.d.ts +3 -3
- package/lib/formatter/get_color_fns.js +23 -52
- package/lib/formatter/helpers/duration_helpers.d.ts +1 -1
- package/lib/formatter/helpers/duration_helpers.js +1 -1
- package/lib/formatter/helpers/event_data_collector.d.ts +15 -15
- package/lib/formatter/helpers/event_data_collector.js +17 -44
- package/lib/formatter/helpers/formatters.d.ts +1 -1
- package/lib/formatter/helpers/formatters.js +1 -3
- package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
- package/lib/formatter/helpers/gherkin_document_parser.js +20 -18
- package/lib/formatter/helpers/index.d.ts +3 -3
- package/lib/formatter/helpers/index.js +8 -8
- package/lib/formatter/helpers/issue_helpers.d.ts +10 -10
- package/lib/formatter/helpers/issue_helpers.js +2 -2
- package/lib/formatter/helpers/keyword_type.js +2 -2
- package/lib/formatter/helpers/location_helpers.d.ts +1 -1
- package/lib/formatter/helpers/location_helpers.js +1 -1
- package/lib/formatter/helpers/pickle_parser.d.ts +10 -10
- package/lib/formatter/helpers/pickle_parser.js +8 -9
- package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
- package/lib/formatter/helpers/step_argument_formatter.js +1 -1
- package/lib/formatter/helpers/summary_helpers.d.ts +4 -4
- package/lib/formatter/helpers/summary_helpers.js +19 -48
- package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +4 -4
- package/lib/formatter/helpers/test_case_attempt_formatter.js +16 -49
- package/lib/formatter/helpers/test_case_attempt_parser.d.ts +9 -9
- package/lib/formatter/helpers/test_case_attempt_parser.js +12 -45
- package/lib/formatter/helpers/usage_helpers/index.d.ts +6 -6
- package/lib/formatter/helpers/usage_helpers/index.js +13 -49
- package/lib/formatter/import_code.js +2 -2
- package/lib/formatter/index.d.ts +25 -13
- package/lib/formatter/index.js +2 -2
- package/lib/formatter/json_formatter.d.ts +22 -22
- package/lib/formatter/json_formatter.js +11 -49
- package/lib/formatter/progress_formatter.d.ts +7 -3
- package/lib/formatter/progress_formatter.js +11 -41
- package/lib/formatter/rerun_formatter.d.ts +1 -1
- package/lib/formatter/rerun_formatter.js +4 -37
- package/lib/formatter/resolve_implementation.d.ts +1 -1
- package/lib/formatter/resolve_implementation.js +2 -2
- package/lib/formatter/snippets_formatter.d.ts +1 -1
- package/lib/formatter/snippets_formatter.js +4 -37
- package/lib/formatter/step_definition_snippet_builder/index.d.ts +6 -6
- package/lib/formatter/step_definition_snippet_builder/index.js +3 -3
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +1 -1
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +3 -5
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +1 -1
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +1 -1
- package/lib/formatter/summary_formatter.d.ts +7 -4
- package/lib/formatter/summary_formatter.js +6 -3
- package/lib/formatter/usage_formatter.d.ts +1 -1
- package/lib/formatter/usage_formatter.js +6 -39
- package/lib/formatter/usage_json_formatter.d.ts +1 -1
- package/lib/formatter/usage_json_formatter.js +3 -3
- package/lib/index.d.ts +9 -14
- package/lib/index.js +17 -25
- package/lib/models/data_table.d.ts +2 -2
- package/lib/models/data_table.js +9 -5
- package/lib/models/definition.d.ts +5 -5
- package/lib/models/definition.js +1 -1
- package/lib/models/gherkin_step_keyword.js +1 -1
- package/lib/models/step_definition.d.ts +3 -3
- package/lib/models/step_definition.js +1 -1
- package/lib/models/test_case_hook_definition.d.ts +3 -3
- package/lib/models/test_case_hook_definition.js +1 -1
- package/lib/models/test_run_hook_definition.d.ts +1 -1
- package/lib/models/test_run_hook_definition.js +1 -1
- package/lib/models/test_step_hook_definition.d.ts +3 -3
- package/lib/models/test_step_hook_definition.js +1 -1
- package/lib/paths/index.js +1 -1
- package/lib/paths/paths.d.ts +3 -3
- package/lib/paths/paths.js +42 -18
- package/lib/paths/types.js +1 -1
- package/lib/pickle_filter.d.ts +9 -8
- package/lib/pickle_filter.js +3 -3
- package/lib/plugin/index.d.ts +1 -1
- package/lib/plugin/index.js +2 -2
- package/lib/plugin/plugin_manager.d.ts +2 -2
- package/lib/plugin/plugin_manager.js +1 -1
- package/lib/plugin/types.d.ts +59 -9
- package/lib/plugin/types.js +1 -1
- package/lib/publish/index.js +1 -1
- package/lib/publish/publish_plugin.d.ts +1 -1
- package/lib/publish/publish_plugin.js +14 -15
- package/lib/publish/types.js +1 -1
- package/lib/runtime/attachment_manager/index.d.ts +3 -3
- package/lib/runtime/attachment_manager/index.js +12 -48
- package/lib/runtime/coordinator.d.ts +16 -8
- package/lib/runtime/coordinator.js +38 -19
- package/lib/runtime/format_error.d.ts +1 -1
- package/lib/runtime/format_error.js +43 -15
- package/lib/runtime/helpers.d.ts +5 -5
- package/lib/runtime/helpers.js +6 -39
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/make_runtime.d.ts +10 -9
- package/lib/runtime/make_runtime.js +5 -6
- package/lib/runtime/make_suggestion.d.ts +2 -2
- package/lib/runtime/make_suggestion.js +1 -1
- package/lib/runtime/parallel/adapter.d.ts +30 -39
- package/lib/runtime/parallel/adapter.js +134 -120
- package/lib/runtime/parallel/test_cases_phase.d.ts +19 -0
- package/lib/runtime/parallel/test_cases_phase.js +63 -0
- package/lib/runtime/parallel/test_run_hooks_phase.d.ts +11 -0
- package/lib/runtime/parallel/test_run_hooks_phase.js +33 -0
- package/lib/runtime/parallel/types.d.ts +38 -22
- package/lib/runtime/parallel/types.js +1 -1
- package/lib/runtime/parallel/worker.mjs +65 -0
- package/lib/runtime/scope/index.js +1 -1
- package/lib/runtime/scope/make_proxy.js +1 -1
- package/lib/runtime/scope/test_case_scope.d.ts +1 -1
- package/lib/runtime/scope/test_case_scope.js +1 -1
- package/lib/runtime/scope/test_run_scope.d.ts +1 -1
- package/lib/runtime/scope/test_run_scope.js +1 -1
- package/lib/runtime/serial/adapter.d.ts +15 -9
- package/lib/runtime/serial/adapter.js +21 -9
- package/lib/runtime/step_runner.d.ts +5 -5
- package/lib/runtime/step_runner.js +7 -40
- package/lib/runtime/stopwatch.d.ts +2 -2
- package/lib/runtime/stopwatch.js +1 -1
- package/lib/runtime/test_case_runner.d.ts +20 -20
- package/lib/runtime/test_case_runner.js +31 -60
- package/lib/runtime/types.d.ts +13 -4
- package/lib/runtime/types.js +1 -1
- package/lib/runtime/worker.d.ts +14 -13
- package/lib/runtime/worker.js +26 -44
- package/lib/sharding/index.js +1 -1
- package/lib/sharding/sharding_plugin.d.ts +1 -1
- package/lib/sharding/sharding_plugin.js +1 -1
- package/lib/step_arguments.d.ts +4 -4
- package/lib/step_arguments.js +1 -1
- package/lib/support_code_library_builder/build_parameter_type.d.ts +1 -1
- package/lib/support_code_library_builder/build_parameter_type.js +5 -3
- package/lib/support_code_library_builder/context.js +1 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +1 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.js +1 -1
- package/lib/support_code_library_builder/index.d.ts +7 -8
- package/lib/support_code_library_builder/index.js +9 -9
- package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +1 -1
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js +3 -4
- package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +2 -2
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js +1 -1
- package/lib/support_code_library_builder/types.d.ts +17 -17
- package/lib/support_code_library_builder/types.js +1 -1
- package/lib/support_code_library_builder/validate_arguments.d.ts +1 -1
- package/lib/support_code_library_builder/validate_arguments.js +1 -1
- package/lib/support_code_library_builder/world.d.ts +2 -2
- package/lib/support_code_library_builder/world.js +2 -2
- package/lib/time.d.ts +2 -2
- package/lib/time.js +6 -39
- package/lib/try_require.js +3 -2
- package/lib/types/index.js +1 -1
- package/lib/uncaught_exception_manager.js +1 -1
- package/lib/user_code_runner.d.ts +1 -1
- package/lib/user_code_runner.js +3 -3
- package/lib/value_checker.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +3 -3
- package/lib/wrapper.d.mts +43 -0
- package/lib/wrapper.mjs +37 -45
- package/package.json +50 -75
- package/lib/api/convert_configuration.js.map +0 -1
- package/lib/api/emit_support_code_messages.js.map +0 -1
- package/lib/api/formatters.js.map +0 -1
- package/lib/api/gherkin.js.map +0 -1
- package/lib/api/index.js.map +0 -1
- package/lib/api/load_configuration.js.map +0 -1
- package/lib/api/load_sources.js.map +0 -1
- package/lib/api/load_support.js.map +0 -1
- package/lib/api/plugins.js.map +0 -1
- package/lib/api/run_cucumber.js.map +0 -1
- package/lib/api/support.js.map +0 -1
- package/lib/api/test_helpers.js.map +0 -1
- package/lib/api/types.js.map +0 -1
- package/lib/assemble/assemble_test_cases.js.map +0 -1
- package/lib/assemble/index.js.map +0 -1
- package/lib/assemble/types.js.map +0 -1
- package/lib/cli/i18n.js.map +0 -1
- package/lib/cli/index.js.map +0 -1
- package/lib/cli/install_validator.js.map +0 -1
- package/lib/cli/run.js.map +0 -1
- package/lib/cli/validate_node_engine_version.js.map +0 -1
- package/lib/configuration/argv_parser.js.map +0 -1
- package/lib/configuration/check_schema.js.map +0 -1
- package/lib/configuration/default_configuration.js.map +0 -1
- package/lib/configuration/from_file.js.map +0 -1
- package/lib/configuration/helpers.js.map +0 -1
- package/lib/configuration/index.js.map +0 -1
- package/lib/configuration/locate_file.js.map +0 -1
- package/lib/configuration/merge_configurations.js.map +0 -1
- package/lib/configuration/parse_configuration.js.map +0 -1
- package/lib/configuration/split_format_descriptor.js.map +0 -1
- package/lib/configuration/types.js.map +0 -1
- package/lib/configuration/validate_configuration.js.map +0 -1
- package/lib/environment/console_logger.js.map +0 -1
- package/lib/environment/index.js.map +0 -1
- package/lib/environment/make_environment.js.map +0 -1
- package/lib/environment/types.js.map +0 -1
- package/lib/filter/filter_plugin.js.map +0 -1
- package/lib/filter/index.js.map +0 -1
- package/lib/filter/order_pickles.js.map +0 -1
- package/lib/filter/types.js.map +0 -1
- package/lib/filter_stack_trace.js.map +0 -1
- package/lib/formatter/builder.js.map +0 -1
- package/lib/formatter/builtin/html.js.map +0 -1
- package/lib/formatter/builtin/index.js.map +0 -1
- package/lib/formatter/builtin/message.js.map +0 -1
- package/lib/formatter/create_stream.js.map +0 -1
- package/lib/formatter/find_class_or_plugin.js.map +0 -1
- package/lib/formatter/get_color_fns.js.map +0 -1
- package/lib/formatter/helpers/duration_helpers.js.map +0 -1
- package/lib/formatter/helpers/event_data_collector.js.map +0 -1
- package/lib/formatter/helpers/formatters.js.map +0 -1
- package/lib/formatter/helpers/gherkin_document_parser.js.map +0 -1
- package/lib/formatter/helpers/index.js.map +0 -1
- package/lib/formatter/helpers/issue_helpers.js.map +0 -1
- package/lib/formatter/helpers/keyword_type.js.map +0 -1
- package/lib/formatter/helpers/location_helpers.js.map +0 -1
- package/lib/formatter/helpers/pickle_parser.js.map +0 -1
- package/lib/formatter/helpers/step_argument_formatter.js.map +0 -1
- package/lib/formatter/helpers/summary_helpers.js.map +0 -1
- package/lib/formatter/helpers/test_case_attempt_formatter.js.map +0 -1
- package/lib/formatter/helpers/test_case_attempt_parser.js.map +0 -1
- package/lib/formatter/helpers/usage_helpers/index.js.map +0 -1
- package/lib/formatter/import_code.js.map +0 -1
- package/lib/formatter/index.js.map +0 -1
- package/lib/formatter/json_formatter.js.map +0 -1
- package/lib/formatter/progress_bar_formatter.d.ts +0 -18
- package/lib/formatter/progress_bar_formatter.js +0 -103
- package/lib/formatter/progress_bar_formatter.js.map +0 -1
- package/lib/formatter/progress_formatter.js.map +0 -1
- package/lib/formatter/rerun_formatter.js.map +0 -1
- package/lib/formatter/resolve_implementation.js.map +0 -1
- package/lib/formatter/snippets_formatter.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/index.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +0 -1
- package/lib/formatter/summary_formatter.js.map +0 -1
- package/lib/formatter/usage_formatter.js.map +0 -1
- package/lib/formatter/usage_json_formatter.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/models/data_table.js.map +0 -1
- package/lib/models/definition.js.map +0 -1
- package/lib/models/gherkin_step_keyword.js.map +0 -1
- package/lib/models/step_definition.js.map +0 -1
- package/lib/models/test_case_hook_definition.js.map +0 -1
- package/lib/models/test_run_hook_definition.js.map +0 -1
- package/lib/models/test_step_hook_definition.js.map +0 -1
- package/lib/paths/index.js.map +0 -1
- package/lib/paths/paths.js.map +0 -1
- package/lib/paths/types.js.map +0 -1
- package/lib/pickle_filter.js.map +0 -1
- package/lib/plugin/index.js.map +0 -1
- package/lib/plugin/plugin_manager.js.map +0 -1
- package/lib/plugin/types.js.map +0 -1
- package/lib/publish/index.js.map +0 -1
- package/lib/publish/publish_plugin.js.map +0 -1
- package/lib/publish/types.js.map +0 -1
- package/lib/runtime/attachment_manager/index.js.map +0 -1
- package/lib/runtime/coordinator.js.map +0 -1
- package/lib/runtime/format_error.js.map +0 -1
- package/lib/runtime/helpers.js.map +0 -1
- package/lib/runtime/index.js.map +0 -1
- package/lib/runtime/make_runtime.js.map +0 -1
- package/lib/runtime/make_suggestion.js.map +0 -1
- package/lib/runtime/parallel/adapter.js.map +0 -1
- package/lib/runtime/parallel/run_worker.js +0 -25
- package/lib/runtime/parallel/run_worker.js.map +0 -1
- package/lib/runtime/parallel/types.js.map +0 -1
- package/lib/runtime/parallel/worker.d.ts +0 -25
- package/lib/runtime/parallel/worker.js +0 -83
- package/lib/runtime/parallel/worker.js.map +0 -1
- package/lib/runtime/scope/index.js.map +0 -1
- package/lib/runtime/scope/make_proxy.js.map +0 -1
- package/lib/runtime/scope/test_case_scope.js.map +0 -1
- package/lib/runtime/scope/test_run_scope.js.map +0 -1
- package/lib/runtime/serial/adapter.js.map +0 -1
- package/lib/runtime/step_runner.js.map +0 -1
- package/lib/runtime/stopwatch.js.map +0 -1
- package/lib/runtime/test_case_runner.js.map +0 -1
- package/lib/runtime/types.js.map +0 -1
- package/lib/runtime/worker.js.map +0 -1
- package/lib/sharding/index.js.map +0 -1
- package/lib/sharding/sharding_plugin.js.map +0 -1
- package/lib/step_arguments.js.map +0 -1
- package/lib/support_code_library_builder/build_parameter_type.js.map +0 -1
- package/lib/support_code_library_builder/context.js.map +0 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.js.map +0 -1
- package/lib/support_code_library_builder/index.js.map +0 -1
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js.map +0 -1
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js.map +0 -1
- package/lib/support_code_library_builder/types.js.map +0 -1
- package/lib/support_code_library_builder/validate_arguments.js.map +0 -1
- package/lib/support_code_library_builder/world.js.map +0 -1
- package/lib/time.js.map +0 -1
- package/lib/try_require.js.map +0 -1
- package/lib/tsconfig.node.tsbuildinfo +0 -1
- package/lib/types/index.js.map +0 -1
- package/lib/uncaught_exception_manager.js.map +0 -1
- package/lib/user_code_runner.js.map +0 -1
- package/lib/value_checker.js.map +0 -1
- package/lib/version.js.map +0 -1
- /package/lib/runtime/parallel/{run_worker.d.ts → worker.d.mts} +0 -0
|
@@ -1,43 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const
|
|
40
|
-
const
|
|
3
|
+
const node_stream_1 = require("node:stream");
|
|
4
|
+
const messages_1 = require("@cucumber/messages");
|
|
41
5
|
const value_checker_1 = require("../../value_checker");
|
|
42
6
|
class AttachmentManager {
|
|
43
7
|
onAttachment;
|
|
@@ -58,36 +22,36 @@ class AttachmentManager {
|
|
|
58
22
|
}
|
|
59
23
|
this.createBufferAttachment(data, options.mediaType, options.fileName);
|
|
60
24
|
}
|
|
61
|
-
else if (is_stream_1.default.readable(data)) {
|
|
62
|
-
if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
|
|
63
|
-
throw Error('Stream attachments must specify a media type');
|
|
64
|
-
}
|
|
65
|
-
return this.createStreamAttachment(data, options.mediaType, options.fileName, callback);
|
|
66
|
-
}
|
|
67
25
|
else if (typeof data === 'string') {
|
|
68
26
|
if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
|
|
69
27
|
options.mediaType = 'text/plain';
|
|
70
28
|
}
|
|
71
29
|
if (options.mediaType.startsWith('base64:')) {
|
|
72
30
|
this.createStringAttachment(data, {
|
|
73
|
-
encoding:
|
|
31
|
+
encoding: messages_1.AttachmentContentEncoding.BASE64,
|
|
74
32
|
contentType: options.mediaType.replace('base64:', ''),
|
|
75
33
|
}, options.fileName);
|
|
76
34
|
}
|
|
77
35
|
else {
|
|
78
36
|
this.createStringAttachment(data, {
|
|
79
|
-
encoding:
|
|
37
|
+
encoding: messages_1.AttachmentContentEncoding.IDENTITY,
|
|
80
38
|
contentType: options.mediaType,
|
|
81
39
|
}, options.fileName);
|
|
82
40
|
}
|
|
83
41
|
}
|
|
42
|
+
else if ((0, node_stream_1.isReadable)(data)) {
|
|
43
|
+
if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
|
|
44
|
+
throw Error('Stream attachments must specify a media type');
|
|
45
|
+
}
|
|
46
|
+
return this.createStreamAttachment(data, options.mediaType, options.fileName, callback);
|
|
47
|
+
}
|
|
84
48
|
else {
|
|
85
49
|
throw Error('Invalid attachment data: must be a buffer, readable stream, or string');
|
|
86
50
|
}
|
|
87
51
|
}
|
|
88
52
|
createBufferAttachment(data, mediaType, fileName) {
|
|
89
53
|
this.createStringAttachment(data.toString('base64'), {
|
|
90
|
-
encoding:
|
|
54
|
+
encoding: messages_1.AttachmentContentEncoding.BASE64,
|
|
91
55
|
contentType: mediaType,
|
|
92
56
|
}, fileName);
|
|
93
57
|
}
|
|
@@ -130,4 +94,4 @@ function normaliseOptions(mediaTypeOrOptions) {
|
|
|
130
94
|
}
|
|
131
95
|
return mediaTypeOrOptions;
|
|
132
96
|
}
|
|
133
|
-
//# sourceMappingURL=index.js.map
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9hdHRhY2htZW50X21hbmFnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBdUQ7QUFDdkQsaURBQThEO0FBQzlELHVEQUFxRTtBQTJDckUsTUFBcUIsaUJBQWlCO0lBQ25CLFlBQVksQ0FBaUI7SUFFOUMsWUFBWSxZQUE2QjtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtJQUNsQyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLDJCQUEyQixDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLEdBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELE1BQU0sQ0FDSixJQUFnQyxFQUNoQyxrQkFBc0QsRUFDdEQsUUFBcUI7UUFFckIsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNwRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUEsZ0NBQWdCLEVBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7WUFDN0QsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDeEUsQ0FBQzthQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxJQUFBLGdDQUFnQixFQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQTtZQUNsQyxDQUFDO1lBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsc0JBQXNCLENBQ3pCLElBQUksRUFDSjtvQkFDRSxRQUFRLEVBQUUsb0NBQXlCLENBQUMsTUFBTTtvQkFDMUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7aUJBQ3RELEVBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FDakIsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsc0JBQXNCLENBQ3pCLElBQUksRUFDSjtvQkFDRSxRQUFRLEVBQUUsb0NBQXlCLENBQUMsUUFBUTtvQkFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxTQUFTO2lCQUMvQixFQUNELE9BQU8sQ0FBQyxRQUFRLENBQ2pCLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksSUFBQSx3QkFBVSxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxJQUFBLGdDQUFnQixFQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO1lBQzdELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQ3pGLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQTtRQUN0RixDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVksRUFBRSxTQUFpQixFQUFFLFFBQWlCO1FBQ3ZFLElBQUksQ0FBQyxzQkFBc0IsQ0FDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFDdkI7WUFDRSxRQUFRLEVBQUUsb0NBQXlCLENBQUMsTUFBTTtZQUMxQyxXQUFXLEVBQUUsU0FBUztTQUN2QixFQUNELFFBQVEsQ0FDVCxDQUFBO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUNwQixJQUFjLEVBQ2QsU0FBaUIsRUFDakIsUUFBaUIsRUFDakIsUUFBcUI7UUFFckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDcEQsTUFBTSxPQUFPLEdBQWlCLEVBQUUsQ0FBQTtZQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3JCLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNsQixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7Z0JBQ3hFLE9BQU8sRUFBRSxDQUFBO1lBQ1gsQ0FBQyxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMxQixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksSUFBQSw2QkFBYSxFQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE9BQU8sQ0FBQTtRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVksRUFBRSxLQUF1QixFQUFFLFFBQWlCO1FBQzdFLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDaEIsSUFBSTtZQUNKLEtBQUs7WUFDTCxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBckdELG9DQXFHQztBQUVELFNBQVMsZ0JBQWdCLENBQ3ZCLGtCQUFzRDtJQUV0RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxJQUFJLE9BQU8sa0JBQWtCLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0MsT0FBTztZQUNMLFNBQVMsRUFBRSxrQkFBa0I7U0FDOUIsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLGtCQUFrQixDQUFBO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1JlYWRhYmxlLCB0eXBlIFJlYWRhYmxlIH0gZnJvbSAnbm9kZTpzdHJlYW0nXG5pbXBvcnQgeyBBdHRhY2htZW50Q29udGVudEVuY29kaW5nIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZG9lc0hhdmVWYWx1ZSwgZG9lc05vdEhhdmVWYWx1ZSB9IGZyb20gJy4uLy4uL3ZhbHVlX2NoZWNrZXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF0dGFjaG1lbnRNZWRpYSB7XG4gIGVuY29kaW5nOiBBdHRhY2htZW50Q29udGVudEVuY29kaW5nXG4gIGNvbnRlbnRUeXBlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXR0YWNobWVudCB7XG4gIGRhdGE6IHN0cmluZ1xuICBtZWRpYTogSUF0dGFjaG1lbnRNZWRpYVxuICBmaWxlTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBJQXR0YWNoRnVuY3Rpb24gPSAoYXR0YWNobWVudDogSUF0dGFjaG1lbnQpID0+IHZvaWRcblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnMge1xuICBtZWRpYVR5cGU6IHN0cmluZ1xuICBmaWxlTmFtZT86IHN0cmluZ1xufVxuZXhwb3J0IHR5cGUgSUNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQgPSAoXG4gIGRhdGE6IHN0cmluZyxcbiAgbWVkaWFUeXBlT3JPcHRpb25zPzogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVCdWZmZXJBdHRhY2htZW50ID0gKFxuICBkYXRhOiBCdWZmZXIsXG4gIG1lZGlhVHlwZU9yT3B0aW9uczogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVTdHJlYW1BdHRhY2htZW50ID0gKFxuICBkYXRhOiBSZWFkYWJsZSxcbiAgbWVkaWFUeXBlT3JPcHRpb25zOiBzdHJpbmcgfCBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnNcbikgPT4gUHJvbWlzZTx2b2lkPlxuZXhwb3J0IHR5cGUgSUNyZWF0ZVN0cmVhbUF0dGFjaG1lbnRXaXRoQ2FsbGJhY2sgPSAoXG4gIGRhdGE6IFJlYWRhYmxlLFxuICBtZWRpYVR5cGVPck9wdGlvbnM6IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9ucyxcbiAgY2FsbGJhY2s6ICgpID0+IHZvaWRcbikgPT4gdm9pZFxuZXhwb3J0IHR5cGUgSUNyZWF0ZUF0dGFjaG1lbnQgPSBJQ3JlYXRlU3RyaW5nQXR0YWNobWVudCAmXG4gIElDcmVhdGVCdWZmZXJBdHRhY2htZW50ICZcbiAgSUNyZWF0ZVN0cmVhbUF0dGFjaG1lbnQgJlxuICBJQ3JlYXRlU3RyZWFtQXR0YWNobWVudFdpdGhDYWxsYmFja1xuZXhwb3J0IHR5cGUgSUNyZWF0ZUxvZyA9ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVMaW5rID0gKHRleHQ6IHN0cmluZykgPT4gdm9pZFxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBdHRhY2htZW50TWFuYWdlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb25BdHRhY2htZW50OiBJQXR0YWNoRnVuY3Rpb25cblxuICBjb25zdHJ1Y3RvcihvbkF0dGFjaG1lbnQ6IElBdHRhY2hGdW5jdGlvbikge1xuICAgIHRoaXMub25BdHRhY2htZW50ID0gb25BdHRhY2htZW50XG4gIH1cblxuICBsb2codGV4dDogc3RyaW5nKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0ZXh0LCAndGV4dC94LmN1Y3VtYmVyLmxvZytwbGFpbicpXG4gIH1cblxuICBsaW5rKC4uLnVybDogc3RyaW5nW10pOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHVybC5qb2luKCdcXG4nKSwgJ3RleHQvdXJpLWxpc3QnKVxuICB9XG5cbiAgY3JlYXRlKFxuICAgIGRhdGE6IEJ1ZmZlciB8IFJlYWRhYmxlIHwgc3RyaW5nLFxuICAgIG1lZGlhVHlwZU9yT3B0aW9ucz86IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9ucyxcbiAgICBjYWxsYmFjaz86ICgpID0+IHZvaWRcbiAgKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBub3JtYWxpc2VPcHRpb25zKG1lZGlhVHlwZU9yT3B0aW9ucylcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKGRhdGEpKSB7XG4gICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZShvcHRpb25zLm1lZGlhVHlwZSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0J1ZmZlciBhdHRhY2htZW50cyBtdXN0IHNwZWNpZnkgYSBtZWRpYSB0eXBlJylcbiAgICAgIH1cbiAgICAgIHRoaXMuY3JlYXRlQnVmZmVyQXR0YWNobWVudChkYXRhLCBvcHRpb25zLm1lZGlhVHlwZSwgb3B0aW9ucy5maWxlTmFtZSlcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGRvZXNOb3RIYXZlVmFsdWUob3B0aW9ucy5tZWRpYVR5cGUpKSB7XG4gICAgICAgIG9wdGlvbnMubWVkaWFUeXBlID0gJ3RleHQvcGxhaW4nXG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy5tZWRpYVR5cGUuc3RhcnRzV2l0aCgnYmFzZTY0OicpKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU3RyaW5nQXR0YWNobWVudChcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVuY29kaW5nOiBBdHRhY2htZW50Q29udGVudEVuY29kaW5nLkJBU0U2NCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLm1lZGlhVHlwZS5yZXBsYWNlKCdiYXNlNjQ6JywgJycpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3B0aW9ucy5maWxlTmFtZVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQoXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbmNvZGluZzogQXR0YWNobWVudENvbnRlbnRFbmNvZGluZy5JREVOVElUWSxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLm1lZGlhVHlwZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wdGlvbnMuZmlsZU5hbWVcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNSZWFkYWJsZShkYXRhKSkge1xuICAgICAgaWYgKGRvZXNOb3RIYXZlVmFsdWUob3B0aW9ucy5tZWRpYVR5cGUpKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdTdHJlYW0gYXR0YWNobWVudHMgbXVzdCBzcGVjaWZ5IGEgbWVkaWEgdHlwZScpXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVTdHJlYW1BdHRhY2htZW50KGRhdGEsIG9wdGlvbnMubWVkaWFUeXBlLCBvcHRpb25zLmZpbGVOYW1lLCBjYWxsYmFjaylcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ0ludmFsaWQgYXR0YWNobWVudCBkYXRhOiBtdXN0IGJlIGEgYnVmZmVyLCByZWFkYWJsZSBzdHJlYW0sIG9yIHN0cmluZycpXG4gICAgfVxuICB9XG5cbiAgY3JlYXRlQnVmZmVyQXR0YWNobWVudChkYXRhOiBCdWZmZXIsIG1lZGlhVHlwZTogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlU3RyaW5nQXR0YWNobWVudChcbiAgICAgIGRhdGEudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAge1xuICAgICAgICBlbmNvZGluZzogQXR0YWNobWVudENvbnRlbnRFbmNvZGluZy5CQVNFNjQsXG4gICAgICAgIGNvbnRlbnRUeXBlOiBtZWRpYVR5cGUsXG4gICAgICB9LFxuICAgICAgZmlsZU5hbWVcbiAgICApXG4gIH1cblxuICBjcmVhdGVTdHJlYW1BdHRhY2htZW50KFxuICAgIGRhdGE6IFJlYWRhYmxlLFxuICAgIG1lZGlhVHlwZTogc3RyaW5nLFxuICAgIGZpbGVOYW1lPzogc3RyaW5nLFxuICAgIGNhbGxiYWNrPzogKCkgPT4gdm9pZFxuICApOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGJ1ZmZlcnM6IFVpbnQ4QXJyYXlbXSA9IFtdXG4gICAgICBkYXRhLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgIGJ1ZmZlcnMucHVzaChjaHVuaylcbiAgICAgIH0pXG4gICAgICBkYXRhLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlQnVmZmVyQXR0YWNobWVudChCdWZmZXIuY29uY2F0KGJ1ZmZlcnMpLCBtZWRpYVR5cGUsIGZpbGVOYW1lKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0pXG4gICAgICBkYXRhLm9uKCdlcnJvcicsIHJlamVjdClcbiAgICB9KVxuICAgIGlmIChkb2VzSGF2ZVZhbHVlKGNhbGxiYWNrKSkge1xuICAgICAgcHJvbWlzZS50aGVuKGNhbGxiYWNrLCBjYWxsYmFjaylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHByb21pc2VcbiAgICB9XG4gIH1cblxuICBjcmVhdGVTdHJpbmdBdHRhY2htZW50KGRhdGE6IHN0cmluZywgbWVkaWE6IElBdHRhY2htZW50TWVkaWEsIGZpbGVOYW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vbkF0dGFjaG1lbnQoe1xuICAgICAgZGF0YSxcbiAgICAgIG1lZGlhLFxuICAgICAgLi4uKGZpbGVOYW1lID8geyBmaWxlTmFtZSB9IDoge30pLFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXNlT3B0aW9ucyhcbiAgbWVkaWFUeXBlT3JPcHRpb25zPzogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pOiBQYXJ0aWFsPElDcmVhdGVBdHRhY2htZW50T3B0aW9ucz4ge1xuICBpZiAoIW1lZGlhVHlwZU9yT3B0aW9ucykge1xuICAgIHJldHVybiB7fVxuICB9XG4gIGlmICh0eXBlb2YgbWVkaWFUeXBlT3JPcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7XG4gICAgICBtZWRpYVR5cGU6IG1lZGlhVHlwZU9yT3B0aW9ucyxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1lZGlhVHlwZU9yT3B0aW9uc1xufVxuIl19
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import { EventEmitter } from 'node:events';
|
|
2
|
-
import { IdGenerator } from '@cucumber/messages';
|
|
3
|
-
import { SourcedPickle } from '../assemble';
|
|
4
|
-
import { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import type { EventEmitter } from 'node:events';
|
|
2
|
+
import type { IdGenerator } from '@cucumber/messages';
|
|
3
|
+
import { type SourcedPickle } from '../assemble';
|
|
4
|
+
import type { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
5
|
+
import type { Runtime } from './index';
|
|
6
|
+
import type { RuntimeAdapter, RuntimeResult } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Handles the high-level coordination of the test run on the main thread
|
|
9
|
+
* @returns whether all hooks and test cases were successful
|
|
10
|
+
* @remarks
|
|
11
|
+
* For each phase of the test run, delegates to a {@link RuntimeAdapter} to handle
|
|
12
|
+
* the work itself. Unaware of how the adapter distributes and executes work.
|
|
13
|
+
*/
|
|
7
14
|
export declare class Coordinator implements Runtime {
|
|
8
15
|
private testRunStartedId;
|
|
9
16
|
private eventBroadcaster;
|
|
10
17
|
private newId;
|
|
11
18
|
private sourcedPickles;
|
|
12
19
|
private supportCodeLibrary;
|
|
20
|
+
private filterStacktraces;
|
|
13
21
|
private adapter;
|
|
14
|
-
constructor(testRunStartedId: string, eventBroadcaster: EventEmitter, newId: IdGenerator.NewId, sourcedPickles: ReadonlyArray<SourcedPickle>, supportCodeLibrary: SupportCodeLibrary, adapter: RuntimeAdapter);
|
|
15
|
-
run(): Promise<
|
|
22
|
+
constructor(testRunStartedId: string, eventBroadcaster: EventEmitter, newId: IdGenerator.NewId, sourcedPickles: ReadonlyArray<SourcedPickle>, supportCodeLibrary: SupportCodeLibrary, filterStacktraces: boolean, adapter: RuntimeAdapter);
|
|
23
|
+
run(): Promise<RuntimeResult>;
|
|
16
24
|
}
|
|
@@ -2,40 +2,59 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Coordinator = void 0;
|
|
4
4
|
const assemble_1 = require("../assemble");
|
|
5
|
-
const
|
|
5
|
+
const format_error_1 = require("./format_error");
|
|
6
|
+
/**
|
|
7
|
+
* Handles the high-level coordination of the test run on the main thread
|
|
8
|
+
* @returns whether all hooks and test cases were successful
|
|
9
|
+
* @remarks
|
|
10
|
+
* For each phase of the test run, delegates to a {@link RuntimeAdapter} to handle
|
|
11
|
+
* the work itself. Unaware of how the adapter distributes and executes work.
|
|
12
|
+
*/
|
|
6
13
|
class Coordinator {
|
|
7
14
|
testRunStartedId;
|
|
8
15
|
eventBroadcaster;
|
|
9
16
|
newId;
|
|
10
17
|
sourcedPickles;
|
|
11
18
|
supportCodeLibrary;
|
|
19
|
+
filterStacktraces;
|
|
12
20
|
adapter;
|
|
13
|
-
constructor(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, adapter) {
|
|
21
|
+
constructor(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, filterStacktraces, adapter) {
|
|
14
22
|
this.testRunStartedId = testRunStartedId;
|
|
15
23
|
this.eventBroadcaster = eventBroadcaster;
|
|
16
24
|
this.newId = newId;
|
|
17
25
|
this.sourcedPickles = sourcedPickles;
|
|
18
26
|
this.supportCodeLibrary = supportCodeLibrary;
|
|
27
|
+
this.filterStacktraces = filterStacktraces;
|
|
19
28
|
this.adapter = adapter;
|
|
20
29
|
}
|
|
21
30
|
async run() {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
try {
|
|
32
|
+
await this.adapter.setup();
|
|
33
|
+
const successByPhase = {
|
|
34
|
+
beforeAllHooks: false,
|
|
35
|
+
testCases: false,
|
|
36
|
+
afterAllHooks: false,
|
|
37
|
+
};
|
|
38
|
+
successByPhase.beforeAllHooks = await this.adapter.runBeforeAllHooks();
|
|
39
|
+
if (successByPhase.beforeAllHooks) {
|
|
40
|
+
const assembledTestCases = await (0, assemble_1.assembleTestCases)(this.testRunStartedId, this.eventBroadcaster, this.newId, this.sourcedPickles, this.supportCodeLibrary);
|
|
41
|
+
successByPhase.testCases = await this.adapter.runTestCases(assembledTestCases);
|
|
42
|
+
}
|
|
43
|
+
successByPhase.afterAllHooks = await this.adapter.runAfterAllHooks();
|
|
44
|
+
return {
|
|
45
|
+
success: successByPhase.beforeAllHooks && successByPhase.testCases && successByPhase.afterAllHooks,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return {
|
|
50
|
+
success: false,
|
|
51
|
+
exception: (0, format_error_1.formatError)(error, this.filterStacktraces).exception,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
finally {
|
|
55
|
+
await this.adapter.teardown();
|
|
56
|
+
}
|
|
38
57
|
}
|
|
39
58
|
}
|
|
40
59
|
exports.Coordinator = Coordinator;
|
|
41
|
-
//# sourceMappingURL=
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9jb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwwQ0FBbUU7QUFFbkUsaURBQTRDO0FBSTVDOzs7Ozs7R0FNRztBQUNILE1BQWEsV0FBVztJQUVaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUFYsWUFDVSxnQkFBd0IsRUFDeEIsZ0JBQThCLEVBQzlCLEtBQXdCLEVBQ3hCLGNBQTRDLEVBQzVDLGtCQUFzQyxFQUN0QyxpQkFBMEIsRUFDMUIsT0FBdUI7UUFOdkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBYztRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUFDNUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFDOUIsQ0FBQztJQUVKLEtBQUssQ0FBQyxHQUFHO1FBQ1AsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1lBRTFCLE1BQU0sY0FBYyxHQUFHO2dCQUNyQixjQUFjLEVBQUUsS0FBSztnQkFDckIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLGFBQWEsRUFBRSxLQUFLO2FBQ3JCLENBQUE7WUFDRCxjQUFjLENBQUMsY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1lBQ3RFLElBQUksY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sSUFBQSw0QkFBaUIsRUFDaEQsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFBO2dCQUNELGNBQWMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1lBQ2hGLENBQUM7WUFDRCxjQUFjLENBQUMsYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1lBQ3BFLE9BQU87Z0JBQ0wsT0FBTyxFQUNMLGNBQWMsQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLFNBQVMsSUFBSSxjQUFjLENBQUMsYUFBYTthQUM1RixDQUFBO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxTQUFTLEVBQUUsSUFBQSwwQkFBVyxFQUFDLEtBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTO2FBQ3pFLENBQUE7UUFDSCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDL0IsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTdDRCxrQ0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ25vZGU6ZXZlbnRzJ1xuaW1wb3J0IHR5cGUgeyBJZEdlbmVyYXRvciB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IGFzc2VtYmxlVGVzdENhc2VzLCB0eXBlIFNvdXJjZWRQaWNrbGUgfSBmcm9tICcuLi9hc3NlbWJsZSdcbmltcG9ydCB0eXBlIHsgU3VwcG9ydENvZGVMaWJyYXJ5IH0gZnJvbSAnLi4vc3VwcG9ydF9jb2RlX2xpYnJhcnlfYnVpbGRlci90eXBlcydcbmltcG9ydCB7IGZvcm1hdEVycm9yIH0gZnJvbSAnLi9mb3JtYXRfZXJyb3InXG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWUgfSBmcm9tICcuL2luZGV4J1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lQWRhcHRlciwgUnVudGltZVJlc3VsdCB9IGZyb20gJy4vdHlwZXMnXG5cbi8qKlxuICogSGFuZGxlcyB0aGUgaGlnaC1sZXZlbCBjb29yZGluYXRpb24gb2YgdGhlIHRlc3QgcnVuIG9uIHRoZSBtYWluIHRocmVhZFxuICogQHJldHVybnMgd2hldGhlciBhbGwgaG9va3MgYW5kIHRlc3QgY2FzZXMgd2VyZSBzdWNjZXNzZnVsXG4gKiBAcmVtYXJrc1xuICogRm9yIGVhY2ggcGhhc2Ugb2YgdGhlIHRlc3QgcnVuLCBkZWxlZ2F0ZXMgdG8gYSB7QGxpbmsgUnVudGltZUFkYXB0ZXJ9IHRvIGhhbmRsZVxuICogdGhlIHdvcmsgaXRzZWxmLiBVbmF3YXJlIG9mIGhvdyB0aGUgYWRhcHRlciBkaXN0cmlidXRlcyBhbmQgZXhlY3V0ZXMgd29yay5cbiAqL1xuZXhwb3J0IGNsYXNzIENvb3JkaW5hdG9yIGltcGxlbWVudHMgUnVudGltZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVzdFJ1blN0YXJ0ZWRJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgZXZlbnRCcm9hZGNhc3RlcjogRXZlbnRFbWl0dGVyLFxuICAgIHByaXZhdGUgbmV3SWQ6IElkR2VuZXJhdG9yLk5ld0lkLFxuICAgIHByaXZhdGUgc291cmNlZFBpY2tsZXM6IFJlYWRvbmx5QXJyYXk8U291cmNlZFBpY2tsZT4sXG4gICAgcHJpdmF0ZSBzdXBwb3J0Q29kZUxpYnJhcnk6IFN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICBwcml2YXRlIGZpbHRlclN0YWNrdHJhY2VzOiBib29sZWFuLFxuICAgIHByaXZhdGUgYWRhcHRlcjogUnVudGltZUFkYXB0ZXJcbiAgKSB7fVxuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPFJ1bnRpbWVSZXN1bHQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnNldHVwKClcblxuICAgICAgY29uc3Qgc3VjY2Vzc0J5UGhhc2UgPSB7XG4gICAgICAgIGJlZm9yZUFsbEhvb2tzOiBmYWxzZSxcbiAgICAgICAgdGVzdENhc2VzOiBmYWxzZSxcbiAgICAgICAgYWZ0ZXJBbGxIb29rczogZmFsc2UsXG4gICAgICB9XG4gICAgICBzdWNjZXNzQnlQaGFzZS5iZWZvcmVBbGxIb29rcyA9IGF3YWl0IHRoaXMuYWRhcHRlci5ydW5CZWZvcmVBbGxIb29rcygpXG4gICAgICBpZiAoc3VjY2Vzc0J5UGhhc2UuYmVmb3JlQWxsSG9va3MpIHtcbiAgICAgICAgY29uc3QgYXNzZW1ibGVkVGVzdENhc2VzID0gYXdhaXQgYXNzZW1ibGVUZXN0Q2FzZXMoXG4gICAgICAgICAgdGhpcy50ZXN0UnVuU3RhcnRlZElkLFxuICAgICAgICAgIHRoaXMuZXZlbnRCcm9hZGNhc3RlcixcbiAgICAgICAgICB0aGlzLm5ld0lkLFxuICAgICAgICAgIHRoaXMuc291cmNlZFBpY2tsZXMsXG4gICAgICAgICAgdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnlcbiAgICAgICAgKVxuICAgICAgICBzdWNjZXNzQnlQaGFzZS50ZXN0Q2FzZXMgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucnVuVGVzdENhc2VzKGFzc2VtYmxlZFRlc3RDYXNlcylcbiAgICAgIH1cbiAgICAgIHN1Y2Nlc3NCeVBoYXNlLmFmdGVyQWxsSG9va3MgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucnVuQWZ0ZXJBbGxIb29rcygpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOlxuICAgICAgICAgIHN1Y2Nlc3NCeVBoYXNlLmJlZm9yZUFsbEhvb2tzICYmIHN1Y2Nlc3NCeVBoYXNlLnRlc3RDYXNlcyAmJiBzdWNjZXNzQnlQaGFzZS5hZnRlckFsbEhvb2tzLFxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXhjZXB0aW9uOiBmb3JtYXRFcnJvcihlcnJvciBhcyBFcnJvciwgdGhpcy5maWx0ZXJTdGFja3RyYWNlcykuZXhjZXB0aW9uLFxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIudGVhcmRvd24oKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TestStepResult } from '@cucumber/messages';
|
|
1
|
+
import type { TestStepResult } from '@cucumber/messages';
|
|
2
2
|
export declare function formatError(error: Error | string, filterStackTraces: boolean): Pick<TestStepResult, 'message' | 'exception'>;
|
|
@@ -7,6 +7,8 @@ exports.formatError = formatError;
|
|
|
7
7
|
const assertion_error_formatter_1 = require("assertion-error-formatter");
|
|
8
8
|
const error_stack_parser_1 = __importDefault(require("error-stack-parser"));
|
|
9
9
|
const filter_stack_trace_1 = require("../filter_stack_trace");
|
|
10
|
+
// Guards against runaway or self-referential cause chains.
|
|
11
|
+
const MAX_CAUSE_DEPTH = 10;
|
|
10
12
|
function formatError(error, filterStackTraces) {
|
|
11
13
|
if (typeof error === 'string') {
|
|
12
14
|
const stackTrace = `Error: ${error}`;
|
|
@@ -19,33 +21,59 @@ function formatError(error, filterStackTraces) {
|
|
|
19
21
|
},
|
|
20
22
|
};
|
|
21
23
|
}
|
|
24
|
+
const stackTrace = formatErrorAndCauses(error, filterStackTraces);
|
|
25
|
+
const type = error.constructor.name;
|
|
26
|
+
const message = typeof error === 'string' ? error : error.message;
|
|
27
|
+
return {
|
|
28
|
+
message: stackTrace,
|
|
29
|
+
exception: {
|
|
30
|
+
type,
|
|
31
|
+
message,
|
|
32
|
+
stackTrace,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function formatErrorAndCauses(error, filterStackTraces) {
|
|
37
|
+
let output = formatSingleError(error, filterStackTraces);
|
|
38
|
+
const seen = new Set([error]);
|
|
39
|
+
let cause = error.cause;
|
|
40
|
+
for (let depth = 0; cause !== undefined && cause !== null; depth++) {
|
|
41
|
+
if (depth >= MAX_CAUSE_DEPTH) {
|
|
42
|
+
output += '\nCaused by: ... (further causes truncated)';
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
if (seen.has(cause)) {
|
|
46
|
+
output += '\nCaused by: ... (circular reference)';
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
seen.add(cause);
|
|
50
|
+
if (cause instanceof Error) {
|
|
51
|
+
output += `\nCaused by: ${formatSingleError(cause, filterStackTraces)}`;
|
|
52
|
+
cause = cause.cause;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
output += `\nCaused by: ${String(cause)}`;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return output;
|
|
60
|
+
}
|
|
61
|
+
function formatSingleError(error, filterStackTraces) {
|
|
22
62
|
let processedStackTrace = error.stack;
|
|
23
63
|
try {
|
|
24
64
|
const parsedStack = error_stack_parser_1.default.parse(error);
|
|
25
|
-
const filteredStack = filterStackTraces
|
|
26
|
-
? (0, filter_stack_trace_1.filterStackTrace)(parsedStack)
|
|
27
|
-
: parsedStack;
|
|
65
|
+
const filteredStack = filterStackTraces ? (0, filter_stack_trace_1.filterStackTrace)(parsedStack) : parsedStack;
|
|
28
66
|
processedStackTrace = filteredStack.map((f) => f.source).join('\n');
|
|
29
67
|
}
|
|
30
68
|
catch {
|
|
31
69
|
// if we weren't able to parse and process, we'll settle for the original
|
|
32
70
|
}
|
|
33
|
-
|
|
71
|
+
return (0, assertion_error_formatter_1.format)(error, {
|
|
34
72
|
colorFns: {
|
|
35
73
|
errorStack: (stack) => {
|
|
36
74
|
return processedStackTrace ? `\n${processedStackTrace}` : stack;
|
|
37
75
|
},
|
|
38
76
|
},
|
|
39
77
|
});
|
|
40
|
-
const type = error.constructor.name;
|
|
41
|
-
const message = typeof error === 'string' ? error : error.message;
|
|
42
|
-
return {
|
|
43
|
-
message: stackTrace,
|
|
44
|
-
exception: {
|
|
45
|
-
type,
|
|
46
|
-
message,
|
|
47
|
-
stackTrace,
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
78
|
}
|
|
51
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0X2Vycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvZm9ybWF0X2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsa0NBMEJDO0FBakNELHlFQUFrRDtBQUNsRCw0RUFBaUQ7QUFDakQsOERBQXdEO0FBRXhELDJEQUEyRDtBQUMzRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUE7QUFFMUIsU0FBZ0IsV0FBVyxDQUN6QixLQUFxQixFQUNyQixpQkFBMEI7SUFFMUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLFVBQVUsR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFBO1FBQ3BDLE9BQU87WUFDTCxPQUFPLEVBQUUsVUFBVTtZQUNuQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsVUFBVTthQUNYO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUNqRSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUNqRSxPQUFPO1FBQ0wsT0FBTyxFQUFFLFVBQVU7UUFDbkIsU0FBUyxFQUFFO1lBQ1QsSUFBSTtZQUNKLE9BQU87WUFDUCxVQUFVO1NBQ1g7S0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsS0FBWSxFQUFFLGlCQUEwQjtJQUNwRSxJQUFJLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUN4RCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDdEMsSUFBSSxLQUFLLEdBQWEsS0FBNkIsQ0FBQyxLQUFLLENBQUE7SUFDekQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbkUsSUFBSSxLQUFLLElBQUksZUFBZSxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLDZDQUE2QyxDQUFBO1lBQ3ZELE1BQUs7UUFDUCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLHVDQUF1QyxDQUFBO1lBQ2pELE1BQUs7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNmLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxnQkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQTtZQUN2RSxLQUFLLEdBQUksS0FBNkIsQ0FBQyxLQUFLLENBQUE7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksZ0JBQWdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFBO1lBQ3pDLE1BQUs7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBWSxFQUFFLGlCQUEwQjtJQUNqRSxJQUFJLG1CQUFtQixHQUFXLEtBQUssQ0FBQyxLQUFLLENBQUE7SUFDN0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsNEJBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pELE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFBLHFDQUFnQixFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7UUFDckYsbUJBQW1CLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AseUVBQXlFO0lBQzNFLENBQUM7SUFDRCxPQUFPLElBQUEsa0NBQU0sRUFBQyxLQUFLLEVBQUU7UUFDbkIsUUFBUSxFQUFFO1lBQ1IsVUFBVSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1lBQ2pFLENBQUM7U0FDRjtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRlc3RTdGVwUmVzdWx0IH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnYXNzZXJ0aW9uLWVycm9yLWZvcm1hdHRlcidcbmltcG9ydCBlcnJvclN0YWNrUGFyc2VyIGZyb20gJ2Vycm9yLXN0YWNrLXBhcnNlcidcbmltcG9ydCB7IGZpbHRlclN0YWNrVHJhY2UgfSBmcm9tICcuLi9maWx0ZXJfc3RhY2tfdHJhY2UnXG5cbi8vIEd1YXJkcyBhZ2FpbnN0IHJ1bmF3YXkgb3Igc2VsZi1yZWZlcmVudGlhbCBjYXVzZSBjaGFpbnMuXG5jb25zdCBNQVhfQ0FVU0VfREVQVEggPSAxMFxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RXJyb3IoXG4gIGVycm9yOiBFcnJvciB8IHN0cmluZyxcbiAgZmlsdGVyU3RhY2tUcmFjZXM6IGJvb2xlYW5cbik6IFBpY2s8VGVzdFN0ZXBSZXN1bHQsICdtZXNzYWdlJyB8ICdleGNlcHRpb24nPiB7XG4gIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3Qgc3RhY2tUcmFjZSA9IGBFcnJvcjogJHtlcnJvcn1gXG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2U6IHN0YWNrVHJhY2UsXG4gICAgICBleGNlcHRpb246IHtcbiAgICAgICAgdHlwZTogJ0Vycm9yJyxcbiAgICAgICAgbWVzc2FnZTogZXJyb3IsXG4gICAgICAgIHN0YWNrVHJhY2UsXG4gICAgICB9LFxuICAgIH1cbiAgfVxuICBjb25zdCBzdGFja1RyYWNlID0gZm9ybWF0RXJyb3JBbmRDYXVzZXMoZXJyb3IsIGZpbHRlclN0YWNrVHJhY2VzKVxuICBjb25zdCB0eXBlID0gZXJyb3IuY29uc3RydWN0b3IubmFtZVxuICBjb25zdCBtZXNzYWdlID0gdHlwZW9mIGVycm9yID09PSAnc3RyaW5nJyA/IGVycm9yIDogZXJyb3IubWVzc2FnZVxuICByZXR1cm4ge1xuICAgIG1lc3NhZ2U6IHN0YWNrVHJhY2UsXG4gICAgZXhjZXB0aW9uOiB7XG4gICAgICB0eXBlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHN0YWNrVHJhY2UsXG4gICAgfSxcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRFcnJvckFuZENhdXNlcyhlcnJvcjogRXJyb3IsIGZpbHRlclN0YWNrVHJhY2VzOiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IG91dHB1dCA9IGZvcm1hdFNpbmdsZUVycm9yKGVycm9yLCBmaWx0ZXJTdGFja1RyYWNlcylcbiAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8dW5rbm93bj4oW2Vycm9yXSlcbiAgbGV0IGNhdXNlOiB1bmtub3duID0gKGVycm9yIGFzIHsgY2F1c2U/OiB1bmtub3duIH0pLmNhdXNlXG4gIGZvciAobGV0IGRlcHRoID0gMDsgY2F1c2UgIT09IHVuZGVmaW5lZCAmJiBjYXVzZSAhPT0gbnVsbDsgZGVwdGgrKykge1xuICAgIGlmIChkZXB0aCA+PSBNQVhfQ0FVU0VfREVQVEgpIHtcbiAgICAgIG91dHB1dCArPSAnXFxuQ2F1c2VkIGJ5OiAuLi4gKGZ1cnRoZXIgY2F1c2VzIHRydW5jYXRlZCknXG4gICAgICBicmVha1xuICAgIH1cbiAgICBpZiAoc2Vlbi5oYXMoY2F1c2UpKSB7XG4gICAgICBvdXRwdXQgKz0gJ1xcbkNhdXNlZCBieTogLi4uIChjaXJjdWxhciByZWZlcmVuY2UpJ1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgc2Vlbi5hZGQoY2F1c2UpXG4gICAgaWYgKGNhdXNlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIG91dHB1dCArPSBgXFxuQ2F1c2VkIGJ5OiAke2Zvcm1hdFNpbmdsZUVycm9yKGNhdXNlLCBmaWx0ZXJTdGFja1RyYWNlcyl9YFxuICAgICAgY2F1c2UgPSAoY2F1c2UgYXMgeyBjYXVzZT86IHVua25vd24gfSkuY2F1c2VcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0ICs9IGBcXG5DYXVzZWQgYnk6ICR7U3RyaW5nKGNhdXNlKX1gXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0cHV0XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFNpbmdsZUVycm9yKGVycm9yOiBFcnJvciwgZmlsdGVyU3RhY2tUcmFjZXM6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBsZXQgcHJvY2Vzc2VkU3RhY2tUcmFjZTogc3RyaW5nID0gZXJyb3Iuc3RhY2tcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWRTdGFjayA9IGVycm9yU3RhY2tQYXJzZXIucGFyc2UoZXJyb3IpXG4gICAgY29uc3QgZmlsdGVyZWRTdGFjayA9IGZpbHRlclN0YWNrVHJhY2VzID8gZmlsdGVyU3RhY2tUcmFjZShwYXJzZWRTdGFjaykgOiBwYXJzZWRTdGFja1xuICAgIHByb2Nlc3NlZFN0YWNrVHJhY2UgPSBmaWx0ZXJlZFN0YWNrLm1hcCgoZikgPT4gZi5zb3VyY2UpLmpvaW4oJ1xcbicpXG4gIH0gY2F0Y2gge1xuICAgIC8vIGlmIHdlIHdlcmVuJ3QgYWJsZSB0byBwYXJzZSBhbmQgcHJvY2Vzcywgd2UnbGwgc2V0dGxlIGZvciB0aGUgb3JpZ2luYWxcbiAgfVxuICByZXR1cm4gZm9ybWF0KGVycm9yLCB7XG4gICAgY29sb3JGbnM6IHtcbiAgICAgIGVycm9yU3RhY2s6IChzdGFjazogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzZWRTdGFja1RyYWNlID8gYFxcbiR7cHJvY2Vzc2VkU3RhY2tUcmFjZX1gIDogc3RhY2tcbiAgICAgIH0sXG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
|
package/lib/runtime/helpers.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import StepDefinition from '../models/step_definition';
|
|
3
|
-
import { RuntimeOptions } from '.';
|
|
1
|
+
import { type Pickle, TestStepResultStatus } from '@cucumber/messages';
|
|
2
|
+
import type StepDefinition from '../models/step_definition';
|
|
3
|
+
import type { RuntimeOptions } from '.';
|
|
4
4
|
export declare function getAmbiguousStepException(stepDefinitions: StepDefinition[]): string;
|
|
5
|
-
export declare function retriesForPickle(pickle:
|
|
6
|
-
export declare function shouldCauseFailure(status:
|
|
5
|
+
export declare function retriesForPickle(pickle: Pickle, options: RuntimeOptions): number;
|
|
6
|
+
export declare function shouldCauseFailure(status: TestStepResultStatus, options: RuntimeOptions): boolean;
|
package/lib/runtime/helpers.js
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
4
|
};
|
|
@@ -39,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
6
|
exports.getAmbiguousStepException = getAmbiguousStepException;
|
|
40
7
|
exports.retriesForPickle = retriesForPickle;
|
|
41
8
|
exports.shouldCauseFailure = shouldCauseFailure;
|
|
9
|
+
const messages_1 = require("@cucumber/messages");
|
|
42
10
|
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
43
11
|
const indent_string_1 = __importDefault(require("indent-string"));
|
|
44
|
-
const messages = __importStar(require("@cucumber/messages"));
|
|
45
12
|
const location_helpers_1 = require("../formatter/helpers/location_helpers");
|
|
46
13
|
const pickle_filter_1 = require("../pickle_filter");
|
|
47
14
|
function getAmbiguousStepException(stepDefinitions) {
|
|
@@ -98,13 +65,13 @@ function shouldCauseFailure(status, options) {
|
|
|
98
65
|
return false;
|
|
99
66
|
}
|
|
100
67
|
const failureStatuses = [
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
68
|
+
messages_1.TestStepResultStatus.AMBIGUOUS,
|
|
69
|
+
messages_1.TestStepResultStatus.FAILED,
|
|
70
|
+
messages_1.TestStepResultStatus.UNDEFINED,
|
|
104
71
|
];
|
|
105
72
|
if (options.strict) {
|
|
106
|
-
failureStatuses.push(
|
|
73
|
+
failureStatuses.push(messages_1.TestStepResultStatus.PENDING);
|
|
107
74
|
}
|
|
108
75
|
return failureStatuses.includes(status);
|
|
109
76
|
}
|
|
110
|
-
//# sourceMappingURL=
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQSw4REFnQ0M7QUFFRCw0Q0FpQkM7QUFFRCxnREFhQztBQTFFRCxpREFBc0U7QUFDdEUsNERBQThCO0FBQzlCLGtFQUF3QztBQUN4Qyw0RUFBc0U7QUFFdEUsb0RBQWtEO0FBR2xELFNBQWdCLHlCQUF5QixDQUFDLGVBQWlDO0lBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUksb0JBQUssQ0FBQztRQUN0QixLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUUsRUFBRTtZQUNWLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLElBQUksRUFBRSxFQUFFO1lBQ1IsVUFBVSxFQUFFLEVBQUU7WUFDZCxHQUFHLEVBQUUsRUFBRTtZQUNQLFNBQVMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsR0FBRyxFQUFFLEVBQUU7WUFDUCxVQUFVLEVBQUUsRUFBRTtZQUNkLFNBQVMsRUFBRSxFQUFFO1lBQ2IsV0FBVyxFQUFFLEVBQUU7U0FDaEI7UUFDRCxLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUUsRUFBRTtZQUNWLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxDQUFDO1NBQ25CO0tBQ0YsQ0FBQyxDQUFBO0lBQ0YsS0FBSyxDQUFDLElBQUksQ0FDUixHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2pELE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBQSxpQ0FBYyxFQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFDbEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNELE9BQU8sR0FBRyxrQ0FBa0MsR0FBRyxJQUFJLEdBQUcsSUFBQSx1QkFBWSxFQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQzNGLENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsT0FBdUI7SUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQzdCLElBQUksT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUE7SUFDN0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBRyxJQUFJLCtCQUFlLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDM0QsSUFBSSxlQUFlLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyRCxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsTUFBNEIsRUFBRSxPQUF1QjtJQUN0RixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBMkI7UUFDOUMsK0JBQW9CLENBQUMsU0FBUztRQUM5QiwrQkFBb0IsQ0FBQyxNQUFNO1FBQzNCLCtCQUFvQixDQUFDLFNBQVM7S0FDL0IsQ0FBQTtJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLGVBQWUsQ0FBQyxJQUFJLENBQUMsK0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUNELE9BQU8sZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQaWNrbGUsIFRlc3RTdGVwUmVzdWx0U3RhdHVzIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IFRhYmxlIGZyb20gJ2NsaS10YWJsZTMnXG5pbXBvcnQgaW5kZW50U3RyaW5nIGZyb20gJ2luZGVudC1zdHJpbmcnXG5pbXBvcnQgeyBmb3JtYXRMb2NhdGlvbiB9IGZyb20gJy4uL2Zvcm1hdHRlci9oZWxwZXJzL2xvY2F0aW9uX2hlbHBlcnMnXG5pbXBvcnQgdHlwZSBTdGVwRGVmaW5pdGlvbiBmcm9tICcuLi9tb2RlbHMvc3RlcF9kZWZpbml0aW9uJ1xuaW1wb3J0IHsgUGlja2xlVGFnRmlsdGVyIH0gZnJvbSAnLi4vcGlja2xlX2ZpbHRlcidcbmltcG9ydCB0eXBlIHsgUnVudGltZU9wdGlvbnMgfSBmcm9tICcuJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW1iaWd1b3VzU3RlcEV4Y2VwdGlvbihzdGVwRGVmaW5pdGlvbnM6IFN0ZXBEZWZpbml0aW9uW10pOiBzdHJpbmcge1xuICBjb25zdCB0YWJsZSA9IG5ldyBUYWJsZSh7XG4gICAgY2hhcnM6IHtcbiAgICAgIGJvdHRvbTogJycsXG4gICAgICAnYm90dG9tLWxlZnQnOiAnJyxcbiAgICAgICdib3R0b20tbWlkJzogJycsXG4gICAgICAnYm90dG9tLXJpZ2h0JzogJycsXG4gICAgICBsZWZ0OiAnJyxcbiAgICAgICdsZWZ0LW1pZCc6ICcnLFxuICAgICAgbWlkOiAnJyxcbiAgICAgICdtaWQtbWlkJzogJycsXG4gICAgICBtaWRkbGU6ICcgLSAnLFxuICAgICAgcmlnaHQ6ICcnLFxuICAgICAgJ3JpZ2h0LW1pZCc6ICcnLFxuICAgICAgdG9wOiAnJyxcbiAgICAgICd0b3AtbGVmdCc6ICcnLFxuICAgICAgJ3RvcC1taWQnOiAnJyxcbiAgICAgICd0b3AtcmlnaHQnOiAnJyxcbiAgICB9LFxuICAgIHN0eWxlOiB7XG4gICAgICBib3JkZXI6IFtdLFxuICAgICAgJ3BhZGRpbmctbGVmdCc6IDAsXG4gICAgICAncGFkZGluZy1yaWdodCc6IDAsXG4gICAgfSxcbiAgfSlcbiAgdGFibGUucHVzaChcbiAgICAuLi5zdGVwRGVmaW5pdGlvbnMubWFwKChzdGVwRGVmaW5pdGlvbikgPT4ge1xuICAgICAgY29uc3QgcGF0dGVybiA9IHN0ZXBEZWZpbml0aW9uLnBhdHRlcm4udG9TdHJpbmcoKVxuICAgICAgcmV0dXJuIFtwYXR0ZXJuLCBmb3JtYXRMb2NhdGlvbihzdGVwRGVmaW5pdGlvbildXG4gICAgfSlcbiAgKVxuICByZXR1cm4gYCR7J011bHRpcGxlIHN0ZXAgZGVmaW5pdGlvbnMgbWF0Y2g6JyArICdcXG4nfSR7aW5kZW50U3RyaW5nKHRhYmxlLnRvU3RyaW5nKCksIDIpfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldHJpZXNGb3JQaWNrbGUocGlja2xlOiBQaWNrbGUsIG9wdGlvbnM6IFJ1bnRpbWVPcHRpb25zKTogbnVtYmVyIHtcbiAgaWYgKCFvcHRpb25zLnJldHJ5KSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBjb25zdCByZXRyaWVzID0gb3B0aW9ucy5yZXRyeVxuICBpZiAocmV0cmllcyA9PT0gMCkge1xuICAgIHJldHVybiAwXG4gIH1cbiAgY29uc3QgcmV0cnlUYWdGaWx0ZXIgPSBvcHRpb25zLnJldHJ5VGFnRmlsdGVyXG4gIGlmICghcmV0cnlUYWdGaWx0ZXIpIHtcbiAgICByZXR1cm4gcmV0cmllc1xuICB9XG4gIGNvbnN0IHBpY2tsZVRhZ0ZpbHRlciA9IG5ldyBQaWNrbGVUYWdGaWx0ZXIocmV0cnlUYWdGaWx0ZXIpXG4gIGlmIChwaWNrbGVUYWdGaWx0ZXIubWF0Y2hlc0FsbFRhZ0V4cHJlc3Npb25zKHBpY2tsZSkpIHtcbiAgICByZXR1cm4gcmV0cmllc1xuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRDYXVzZUZhaWx1cmUoc3RhdHVzOiBUZXN0U3RlcFJlc3VsdFN0YXR1cywgb3B0aW9uczogUnVudGltZU9wdGlvbnMpOiBib29sZWFuIHtcbiAgaWYgKG9wdGlvbnMuZHJ5UnVuKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgZmFpbHVyZVN0YXR1c2VzOiBUZXN0U3RlcFJlc3VsdFN0YXR1c1tdID0gW1xuICAgIFRlc3RTdGVwUmVzdWx0U3RhdHVzLkFNQklHVU9VUyxcbiAgICBUZXN0U3RlcFJlc3VsdFN0YXR1cy5GQUlMRUQsXG4gICAgVGVzdFN0ZXBSZXN1bHRTdGF0dXMuVU5ERUZJTkVELFxuICBdXG4gIGlmIChvcHRpb25zLnN0cmljdCkge1xuICAgIGZhaWx1cmVTdGF0dXNlcy5wdXNoKFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBFTkRJTkcpXG4gIH1cbiAgcmV0dXJuIGZhaWx1cmVTdGF0dXNlcy5pbmNsdWRlcyhzdGF0dXMpXG59XG4iXX0=
|
package/lib/runtime/index.js
CHANGED
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./make_runtime"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQThCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYWtlX3J1bnRpbWUnXG5leHBvcnQgeyBSdW50aW1lLCBSdW50aW1lT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG4iXX0=
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { EventEmitter } from 'node:events';
|
|
2
|
-
import { IdGenerator } from '@cucumber/messages';
|
|
3
|
-
import { IRunOptionsRuntime } from '../api';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { Runtime } from './types';
|
|
9
|
-
export declare function makeRuntime({ environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }: {
|
|
1
|
+
import type { EventEmitter } from 'node:events';
|
|
2
|
+
import type { IdGenerator } from '@cucumber/messages';
|
|
3
|
+
import type { IRunOptionsRuntime } from '../api';
|
|
4
|
+
import type { SourcedPickle } from '../assemble';
|
|
5
|
+
import type { ILogger, IRunEnvironment } from '../environment';
|
|
6
|
+
import type { FormatOptions } from '../formatter';
|
|
7
|
+
import type { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
8
|
+
import type { Runtime } from './types';
|
|
9
|
+
export declare function makeRuntime({ testRunStartedId, environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }: {
|
|
10
|
+
testRunStartedId: string;
|
|
10
11
|
environment: IRunEnvironment;
|
|
11
12
|
logger: ILogger;
|
|
12
13
|
eventBroadcaster: EventEmitter;
|
|
@@ -5,17 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.makeRuntime = makeRuntime;
|
|
7
7
|
const builder_1 = __importDefault(require("../formatter/builder"));
|
|
8
|
+
const coordinator_1 = require("./coordinator");
|
|
8
9
|
const adapter_1 = require("./parallel/adapter");
|
|
9
10
|
const adapter_2 = require("./serial/adapter");
|
|
10
|
-
|
|
11
|
-
async function makeRuntime({ environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }) {
|
|
12
|
-
const testRunStartedId = newId();
|
|
11
|
+
async function makeRuntime({ testRunStartedId, environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }) {
|
|
13
12
|
const adapter = await makeAdapter(options, snippetOptions, testRunStartedId, environment, logger, eventBroadcaster, supportCodeLibrary, newId);
|
|
14
|
-
return new coordinator_1.Coordinator(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, adapter);
|
|
13
|
+
return new coordinator_1.Coordinator(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, options.filterStacktraces, adapter);
|
|
15
14
|
}
|
|
16
15
|
async function makeAdapter(options, snippetOptions, testRunStartedId, environment, logger, eventBroadcaster, supportCodeLibrary, newId) {
|
|
17
16
|
if (options.parallel > 0) {
|
|
18
|
-
return new adapter_1.
|
|
17
|
+
return new adapter_1.WorkerThreadsAdapter(testRunStartedId, environment, logger, eventBroadcaster, options, snippetOptions, supportCodeLibrary);
|
|
19
18
|
}
|
|
20
19
|
const snippetBuilder = await builder_1.default.getStepDefinitionSnippetBuilder({
|
|
21
20
|
cwd: environment.cwd,
|
|
@@ -25,4 +24,4 @@ async function makeAdapter(options, snippetOptions, testRunStartedId, environmen
|
|
|
25
24
|
});
|
|
26
25
|
return new adapter_2.InProcessAdapter(testRunStartedId, eventBroadcaster, newId, options, supportCodeLibrary, snippetBuilder);
|
|
27
26
|
}
|
|
28
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9ydW50aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvbWFrZV9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsa0NBd0NDO0FBL0NELG1FQUFtRDtBQUVuRCwrQ0FBMkM7QUFDM0MsZ0RBQXlEO0FBQ3pELDhDQUFtRDtBQUc1QyxLQUFLLFVBQVUsV0FBVyxDQUFDLEVBQ2hDLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsS0FBSyxFQUNMLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsY0FBYyxHQVdmO0lBQ0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxXQUFXLENBQy9CLE9BQU8sRUFDUCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixLQUFLLENBQ04sQ0FBQTtJQUNELE9BQU8sSUFBSSx5QkFBVyxDQUNwQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLE9BQU8sQ0FBQyxpQkFBaUIsRUFDekIsT0FBTyxDQUNSLENBQUE7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLFdBQVcsQ0FDeEIsT0FBMkIsRUFDM0IsY0FBeUUsRUFDekUsZ0JBQXdCLEVBQ3hCLFdBQTRCLEVBQzVCLE1BQWUsRUFDZixnQkFBOEIsRUFDOUIsa0JBQXNDLEVBQ3RDLEtBQW1CO0lBRW5CLElBQUksT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksOEJBQW9CLENBQzdCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsY0FBYyxFQUNkLGtCQUFrQixDQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0saUJBQWdCLENBQUMsK0JBQStCLENBQUM7UUFDNUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1FBQ3BCLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxnQkFBZ0I7UUFDakQsYUFBYSxFQUFFLGNBQWMsQ0FBQyxhQUFhO1FBQzNDLGtCQUFrQjtLQUNuQixDQUFDLENBQUE7SUFDRixPQUFPLElBQUksMEJBQWdCLENBQ3pCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLE9BQU8sRUFDUCxrQkFBa0IsRUFDbEIsY0FBYyxDQUNmLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdub2RlOmV2ZW50cydcbmltcG9ydCB0eXBlIHsgSWRHZW5lcmF0b3IgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IElSdW5PcHRpb25zUnVudGltZSB9IGZyb20gJy4uL2FwaSdcbmltcG9ydCB0eXBlIHsgU291cmNlZFBpY2tsZSB9IGZyb20gJy4uL2Fzc2VtYmxlJ1xuaW1wb3J0IHR5cGUgeyBJTG9nZ2VyLCBJUnVuRW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudCdcbmltcG9ydCB0eXBlIHsgRm9ybWF0T3B0aW9ucyB9IGZyb20gJy4uL2Zvcm1hdHRlcidcbmltcG9ydCBGb3JtYXR0ZXJCdWlsZGVyIGZyb20gJy4uL2Zvcm1hdHRlci9idWlsZGVyJ1xuaW1wb3J0IHR5cGUgeyBTdXBwb3J0Q29kZUxpYnJhcnkgfSBmcm9tICcuLi9zdXBwb3J0X2NvZGVfbGlicmFyeV9idWlsZGVyL3R5cGVzJ1xuaW1wb3J0IHsgQ29vcmRpbmF0b3IgfSBmcm9tICcuL2Nvb3JkaW5hdG9yJ1xuaW1wb3J0IHsgV29ya2VyVGhyZWFkc0FkYXB0ZXIgfSBmcm9tICcuL3BhcmFsbGVsL2FkYXB0ZXInXG5pbXBvcnQgeyBJblByb2Nlc3NBZGFwdGVyIH0gZnJvbSAnLi9zZXJpYWwvYWRhcHRlcidcbmltcG9ydCB0eXBlIHsgUnVudGltZSB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYWtlUnVudGltZSh7XG4gIHRlc3RSdW5TdGFydGVkSWQsXG4gIGVudmlyb25tZW50LFxuICBsb2dnZXIsXG4gIGV2ZW50QnJvYWRjYXN0ZXIsXG4gIHNvdXJjZWRQaWNrbGVzLFxuICBuZXdJZCxcbiAgc3VwcG9ydENvZGVMaWJyYXJ5LFxuICBvcHRpb25zLFxuICBzbmlwcGV0T3B0aW9ucyxcbn06IHtcbiAgdGVzdFJ1blN0YXJ0ZWRJZDogc3RyaW5nXG4gIGVudmlyb25tZW50OiBJUnVuRW52aXJvbm1lbnRcbiAgbG9nZ2VyOiBJTG9nZ2VyXG4gIGV2ZW50QnJvYWRjYXN0ZXI6IEV2ZW50RW1pdHRlclxuICBuZXdJZDogSWRHZW5lcmF0b3IuTmV3SWRcbiAgc291cmNlZFBpY2tsZXM6IFJlYWRvbmx5QXJyYXk8U291cmNlZFBpY2tsZT5cbiAgc3VwcG9ydENvZGVMaWJyYXJ5OiBTdXBwb3J0Q29kZUxpYnJhcnlcbiAgb3B0aW9uczogSVJ1bk9wdGlvbnNSdW50aW1lXG4gIHNuaXBwZXRPcHRpb25zOiBQaWNrPEZvcm1hdE9wdGlvbnMsICdzbmlwcGV0SW50ZXJmYWNlJyB8ICdzbmlwcGV0U3ludGF4Jz5cbn0pOiBQcm9taXNlPFJ1bnRpbWU+IHtcbiAgY29uc3QgYWRhcHRlciA9IGF3YWl0IG1ha2VBZGFwdGVyKFxuICAgIG9wdGlvbnMsXG4gICAgc25pcHBldE9wdGlvbnMsXG4gICAgdGVzdFJ1blN0YXJ0ZWRJZCxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2dnZXIsXG4gICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICBzdXBwb3J0Q29kZUxpYnJhcnksXG4gICAgbmV3SWRcbiAgKVxuICByZXR1cm4gbmV3IENvb3JkaW5hdG9yKFxuICAgIHRlc3RSdW5TdGFydGVkSWQsXG4gICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICBuZXdJZCxcbiAgICBzb3VyY2VkUGlja2xlcyxcbiAgICBzdXBwb3J0Q29kZUxpYnJhcnksXG4gICAgb3B0aW9ucy5maWx0ZXJTdGFja3RyYWNlcyxcbiAgICBhZGFwdGVyXG4gIClcbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFrZUFkYXB0ZXIoXG4gIG9wdGlvbnM6IElSdW5PcHRpb25zUnVudGltZSxcbiAgc25pcHBldE9wdGlvbnM6IFBpY2s8Rm9ybWF0T3B0aW9ucywgJ3NuaXBwZXRJbnRlcmZhY2UnIHwgJ3NuaXBwZXRTeW50YXgnPixcbiAgdGVzdFJ1blN0YXJ0ZWRJZDogc3RyaW5nLFxuICBlbnZpcm9ubWVudDogSVJ1bkVudmlyb25tZW50LFxuICBsb2dnZXI6IElMb2dnZXIsXG4gIGV2ZW50QnJvYWRjYXN0ZXI6IEV2ZW50RW1pdHRlcixcbiAgc3VwcG9ydENvZGVMaWJyYXJ5OiBTdXBwb3J0Q29kZUxpYnJhcnksXG4gIG5ld0lkOiAoKSA9PiBzdHJpbmdcbikge1xuICBpZiAob3B0aW9ucy5wYXJhbGxlbCA+IDApIHtcbiAgICByZXR1cm4gbmV3IFdvcmtlclRocmVhZHNBZGFwdGVyKFxuICAgICAgdGVzdFJ1blN0YXJ0ZWRJZCxcbiAgICAgIGVudmlyb25tZW50LFxuICAgICAgbG9nZ2VyLFxuICAgICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzbmlwcGV0T3B0aW9ucyxcbiAgICAgIHN1cHBvcnRDb2RlTGlicmFyeVxuICAgIClcbiAgfVxuICBjb25zdCBzbmlwcGV0QnVpbGRlciA9IGF3YWl0IEZvcm1hdHRlckJ1aWxkZXIuZ2V0U3RlcERlZmluaXRpb25TbmlwcGV0QnVpbGRlcih7XG4gICAgY3dkOiBlbnZpcm9ubWVudC5jd2QsXG4gICAgc25pcHBldEludGVyZmFjZTogc25pcHBldE9wdGlvbnMuc25pcHBldEludGVyZmFjZSxcbiAgICBzbmlwcGV0U3ludGF4OiBzbmlwcGV0T3B0aW9ucy5zbmlwcGV0U3ludGF4LFxuICAgIHN1cHBvcnRDb2RlTGlicmFyeSxcbiAgfSlcbiAgcmV0dXJuIG5ldyBJblByb2Nlc3NBZGFwdGVyKFxuICAgIHRlc3RSdW5TdGFydGVkSWQsXG4gICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICBuZXdJZCxcbiAgICBvcHRpb25zLFxuICAgIHN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICBzbmlwcGV0QnVpbGRlclxuICApXG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IdGenerator, PickleStep, Suggestion } from '@cucumber/messages';
|
|
2
|
-
import StepDefinitionSnippetBuilder from '../formatter/step_definition_snippet_builder';
|
|
1
|
+
import { type IdGenerator, type PickleStep, type Suggestion } from '@cucumber/messages';
|
|
2
|
+
import type StepDefinitionSnippetBuilder from '../formatter/step_definition_snippet_builder';
|
|
3
3
|
export declare function makeSuggestion({ newId, snippetBuilder, pickleStep, }: {
|
|
4
4
|
newId: IdGenerator.NewId;
|
|
5
5
|
snippetBuilder: StepDefinitionSnippetBuilder;
|
|
@@ -28,4 +28,4 @@ function makeSuggestion({ newId, snippetBuilder, pickleStep, }) {
|
|
|
28
28
|
snippets,
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9zdWdnZXN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvbWFrZV9zdWdnZXN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBc0JBLHdDQXFCQztBQTNDRCxpREFLMkI7QUFDM0Isa0RBQWtEO0FBR2xELFNBQVMsOEJBQThCLENBQUMsSUFBcUI7SUFDM0QsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUsseUJBQWMsQ0FBQyxPQUFPO1lBQ3pCLE9BQU8scUJBQVcsQ0FBQyxZQUFZLENBQUE7UUFDakMsS0FBSyx5QkFBYyxDQUFDLE1BQU07WUFDeEIsT0FBTyxxQkFBVyxDQUFDLEtBQUssQ0FBQTtRQUMxQixLQUFLLHlCQUFjLENBQUMsT0FBTztZQUN6QixPQUFPLHFCQUFXLENBQUMsT0FBTyxDQUFBO1FBQzVCO1lBQ0UsT0FBTyxxQkFBVyxDQUFDLFlBQVksQ0FBQTtJQUNuQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxFQUM3QixLQUFLLEVBQ0wsY0FBYyxFQUNkLFVBQVUsR0FLWDtJQUNDLE1BQU0sV0FBVyxHQUFHLDhCQUE4QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuRSxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFDdkUsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQyxJQUFJO1FBQ0osUUFBUSxFQUFFLFlBQVk7S0FDdkIsQ0FBQyxDQUFDLENBQUE7SUFFSCxPQUFPO1FBQ0wsRUFBRSxFQUFFLEtBQUssRUFBRTtRQUNYLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRTtRQUMzQixRQUFRO0tBQ1QsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIElkR2VuZXJhdG9yLFxuICB0eXBlIFBpY2tsZVN0ZXAsXG4gIFBpY2tsZVN0ZXBUeXBlLFxuICB0eXBlIFN1Z2dlc3Rpb24sXG59IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IEtleXdvcmRUeXBlIH0gZnJvbSAnLi4vZm9ybWF0dGVyL2hlbHBlcnMnXG5pbXBvcnQgdHlwZSBTdGVwRGVmaW5pdGlvblNuaXBwZXRCdWlsZGVyIGZyb20gJy4uL2Zvcm1hdHRlci9zdGVwX2RlZmluaXRpb25fc25pcHBldF9idWlsZGVyJ1xuXG5mdW5jdGlvbiBtYXBQaWNrbGVTdGVwVHlwZVRvS2V5d29yZFR5cGUodHlwZT86IFBpY2tsZVN0ZXBUeXBlKTogS2V5d29yZFR5cGUge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFBpY2tsZVN0ZXBUeXBlLkNPTlRFWFQ6XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuUHJlY29uZGl0aW9uXG4gICAgY2FzZSBQaWNrbGVTdGVwVHlwZS5BQ1RJT046XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuRXZlbnRcbiAgICBjYXNlIFBpY2tsZVN0ZXBUeXBlLk9VVENPTUU6XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuT3V0Y29tZVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gS2V5d29yZFR5cGUuUHJlY29uZGl0aW9uXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VTdWdnZXN0aW9uKHtcbiAgbmV3SWQsXG4gIHNuaXBwZXRCdWlsZGVyLFxuICBwaWNrbGVTdGVwLFxufToge1xuICBuZXdJZDogSWRHZW5lcmF0b3IuTmV3SWRcbiAgc25pcHBldEJ1aWxkZXI6IFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXJcbiAgcGlja2xlU3RlcDogUGlja2xlU3RlcFxufSk6IFN1Z2dlc3Rpb24ge1xuICBjb25zdCBrZXl3b3JkVHlwZSA9IG1hcFBpY2tsZVN0ZXBUeXBlVG9LZXl3b3JkVHlwZShwaWNrbGVTdGVwLnR5cGUpXG4gIGNvbnN0IGNvZGVzID0gc25pcHBldEJ1aWxkZXIuYnVpbGRNdWx0aXBsZSh7IGtleXdvcmRUeXBlLCBwaWNrbGVTdGVwIH0pXG4gIGNvbnN0IHNuaXBwZXRzID0gY29kZXMubWFwKChjb2RlKSA9PiAoe1xuICAgIGNvZGUsXG4gICAgbGFuZ3VhZ2U6ICdqYXZhc2NyaXB0JyxcbiAgfSkpXG5cbiAgcmV0dXJuIHtcbiAgICBpZDogbmV3SWQoKSxcbiAgICBwaWNrbGVTdGVwSWQ6IHBpY2tsZVN0ZXAuaWQsXG4gICAgc25pcHBldHMsXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,28 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
interface ManagedWorker {
|
|
17
|
-
state: WorkerState;
|
|
18
|
-
process: ChildProcess;
|
|
19
|
-
id: string;
|
|
20
|
-
}
|
|
21
|
-
interface WorkPlacement {
|
|
22
|
-
index: number;
|
|
23
|
-
item: AssembledTestCase;
|
|
24
|
-
}
|
|
25
|
-
export declare class ChildProcessAdapter implements RuntimeAdapter {
|
|
1
|
+
import type { EventEmitter } from 'node:events';
|
|
2
|
+
import type { IRunOptionsRuntime } from '../../api';
|
|
3
|
+
import type { AssembledTestCase } from '../../assemble';
|
|
4
|
+
import type { ILogger, IRunEnvironment } from '../../environment';
|
|
5
|
+
import type { FormatOptions } from '../../formatter';
|
|
6
|
+
import type { SupportCodeLibrary } from '../../support_code_library_builder/types';
|
|
7
|
+
import type { RuntimeAdapter } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* An adapter that distributes work across multiple worker threads
|
|
10
|
+
* @remarks
|
|
11
|
+
* Each phase of the test run is self-contained and self-orchestrating - every
|
|
12
|
+
* FINISHED message from a worker may cause the next piece of work to be
|
|
13
|
+
* triggered or the phase to be settled.
|
|
14
|
+
*/
|
|
15
|
+
export declare class WorkerThreadsAdapter implements RuntimeAdapter {
|
|
26
16
|
private readonly testRunStartedId;
|
|
27
17
|
private readonly environment;
|
|
28
18
|
private readonly logger;
|
|
@@ -30,20 +20,21 @@ export declare class ChildProcessAdapter implements RuntimeAdapter {
|
|
|
30
20
|
private readonly options;
|
|
31
21
|
private readonly snippetOptions;
|
|
32
22
|
private readonly supportCodeLibrary;
|
|
33
|
-
private
|
|
34
|
-
private
|
|
35
|
-
private
|
|
36
|
-
private todo;
|
|
37
|
-
private readonly inProgress;
|
|
23
|
+
private readiness?;
|
|
24
|
+
private phase?;
|
|
25
|
+
private tearingDown;
|
|
38
26
|
private readonly workers;
|
|
27
|
+
private readonly running;
|
|
39
28
|
constructor(testRunStartedId: string, environment: IRunEnvironment, logger: ILogger, eventBroadcaster: EventEmitter, options: IRunOptionsRuntime, snippetOptions: Pick<FormatOptions, 'snippetInterface' | 'snippetSyntax'>, supportCodeLibrary: SupportCodeLibrary);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
29
|
+
setup(): Promise<void>;
|
|
30
|
+
runBeforeAllHooks(): Promise<boolean>;
|
|
31
|
+
runTestCases(assembledTestCases: ReadonlyArray<AssembledTestCase>): Promise<boolean>;
|
|
32
|
+
runAfterAllHooks(): Promise<boolean>;
|
|
33
|
+
teardown(): Promise<void>;
|
|
34
|
+
private startPhase;
|
|
35
|
+
private issueCommandToWorker;
|
|
36
|
+
private handleEventFromWorker;
|
|
37
|
+
private handleErrorFromWorker;
|
|
38
|
+
private handleExitFromWorker;
|
|
39
|
+
private fail;
|
|
48
40
|
}
|
|
49
|
-
export {};
|