dart-sdk/pkg/front_end/testcases
Kallen Tu 523f03a749 [cfe] Local and top level function wildcard type parameters are non-binding.
This CL adds `isWildcard` to `StructuralVariableBuilder` and allows type variables in functions and function types. It also removes them from scope so they can't be used.

Bug: https://github.com/dart-lang/sdk/issues/55655
Change-Id: I26237375480318dd0c9a01cb59b3426b783ca7be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/372240
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2024-06-21 17:59:29 +00:00
..
class_modifiers [cfe] Update expectations after change to test suite 2024-05-30 11:25:43 +00:00
const_functions [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
constructor_tearoffs [dart2wasm] Move list implementations to their own library 2024-06-21 14:46:58 +00:00
dart2js Add expectation tests for Function.toJS lowerings 2024-06-14 22:28:40 +00:00
dart2wasm [dart2wasm] Make use of TFA-inferred types in more cases 2024-05-08 11:23:14 +00:00
dartdevc Add expectation tests for Function.toJS lowerings 2024-06-14 22:28:40 +00:00
dartino [cfe] Ensure that options have been validated 2024-05-13 12:04:28 +00:00
enhanced_enums [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
expression [cfe] Introduce compilation unit 2024-06-10 13:41:24 +00:00
extension_types [dart2wasm] Move list implementations to their own library 2024-06-21 14:46:58 +00:00
extensions [cfe] Update expectations after change to test suite 2024-05-30 11:25:43 +00:00
general [dart2wasm] Move list implementations to their own library 2024-06-21 14:46:58 +00:00
generic_metadata Revert "[cfe] Process invocations eagerly" 2024-06-21 07:02:40 +00:00
implicit_getter_calls [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
incremental [cfe] Process imports/exports separately 2024-06-17 12:43:51 +00:00
inference [cfe] Remove Env.isNonNullableByDefault 2024-06-03 06:42:54 +00:00
inference_new [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
inference_update_1 [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
inference_update_2 [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
inference_update_3 [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
instantiate_to_bound [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
late_lowering [cfe] Use generateKernelInternal in expectation tests 2024-05-30 08:17:18 +00:00
late_lowering_sentinel [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
macros [cfe] Allow augmenting top-level members in the same file 2024-05-30 13:32:25 +00:00
named_arguments_anywhere [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
nnbd [cfe] Use generateKernelInternal in expectation tests 2024-05-30 08:17:18 +00:00
no_such_method_forwarders [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
none [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
nonfunction_type_aliases Revert "[cfe] Process invocations eagerly" 2024-06-21 07:02:40 +00:00
offsets [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
patterns [cfe] isWildcard set only with experiment on. 2024-06-12 14:25:59 +00:00
rasta [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
records [cfe] isWildcard set only with experiment on. 2024-06-12 14:25:59 +00:00
regress [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
runtime_checks [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
runtime_checks_new [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
sealed_class [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
set_literals [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
static_field_lowering [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
super_parameters [cfe] Update expectations after change to test suite 2024-05-30 11:25:43 +00:00
triple_shift [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
unified_collections [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
unscheduled_experiments
variance [cfe] Run weak suite only on dart2js 2024-05-15 11:33:06 +00:00
wildcard_variables [cfe] Local and top level function wildcard type parameters are non-binding. 2024-06-21 17:59:29 +00:00
expression.status
incremental.status [cfe] Place return type into parameter scope in TypeBuilderComputer 2024-03-05 08:09:18 +00:00
incremental_bulk_compiler_full.status
incremental_bulk_compiler_smoke.status
incremental_dartino.status
modular.status [cfe] Remove isNonNullableByDefault from TypeSchemaEnvironment 2024-05-30 12:34:59 +00:00
outline.status [cfe] Update expectations after change to test suite 2024-05-30 11:25:43 +00:00
OWNERS
README.md
sdk.status
strong.status [cfe] Class type parameters wildcards are non-binding. 2024-06-20 19:27:10 +00:00
textual_outline.status [cfe] Add least supported version check of 2.12 2024-05-08 09:28:45 +00:00
weak.status [cfe] Use generateKernelInternal in expectation tests 2024-05-30 08:17:18 +00:00

Overview

The testcases in this directory and its subdirectory are all compiled in various different configurations designed to test various aspects of Fasta (or more generally, package:front_end).

The configurations are described below.

The source of truth for these configurations is the file pkg/front_end/testing.json.

Updating all expectations

To update test expectations for all tests at once, run:

dart pkg/front_end/tool/update_expectations.dart

Note that this takes a long time and should only be used when many tests need updating.

Updating expectations for a single test

To update the expectations for a specific test, provide the folder and test name as an argument.

For example, if you want to update the test expectations for a test, such as pkg/front_end/testcases/general/abstract_instantiation.dart, then run:

dart pkg/front_end/tool/update_expectations.dart general/abstract_instantiation

Updating expectations for all tests in a folder

If you want to update the test expectations for a specific folder of tests such as the pkg/front_end/testcases/general/ folder, then run:

dart pkg/front_end/tool/update_expectations.dart general/...

Dart 1.0 Outlines

./pkg/front_end/tool/fasta testing -DupdateExpectations=true outline/test1 outline/test2 ...

Dart 2.0 (strong mode)

./pkg/front_end/tool/fasta testing -DupdateExpectations=true -DupdateComments=true strong/test1 strong/test2 ...

Note: strong mode configuration additionally parses comments in the test file and can precisely match internal details of the compiler such as the inferred type of an expression or if a warning was emitted at a given location.