Skip to content

Commit

Permalink
Make test failure source locations lazy (#12260)
Browse files Browse the repository at this point in the history
  • Loading branch information
GregoryTravis authored Mar 7, 2025
1 parent 80a7d4f commit 3888ec5
Show file tree
Hide file tree
Showing 24 changed files with 544 additions and 439 deletions.
108 changes: 54 additions & 54 deletions distribution/lib/Standard/Test/0.0.0-dev/docs/api/Extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,65 +2,65 @@
## module Standard.Test.Extensions
- Standard.Base.Any.Any.should_be_a self typ:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_be_a self typ:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_end_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_end_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_ignoring_order self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_ignoring_order self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_fail_with self matcher:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_fail_with self matcher:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_only_contain_elements_in self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_only_contain_elements_in self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_start_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_start_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_succeed self frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_succeed self frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_end_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_end_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_ignoring_order self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_ignoring_order self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_fail_with self matcher:Standard.Base.Any.Any unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_fail_with self matcher:Standard.Base.Any.Any unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_not_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_only_contain_elements_in self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_only_contain_elements_in self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_start_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_start_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_succeed self -> Standard.Base.Any.Any
- Standard.Base.Any.Any.should_succeed self -> Standard.Base.Any.Any
- Standard.Base.Data.Boolean.Boolean.should_be_false self -> Standard.Base.Any.Any
- Standard.Base.Data.Boolean.Boolean.should_be_false self -> Standard.Base.Any.Any
- Standard.Base.Data.Boolean.Boolean.should_be_true self -> Standard.Base.Any.Any
- Standard.Base.Data.Boolean.Boolean.should_be_true self -> Standard.Base.Any.Any
- Standard.Base.Data.Decimal.Decimal.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Data.Decimal.Decimal.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_a self typ:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_a self typ:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Data.Decimal.Decimal.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Data.Decimal.Decimal.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_a self typ:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_a self typ:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_false self -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_false self -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_true self -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_be_true self -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_end_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_end_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_ignoring_order self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_ignoring_order self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_fail_with self matcher:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_fail_with self matcher:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_contain self element:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal_type self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_only_contain_elements_in self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_only_contain_elements_in self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_start_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_start_with self that:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_succeed self frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_succeed self frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Data.Numbers.Number.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Data.Numbers.Number.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_end_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_end_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_ignoring_order self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_ignoring_order self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_fail_with self matcher:Standard.Base.Any.Any unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_fail_with self matcher:Standard.Base.Any.Any unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_contain self element:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_not_equal_type self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_only_contain_elements_in self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_only_contain_elements_in self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_start_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_start_with self that:Standard.Base.Any.Any -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_succeed self -> Standard.Base.Any.Any
- Standard.Base.Error.Error.should_succeed self -> Standard.Base.Any.Any
- Standard.Base.Data.Numbers.Number.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- Standard.Base.Data.Numbers.Number.should_equal self that:Standard.Base.Any.Any epsilon:Standard.Base.Any.Any= -> Standard.Base.Any.Any
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Enso Signatures 1.0
## module Standard.Test.Frame_Hider
- type Frame_Hider
- get_top_stack_frame -> Standard.Base.Data.Text.Text
- hide ~action:Standard.Base.Any.Any -> Standard.Base.Any.Any
- unhide ~action:Standard.Base.Any.Any -> Standard.Base.Any.Any
- unhide_1 f:Standard.Base.Any.Any x:Standard.Base.Any.Any -> Standard.Base.Any.Any
- unhide_2 f:Standard.Base.Any.Any x:Standard.Base.Any.Any y:Standard.Base.Any.Any -> Standard.Base.Any.Any
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
- expect_warning expected_warning:Standard.Base.Any.Any result:Standard.Base.Any.Any unwrap_errors:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- get_attached_warnings v:Standard.Base.Any.Any -> Standard.Base.Any.Any
- not_expect_warning expected_warning_type:Standard.Base.Any.Any result:Standard.Base.Any.Any -> Standard.Base.Any.Any
- test_advanced_problem_handling action:Standard.Base.Any.Any error_checker:Standard.Base.Any.Any warnings_checker:Standard.Base.Any.Any result_checker:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- test_advanced_problem_handling action:Standard.Base.Any.Any error_checker:Standard.Base.Any.Any warnings_checker:Standard.Base.Any.Any result_checker:Standard.Base.Any.Any -> Standard.Base.Any.Any
- test_problem_handling action:Standard.Base.Any.Any expected_problems:Standard.Base.Any.Any result_checker:Standard.Base.Any.Any unwrap_errors:Standard.Base.Data.Boolean.Boolean= ignore_warning_cardinality:Standard.Base.Data.Boolean.Boolean= -> Standard.Base.Any.Any
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
- type Should_Reach
- new -> Standard.Base.Any.Any
- reached self -> Standard.Base.Nothing.Nothing
- should_have_reached self frames_to_skip:Standard.Base.Data.Numbers.Integer= -> Standard.Test.Spec_Result.Spec_Result
- should_have_reached self -> Standard.Test.Spec_Result.Spec_Result
7 changes: 3 additions & 4 deletions distribution/lib/Standard/Test/0.0.0-dev/docs/api/Test.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
## Enso Signatures 1.0
## module Standard.Test.Test
- type Test
- assert_no_problems value:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- assert_no_problems value:Standard.Base.Any.Any -> Standard.Base.Any.Any
- build fn:Standard.Base.Any.Any -> Standard.Base.Any.Any
- enrich_message_with_clue message:Standard.Base.Any.Any -> Standard.Base.Any.Any
- expect_panic matcher:Standard.Base.Any.Any ~action:Standard.Base.Any.Any -> Standard.Base.Any.Any
- expect_panic_with ~action:Standard.Base.Any.Any matcher:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- expect_panic_with ~action:Standard.Base.Any.Any matcher:Standard.Base.Any.Any -> Standard.Base.Any.Any
- fail message:Standard.Base.Any.Any details:Standard.Base.Any.Any= -> Standard.Base.Any.Any
- fail_match_on_unexpected_error error:Standard.Base.Any.Any frames_to_skip:Standard.Base.Any.Any -> Standard.Base.Any.Any
- get_source_location skip_frames:Standard.Base.Data.Numbers.Integer -> Standard.Base.Data.Text.Text
- fail_match_on_unexpected_error error:Standard.Base.Any.Any -> Standard.Base.Any.Any
- with_clue ~clue:Standard.Base.Any.Any ~behavior:Standard.Base.Any.Any -> Standard.Base.Any.Any
- with_retries ~action:Standard.Base.Any.Any -> Standard.Base.Any.Any
Loading

0 comments on commit 3888ec5

Please sign in to comment.