Commit 0a29fc8
authored
super_errors_multi: multi-file fixture harness for cross-module errors (#8433)
* super_errors_multi: add multi-file fixture harness with 4 smoke fixtures
* super_errors_multi: cover Includemod variants through compunit (.resi/.res signature mismatch)
* super_errors_multi: cover cross-module type / record / constructor disambiguation errors
* super_errors_multi: cover cross-module external, private constructor, unused open
* super_errors_multi: drop orphan JSX expected snapshot
* super_errors_multi: cover cross-module deprecation, open-shadows, label-constructor disambiguation
* super_errors_multi: cover typemod Interface_not_compiled
* super_errors_multi: cover cross-module exception, record extra field, polyvariant constraint, alias dot access
* super_errors_multi: cover inline record constructor, variant spread, async/promise, optional label omitted
* super_errors_multi: cover interface-hidden record access, uncurried arity, dict pattern, .resi-only ref
* super_errors_multi: cover typecore Unqualified_gadt_pattern via cross-module GADT disambiguation
* super_errors_multi: cover typecore Modules_not_allowed and Unexpected_existential
* super_errors_multi: cover includecore Privacy, Field_mutable, Field_optional, Unboxed_representation, Tag_name mismatches
* super_errors_multi: cover includecore Variant_representation via different @as tag types
* Update changelog for #8433
* super_errors_multi: lowercase `.cmi` basenames in snapshot post-processing
`find_in_path_uncap` resolves `.cmi` lookups case-insensitively, so the
filename printed in error messages picks up whichever case the host
filesystem returns: lowercase on macOS APFS/HFS+, capitalised on Linux
ext4. Snapshots captured locally on macOS therefore mismatch on Linux
CI (`foo.cmi` vs `Foo.cmi`).
Normalise every `.cmi` basename to lowercase in postProcessErrorOutput
so snapshots are platform-independent. The same function runs on the
expected file too, so existing snapshots keep matching.1 parent 4f27edd commit 0a29fc8
145 files changed
Lines changed: 1078 additions & 2 deletions
File tree
- scripts
- tests/build_tests/super_errors_multi
- expected
- fixtures
- Cross_abstract_type_construction
- Cross_async_promise_mismatch
- Cross_chain_of_aliases
- Cross_dependent_clash
- Cross_deprecated_type
- Cross_deprecated_value
- Cross_dict_pattern
- Cross_exception_arity_mismatch
- Cross_external_argument_clash
- Cross_gadt_pattern
- Cross_inline_record_constructor
- Cross_module_alias_dot_access
- Cross_module_open_shadow_label_constructor
- Cross_module_record_disambiguation
- Cross_module_type_only_no_impl
- Cross_open_shadows_identifier
- Cross_optional_label_omitted
- Cross_polyvariant_constraint
- Cross_private_constructor_pattern
- Cross_qualified_constructor_mismatch
- Cross_record_extra_field
- Cross_uncurried_arity
- Cross_unused_open
- Cross_variant_spread
- Iface_extension_constructors
- Iface_field_mutable_mismatch
- Iface_field_optional_mismatch
- Iface_missing_value
- Iface_modtype_infos
- Iface_module_types
- Iface_not_compiled
- Iface_privacy_mismatch
- Iface_tag_name_mismatch
- Iface_type_decl_record
- Iface_type_decl_variant
- Iface_unboxed_variant_mismatch
- Iface_value_descriptions
- Iface_variant_representation_mismatch
- Modules_not_allowed_toplevel
- Smoke_cross_module_type_clash
- Smoke_interface_mismatch
- Smoke_missing_field
- Smoke_unbound_module_reference
- Unexpected_existential_in_let
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
0 commit comments