Version 2.13.0-3.0.dev

Merge commit '36e10faa3b97094672d375b4acce2c5ff1bc3e8a' into 'dev'
diff --git a/.gitattributes b/.gitattributes
index 6455c32..0cf8e09 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -14,14 +14,14 @@
 *.yaml text
 
 # File that should not be converted.
-tests/dart2js/eof_line_ending_test.dart -text
-tests/dart2js/string_interpolation_test.dart -text
-tests/dart2js/string_interpolation_dynamic_test.dart -text
-tests/dart2js/literal_string_juxtaposition_test.dart -text
-tests/dart2js_2/eof_line_ending_test.dart -text
-tests/dart2js_2/string_interpolation_test.dart -text
-tests/dart2js_2/string_interpolation_dynamic_test.dart -text
-tests/dart2js_2/literal_string_juxtaposition_test.dart -text
+tests/web/eof_line_ending_test.dart -text
+tests/web/string_interpolation_test.dart -text
+tests/web/string_interpolation_dynamic_test.dart -text
+tests/web/literal_string_juxtaposition_test.dart -text
+tests/web_2/eof_line_ending_test.dart -text
+tests/web_2/string_interpolation_test.dart -text
+tests/web_2/string_interpolation_dynamic_test.dart -text
+tests/web_2/literal_string_juxtaposition_test.dart -text
 tests/language/string/raw_string_test.dart -text
 tests/language/string/multiline_strings_test.dart -text
 tests/language/string/multiline_newline_cr.dart -text
diff --git a/DEPS b/DEPS
index 9167b6a..b7c3de1 100644
--- a/DEPS
+++ b/DEPS
@@ -146,7 +146,7 @@
   "source_map_stack_trace_rev": "1c3026f69d9771acf2f8c176a1ab750463309cce",
   "source_maps-0.9.4_rev": "38524",
   "source_maps_rev": "53eb92ccfe6e64924054f83038a534b959b12b3e",
-  "source_span_rev": "49ff31eabebed0da0ae6634124f8ba5c6fbf57f1",
+  "source_span_rev": "aecb614eac3caa333658493b31a32b4e904cb0a4",
   "sse_tag": "9a486d058a17e880afa9cc1c3c0dd8bad726bcbc",
   "stack_trace_tag": "6788afc61875079b71b3d1c3e65aeaa6a25cbc2f",
   "stagehand_rev": "e64ac90cac508981011299c4ceb819149e71f1bd",
@@ -167,7 +167,7 @@
   "web_socket_channel_rev": "680358915e331fda823908234f80beba1ed4ec83",
   "WebCore_rev": "fb11e887f77919450e497344da570d780e078bc8",
   "yaml_rev": "cca02c9e4f6826d62644901ed65c6d72b90a0713",
-  "zlib_rev": "c44fb7248079cc3d5563b14b3f758aee60d6b415",
+  "zlib_rev": "bf44340d1b6be1af8950bbdf664fec0cf5a831cc",
   "crashpad_rev": "bf327d8ceb6a669607b0dbab5a83a275d03f99ed",
   "minichromium_rev": "8d641e30a8b12088649606b912c2bc4947419ccc",
   "googletest_rev": "f854f1d27488996dc8a6db3c9453f80b02585e12",
diff --git a/WATCHLISTS b/WATCHLISTS
index 4672363..195162c 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -28,7 +28,7 @@
       'filepath': (
         '^pkg/compiler|'
         '^sdk/lib/_internal/js_runtime|'
-        '^tests/dart2js'
+        '^tests/web'
       )
     },
     'dartdevc': {
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
new file mode 100644
index 0000000..fd178e1
--- /dev/null
+++ b/build/config/compiler/compiler.gni
@@ -0,0 +1,13 @@
+# Copyright 2016 The Dart project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This is a bare-minimum needed to satisfy build requirements for various
+# chromium packages.
+# Original is https://chromium.googlesource.com/chromium/src/+/master/build/config/compiler/compiler.gni
+
+declare_args() {
+  build_with_chromium = false
+  use_libfuzzer = false
+  is_apple = is_ios || is_mac
+}
diff --git a/build/secondary/third_party/android_ndk/BUILD.gn b/build/secondary/third_party/android_ndk/BUILD.gn
new file mode 100644
index 0000000..8f0799c
--- /dev/null
+++ b/build/secondary/third_party/android_ndk/BUILD.gn
@@ -0,0 +1,28 @@
+# Copyright 2018 The Dart project Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/android/config.gni")
+
+config("cpu_features_include") {
+  include_dirs = [ "$android_ndk_root/sources/android/cpufeatures" ]
+}
+
+config("cpu_features_warnings") {
+  if (is_clang) {
+    # cpu-features.c has few unused functions on x86 b/26403333
+    cflags = [ "-Wno-unused-function" ]
+  }
+}
+
+source_set("cpu_features") {
+  sources = [ "$android_ndk_root/sources/android/cpufeatures/cpu-features.c" ]
+  public_configs = [ ":cpu_features_include" ]
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+
+    # Must be after no_chromium_code for warning flags to be ordered correctly.
+    ":cpu_features_warnings",
+  ]
+}
diff --git a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
index 8a3aef0..3c78357 100644
--- a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
@@ -6026,6 +6026,8 @@
         Message Function(String name, String name2, String string3)>(
     messageTemplate:
         r"""JS interop class '#name' conflicts with natively supported class '#name2' in '#string3'.""",
+    tipTemplate:
+        r"""Try making the @JS class into an @anonymous class or use js_util on the JS object.""",
     withArguments: _withArgumentsJsInteropNativeClassInAnnotation);
 
 // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
@@ -6046,6 +6048,7 @@
   return new Message(codeJsInteropNativeClassInAnnotation,
       message:
           """JS interop class '${name}' conflicts with natively supported class '${name2}' in '${string3}'.""",
+      tip: """Try making the @JS class into an @anonymous class or use js_util on the JS object.""",
       arguments: {'name': name, 'name2': name2, 'string3': string3});
 }
 
diff --git a/pkg/_js_interop_checks/lib/js_interop_checks.dart b/pkg/_js_interop_checks/lib/js_interop_checks.dart
index 7639e85..5bec8c4 100644
--- a/pkg/_js_interop_checks/lib/js_interop_checks.dart
+++ b/pkg/_js_interop_checks/lib/js_interop_checks.dart
@@ -53,18 +53,15 @@
   /// Native tests to exclude from checks on external.
   // TODO(rileyporter): Use ExternalName from CFE to exclude native tests.
   List<Pattern> _allowedNativeTestPatterns = [
-    RegExp(r'(?<!generated_)tests/dart2js/native'),
-    RegExp(r'(?<!generated_)tests/dart2js/internal'),
-    'generated_tests/dart2js/native/native_test',
-    RegExp(r'(?<!generated_)tests/dart2js_2/native'),
-    RegExp(r'(?<!generated_)tests/dart2js_2/internal'),
-    'generated_tests/dart2js_2/native/native_test',
+    RegExp(r'(?<!generated_)tests/web/native'),
+    RegExp(r'(?<!generated_)tests/web/internal'),
+    'generated_tests/web/native/native_test',
+    RegExp(r'(?<!generated_)tests/web_2/native'),
+    RegExp(r'(?<!generated_)tests/web_2/internal'),
+    'generated_tests/web_2/native/native_test',
   ];
 
   bool _libraryIsGlobalNamespace = false;
-  // TODO(srujzs): This currently disables this check always. This check should
-  // instead only be disabled up until a given language version.
-  bool _disableJSNativeClassConflict = true;
 
   JsInteropChecks(
       this._coreTypes, this._diagnosticsReporter, this._nativeClasses);
@@ -118,7 +115,8 @@
             cls.location.file);
       }
     }
-    if (!_disableJSNativeClassConflict &&
+    // Since this is a breaking check, it is language-versioned.
+    if (cls.enclosingLibrary.languageVersion >= Version(2, 13) &&
         _classHasJSAnnotation &&
         !_classHasAnonymousAnnotation &&
         _libraryIsGlobalNamespace) {
diff --git a/pkg/analyzer/lib/dart/ast/ast_factory.dart b/pkg/analyzer/lib/dart/ast/ast_factory.dart
index a73af79..7aabf24 100644
--- a/pkg/analyzer/lib/dart/ast/ast_factory.dart
+++ b/pkg/analyzer/lib/dart/ast/ast_factory.dart
@@ -694,9 +694,8 @@
       Token nativeKeyword, StringLiteral? stringLiteral, Token semicolon);
 
   /// Returns a newly created list of nodes such that all of the nodes that
-  /// are added to the list will have their parent set to the given [owner]. The
-  /// list will initially be populated with the given [elements].
-  NodeList<E> nodeList<E extends AstNode>(AstNode owner, [List<E>? elements]);
+  /// are added to the list will have their parent set to the given [owner].
+  NodeList<E> nodeList<E extends AstNode>(AstNode owner);
 
   /// Returns a newly created null literal.
   NullLiteral nullLiteral(Token literal);
diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart
index db530ff..7de7f78 100644
--- a/pkg/analyzer/lib/dart/element/element.dart
+++ b/pkg/analyzer/lib/dart/element/element.dart
@@ -418,6 +418,9 @@
   /// unit.
   List<ClassElement> get mixins;
 
+  @override
+  AnalysisSession get session;
+
   /// Return a list containing all of the top-level variables contained in this
   /// compilation unit.
   List<TopLevelVariableElement> get topLevelVariables;
@@ -655,7 +658,7 @@
   int get nameOffset;
 
   /// Return the analysis session in which this element is defined.
-  AnalysisSession get session;
+  AnalysisSession? get session;
 
   @override
   Source? get source;
@@ -1377,6 +1380,9 @@
   /// that are either declared in the library, or imported into it.
   Scope get scope;
 
+  @override
+  AnalysisSession get session;
+
   /// Return the top-level elements defined in each of the compilation units
   /// that are included in this library. This includes both public and private
   /// elements, but does not include imports, exports, or synthetic elements.
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index ed65241..e07e17d 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -31,12 +31,12 @@
 ///        [StringLiteral] [StringLiteral]+
 class AdjacentStringsImpl extends StringLiteralImpl implements AdjacentStrings {
   /// The strings that are implicitly concatenated.
-  late final NodeList<StringLiteral> _strings;
+  final NodeListImpl<StringLiteral> _strings = NodeListImpl();
 
   /// Initialize a newly created list of adjacent strings. To be syntactically
   /// valid, the list of [strings] must contain at least two elements.
   AdjacentStringsImpl(List<StringLiteral> strings) {
-    _strings = NodeListImpl<StringLiteral>(this, strings);
+    _strings._initialize(this, strings);
   }
 
   @override
@@ -78,14 +78,14 @@
   CommentImpl? _comment;
 
   /// The annotations associated with this node.
-  late final NodeList<Annotation> _metadata;
+  final NodeListImpl<Annotation> _metadata = NodeListImpl();
 
   /// Initialize a newly created annotated node. Either or both of the [comment]
   /// and [metadata] can be `null` if the node does not have the corresponding
   /// attribute.
   AnnotatedNodeImpl(CommentImpl? comment, List<Annotation>? metadata) {
     _comment = _becomeParentOf(comment);
-    _metadata = NodeListImpl<Annotation>(this, metadata);
+    _metadata._initialize(this, metadata);
   }
 
   @override
@@ -330,7 +330,7 @@
   Token leftParenthesis;
 
   /// The expressions producing the values of the arguments.
-  late final NodeList<Expression> _arguments;
+  final NodeListImpl<Expression> _arguments = NodeListImpl();
 
   /// The right parenthesis.
   @override
@@ -348,7 +348,7 @@
   /// be `null` if there are no arguments.
   ArgumentListImpl(
       this.leftParenthesis, List<Expression> arguments, this.rightParenthesis) {
-    _arguments = NodeListImpl<Expression>(this, arguments);
+    _arguments._initialize(this, arguments);
   }
 
   @override
@@ -1055,7 +1055,7 @@
   Token leftBracket;
 
   /// The statements contained in the block.
-  late NodeList<Statement> _statements;
+  final NodeListImpl<Statement> _statements = NodeListImpl();
 
   /// The right curly bracket.
   @override
@@ -1063,7 +1063,7 @@
 
   /// Initialize a newly created block of code.
   BlockImpl(this.leftBracket, List<Statement> statements, this.rightBracket) {
-    _statements = NodeListImpl<Statement>(this, statements);
+    _statements._initialize(this, statements);
   }
 
   @override
@@ -1208,14 +1208,14 @@
   late ExpressionImpl _target;
 
   /// The cascade sections sharing the common target.
-  late NodeList<Expression> _cascadeSections;
+  final NodeListImpl<Expression> _cascadeSections = NodeListImpl();
 
   /// Initialize a newly created cascade expression. The list of
   /// [cascadeSections] must contain at least one element.
   CascadeExpressionImpl(
       ExpressionImpl target, List<Expression> cascadeSections) {
     _target = _becomeParentOf(target);
-    _cascadeSections = NodeListImpl<Expression>(this, cascadeSections);
+    _cascadeSections._initialize(this, cascadeSections);
   }
 
   @override
@@ -1594,7 +1594,7 @@
   Token leftBracket;
 
   /// The members defined by the class or mixin.
-  late NodeList<ClassMember> _members;
+  final NodeListImpl<ClassMember> _members = NodeListImpl();
 
   /// The right curly bracket.
   @override
@@ -1612,7 +1612,7 @@
       : super(comment, metadata, name) {
     _typeParameters = _becomeParentOf(typeParameters);
     _implementsClause = _becomeParentOf(implementsClause);
-    _members = NodeListImpl<ClassMember>(this, members);
+    _members._initialize(this, members);
   }
 
   @override
@@ -1853,14 +1853,14 @@
   /// The references embedded within the documentation comment. This list will
   /// be empty unless this is a documentation comment that has references embedded
   /// within it.
-  late NodeList<CommentReference> _references;
+  final NodeListImpl<CommentReference> _references = NodeListImpl();
 
   /// Initialize a newly created comment. The list of [tokens] must contain at
   /// least one token. The [_type] is the type of the comment. The list of
   /// [references] can be empty if the comment does not contain any embedded
   /// references.
   CommentImpl(this.tokens, this._type, List<CommentReference> references) {
-    _references = NodeListImpl<CommentReference>(this, references);
+    _references._initialize(this, references);
   }
 
   @override
@@ -2011,10 +2011,10 @@
   ScriptTagImpl? _scriptTag;
 
   /// The directives contained in this compilation unit.
-  late NodeList<Directive> _directives;
+  final NodeListImpl<Directive> _directives = NodeListImpl();
 
   /// The declarations contained in this compilation unit.
-  late NodeList<CompilationUnitMember> _declarations;
+  final NodeListImpl<CompilationUnitMember> _declarations = NodeListImpl();
 
   /// The last token in the token stream that was parsed to form this
   /// compilation unit. This token should always have a type of [TokenType.EOF].
@@ -2054,8 +2054,8 @@
       this.endToken,
       this.featureSet) {
     _scriptTag = _becomeParentOf(scriptTag);
-    _directives = NodeListImpl<Directive>(this, directives);
-    _declarations = NodeListImpl<CompilationUnitMember>(this, declarations);
+    _directives._initialize(this, directives);
+    _declarations._initialize(this, declarations);
   }
 
   @override
@@ -2429,7 +2429,7 @@
   Token? separator;
 
   /// The initializers associated with the constructor.
-  late NodeList<ConstructorInitializer> _initializers;
+  final NodeListImpl<ConstructorInitializer> _initializers = NodeListImpl();
 
   /// The name of the constructor to which this constructor will be redirected,
   /// or `null` if this is not a redirecting factory constructor.
@@ -2476,7 +2476,7 @@
     _returnType = _becomeParentOf(returnType);
     _name = _becomeParentOf(name);
     _parameters = _becomeParentOf(parameters);
-    _initializers = NodeListImpl<ConstructorInitializer>(this, initializers);
+    _initializers._initialize(this, initializers);
     _redirectedConstructor = _becomeParentOf(redirectedConstructor);
     _body = _becomeParentOf(body);
   }
@@ -3125,11 +3125,11 @@
 ///        [SimpleIdentifier] ('.' [SimpleIdentifier])*
 class DottedNameImpl extends AstNodeImpl implements DottedName {
   /// The components of the identifier.
-  late NodeList<SimpleIdentifier> _components;
+  final NodeListImpl<SimpleIdentifier> _components = NodeListImpl();
 
   /// Initialize a newly created dotted name.
   DottedNameImpl(List<SimpleIdentifier> components) {
-    _components = NodeListImpl<SimpleIdentifier>(this, components);
+    _components._initialize(this, components);
   }
 
   @override
@@ -3327,7 +3327,7 @@
   Token leftBracket;
 
   /// The enumeration constants being declared.
-  late NodeList<EnumConstantDeclaration> _constants;
+  final NodeListImpl<EnumConstantDeclaration> _constants = NodeListImpl();
 
   /// The right curly bracket.
   @override
@@ -3346,7 +3346,7 @@
       List<EnumConstantDeclaration> constants,
       this.rightBracket)
       : super(comment, metadata, name) {
-    _constants = NodeListImpl<EnumConstantDeclaration>(this, constants);
+    _constants._initialize(this, constants);
   }
 
   @override
@@ -3751,7 +3751,7 @@
   Token leftBracket;
 
   /// The members being added to the extended class.
-  late NodeList<ClassMember> _members;
+  final NodeListImpl<ClassMember> _members = NodeListImpl();
 
   @override
   Token rightBracket;
@@ -3773,7 +3773,7 @@
     _name = _becomeParentOf(name);
     _typeParameters = _becomeParentOf(typeParameters);
     _extendedType = _becomeParentOf(extendedType);
-    _members = NodeListImpl<ClassMember>(this, members);
+    _members._initialize(this, members);
   }
 
   @override
@@ -4423,7 +4423,7 @@
   Token leftParenthesis;
 
   /// The parameters associated with the method.
-  late NodeList<FormalParameter> _parameters;
+  final NodeListImpl<FormalParameter> _parameters = NodeListImpl();
 
   /// The left square bracket ('[') or left curly brace ('{') introducing the
   /// optional parameters, or `null` if there are no optional parameters.
@@ -4448,7 +4448,7 @@
       this.leftDelimiter,
       this.rightDelimiter,
       this.rightParenthesis) {
-    _parameters = NodeListImpl<FormalParameter>(this, parameters);
+    _parameters._initialize(this, parameters);
   }
 
   @override
@@ -4537,7 +4537,7 @@
   Token rightSeparator;
 
   /// The list of expressions run after each execution of the loop body.
-  late NodeList<Expression> _updaters;
+  final NodeListImpl<Expression> _updaters = NodeListImpl();
 
   /// Initialize a newly created for statement. Either the [variableList] or the
   /// [initialization] must be `null`. Either the [condition] and the list of
@@ -4546,7 +4546,7 @@
   ForPartsImpl(this.leftSeparator, ExpressionImpl? condition,
       this.rightSeparator, List<Expression>? updaters) {
     _condition = _becomeParentOf(condition);
-    _updaters = NodeListImpl<Expression>(this, updaters);
+    _updaters._initialize(this, updaters);
   }
 
   @override
@@ -5505,12 +5505,12 @@
 ///        'hide' [SimpleIdentifier] (',' [SimpleIdentifier])*
 class HideCombinatorImpl extends CombinatorImpl implements HideCombinator {
   /// The list of names from the library that are hidden by this combinator.
-  late NodeList<SimpleIdentifier> _hiddenNames;
+  final NodeListImpl<SimpleIdentifier> _hiddenNames = NodeListImpl();
 
   /// Initialize a newly created import show combinator.
   HideCombinatorImpl(Token keyword, List<SimpleIdentifier> hiddenNames)
       : super(keyword) {
-    _hiddenNames = NodeListImpl<SimpleIdentifier>(this, hiddenNames);
+    _hiddenNames._initialize(this, hiddenNames);
   }
 
   @override
@@ -5728,11 +5728,11 @@
   Token implementsKeyword;
 
   /// The interfaces that are being implemented.
-  late NodeList<TypeName> _interfaces;
+  final NodeListImpl<TypeName> _interfaces = NodeListImpl();
 
   /// Initialize a newly created implements clause.
   ImplementsClauseImpl(this.implementsKeyword, List<TypeName> interfaces) {
-    _interfaces = NodeListImpl<TypeName>(this, interfaces);
+    _interfaces._initialize(this, interfaces);
   }
 
   @override
@@ -6472,14 +6472,14 @@
 ///       [Label]+ [Statement]
 class LabeledStatementImpl extends StatementImpl implements LabeledStatement {
   /// The labels being associated with the statement.
-  late NodeList<Label> _labels;
+  final NodeListImpl<Label> _labels = NodeListImpl();
 
   /// The statement with which the labels are being associated.
   late StatementImpl _statement;
 
   /// Initialize a newly created labeled statement.
   LabeledStatementImpl(List<Label> labels, StatementImpl statement) {
-    _labels = NodeListImpl<Label>(this, labels);
+    _labels._initialize(this, labels);
     _statement = _becomeParentOf(statement);
   }
 
@@ -6635,11 +6635,11 @@
 class LibraryIdentifierImpl extends IdentifierImpl
     implements LibraryIdentifier {
   /// The components of the identifier.
-  late NodeList<SimpleIdentifier> _components;
+  final NodeListImpl<SimpleIdentifier> _components = NodeListImpl();
 
   /// Initialize a newly created prefixed identifier.
   LibraryIdentifierImpl(List<SimpleIdentifier> components) {
-    _components = NodeListImpl<SimpleIdentifier>(this, components);
+    _components._initialize(this, components);
   }
 
   @override
@@ -6694,7 +6694,7 @@
   Token leftBracket;
 
   /// The expressions used to compute the elements of the list.
-  late NodeList<CollectionElement> _elements;
+  final NodeListImpl<CollectionElement> _elements = NodeListImpl();
 
   /// The right square bracket.
   @override
@@ -6707,7 +6707,7 @@
   ListLiteralImpl(Token? constKeyword, TypeArgumentListImpl? typeArguments,
       this.leftBracket, List<Expression> elements, this.rightBracket)
       : super(constKeyword, typeArguments) {
-    _elements = NodeListImpl<Expression>(this, elements);
+    _elements._initialize(this, elements);
   }
 
   /// Initialize a newly created list literal.
@@ -6722,7 +6722,7 @@
       List<CollectionElement> elements,
       this.rightBracket)
       : super(constKeyword, typeArguments) {
-    _elements = NodeListImpl<CollectionElement>(this, elements);
+    _elements._initialize(this, elements);
   }
 
   @override
@@ -7395,10 +7395,10 @@
 
   /// The configurations used to control which library will actually be loaded
   /// at run-time.
-  late NodeList<Configuration> _configurations;
+  final NodeListImpl<Configuration> _configurations = NodeListImpl();
 
   /// The combinators used to control which names are imported or exported.
-  late NodeList<Combinator> _combinators;
+  final NodeListImpl<Combinator> _combinators = NodeListImpl();
 
   /// The semicolon terminating the directive.
   @override
@@ -7423,8 +7423,8 @@
       List<Combinator>? combinators,
       this.semicolon)
       : super(comment, metadata, libraryUri) {
-    _configurations = NodeListImpl<Configuration>(this, configurations);
-    _combinators = NodeListImpl<Combinator>(this, combinators);
+    _configurations._initialize(this, configurations);
+    _combinators._initialize(this, combinators);
   }
 
   @override
@@ -7545,16 +7545,15 @@
 /// A list of AST nodes that have a common parent.
 class NodeListImpl<E extends AstNode> with ListMixin<E> implements NodeList<E> {
   /// The node that is the parent of each of the elements in the list.
-  final AstNodeImpl _owner;
+  AstNodeImpl? _owner;
 
   /// The elements contained in the list.
   List<E> _elements = <E>[];
 
   /// Initialize a newly created list of nodes such that all of the nodes that
-  /// are added to the list will have their parent set to the given [owner]. The
-  /// list will initially be populated with the given [elements].
-  NodeListImpl(this._owner, [List<E>? elements]) {
-    addAll(elements);
+  /// are added to the list will have their parent set to the given [owner].
+  NodeListImpl({AstNodeImpl? owner}) {
+    _owner = owner;
   }
 
   @override
@@ -7583,7 +7582,7 @@
   }
 
   @override
-  AstNode get owner => _owner;
+  AstNode get owner => _owner!;
 
   @override
   E operator [](int index) {
@@ -7598,7 +7597,7 @@
     if (index < 0 || index >= _elements.length) {
       throw RangeError("Index: $index, Size: ${_elements.length}");
     }
-    _owner._becomeParentOf(node as AstNodeImpl);
+    _owner!._becomeParentOf(node as AstNodeImpl);
     _elements[index] = node;
   }
 
@@ -7623,12 +7622,12 @@
         for (int i = 0; i < length; i++) {
           E node = nodes[i];
           _elements.add(node);
-          _owner._becomeParentOf(node as AstNodeImpl);
+          _owner!._becomeParentOf(node as AstNodeImpl);
         }
       } else {
         for (E node in nodes) {
           _elements.add(node);
-          _owner._becomeParentOf(node as AstNodeImpl);
+          _owner!._becomeParentOf(node as AstNodeImpl);
         }
       }
       return true;
@@ -7647,7 +7646,7 @@
     if (index < 0 || index > length) {
       throw RangeError("Index: $index, Size: ${_elements.length}");
     }
-    _owner._becomeParentOf(node as AstNodeImpl);
+    _owner!._becomeParentOf(node as AstNodeImpl);
     if (length == 0) {
       _elements.add(node);
     } else {
@@ -7677,6 +7676,12 @@
   void setLength(int newLength) {
     _elements.length = newLength;
   }
+
+  /// Set the [owner] of this container, and populate it with [elements].
+  void _initialize(AstNodeImpl owner, List<E>? elements) {
+    _owner = owner;
+    addAll(elements);
+  }
 }
 
 /// A formal parameter that is required (is not optional).
@@ -7692,7 +7697,7 @@
   CommentImpl? _comment;
 
   /// The annotations associated with this parameter.
-  late NodeList<Annotation> _metadata;
+  final NodeListImpl<Annotation> _metadata = NodeListImpl();
 
   /// The 'covariant' keyword, or `null` if the keyword was not used.
   @override
@@ -7715,7 +7720,7 @@
       this.requiredKeyword,
       SimpleIdentifierImpl? identifier) {
     _comment = _becomeParentOf(comment);
-    _metadata = NodeListImpl<Annotation>(this, metadata);
+    _metadata._initialize(this, metadata);
     _identifier = _becomeParentOf(identifier);
   }
 
@@ -7868,12 +7873,11 @@
   Token onKeyword;
 
   /// The classes are super-class constraints for the mixin.
-  late NodeList<TypeName> _superclassConstraints;
+  final NodeListImpl<TypeName> _superclassConstraints = NodeListImpl();
 
   /// Initialize a newly created on clause.
   OnClauseImpl(this.onKeyword, List<TypeName> superclassConstraints) {
-    _superclassConstraints =
-        NodeListImpl<TypeName>(this, superclassConstraints);
+    _superclassConstraints._initialize(this, superclassConstraints);
   }
 
   @override
@@ -8647,7 +8651,7 @@
   Token leftBracket;
 
   /// The syntactic elements in the set.
-  late NodeList<CollectionElement> _elements;
+  final NodeListImpl<CollectionElement> _elements = NodeListImpl();
 
   @override
   Token rightBracket;
@@ -8676,7 +8680,7 @@
   SetOrMapLiteralImpl(Token? constKeyword, TypeArgumentListImpl? typeArguments,
       this.leftBracket, List<CollectionElement> elements, this.rightBracket)
       : super(constKeyword, typeArguments) {
-    _elements = NodeListImpl<CollectionElement>(this, elements);
+    _elements._initialize(this, elements);
   }
 
   @override
@@ -8744,12 +8748,12 @@
 class ShowCombinatorImpl extends CombinatorImpl implements ShowCombinator {
   /// The list of names from the library that are made visible by this
   /// combinator.
-  late NodeList<SimpleIdentifier> _shownNames;
+  final NodeListImpl<SimpleIdentifier> _shownNames = NodeListImpl();
 
   /// Initialize a newly created import show combinator.
   ShowCombinatorImpl(Token keyword, List<SimpleIdentifier> shownNames)
       : super(keyword) {
-    _shownNames = NodeListImpl<SimpleIdentifier>(this, shownNames);
+    _shownNames._initialize(this, shownNames);
   }
 
   @override
@@ -9220,11 +9224,11 @@
 class StringInterpolationImpl extends SingleStringLiteralImpl
     implements StringInterpolation {
   /// The elements that will be composed to produce the resulting string.
-  late NodeList<InterpolationElement> _elements;
+  final NodeListImpl<InterpolationElement> _elements = NodeListImpl();
 
   /// Initialize a newly created string interpolation expression.
   StringInterpolationImpl(List<InterpolationElement> elements) {
-    _elements = NodeListImpl<InterpolationElement>(this, elements);
+    _elements._initialize(this, elements);
   }
 
   @override
@@ -9588,7 +9592,7 @@
 ///      | switchDefault
 abstract class SwitchMemberImpl extends AstNodeImpl implements SwitchMember {
   /// The labels associated with the switch member.
-  late NodeList<Label> _labels;
+  final NodeListImpl<Label> _labels = NodeListImpl();
 
   /// The token representing the 'case' or 'default' keyword.
   @override
@@ -9599,14 +9603,14 @@
   Token colon;
 
   /// The statements that will be executed if this switch member is selected.
-  late NodeList<Statement> _statements;
+  final NodeListImpl<Statement> _statements = NodeListImpl();
 
   /// Initialize a newly created switch member. The list of [labels] can be
   /// `null` if there are no labels.
   SwitchMemberImpl(List<Label> labels, this.keyword, this.colon,
       List<Statement> statements) {
-    _labels = NodeListImpl<Label>(this, labels);
-    _statements = NodeListImpl<Statement>(this, statements);
+    _labels._initialize(this, labels);
+    _statements._initialize(this, statements);
   }
 
   @override
@@ -9658,7 +9662,7 @@
   Token leftBracket;
 
   /// The switch members that can be selected by the expression.
-  late NodeList<SwitchMember> _members;
+  final NodeListImpl<SwitchMember> _members = NodeListImpl();
 
   /// The right curly bracket.
   @override
@@ -9675,7 +9679,7 @@
       List<SwitchMember> members,
       this.rightBracket) {
     _expression = _becomeParentOf(expression);
-    _members = NodeListImpl<SwitchMember>(this, members);
+    _members._initialize(this, members);
   }
 
   @override
@@ -9915,7 +9919,7 @@
   late BlockImpl _body;
 
   /// The catch clauses contained in the try statement.
-  late NodeList<CatchClause> _catchClauses;
+  final NodeListImpl<CatchClause> _catchClauses = NodeListImpl();
 
   /// The token representing the 'finally' keyword, or `null` if the statement
   /// does not contain a finally clause.
@@ -9936,7 +9940,7 @@
       this.finallyKeyword,
       BlockImpl? finallyBlock) {
     _body = _becomeParentOf(body);
-    _catchClauses = NodeListImpl<CatchClause>(this, catchClauses);
+    _catchClauses._initialize(this, catchClauses);
     _finallyBlock = _becomeParentOf(finallyBlock);
   }
 
@@ -10043,7 +10047,7 @@
   Token leftBracket;
 
   /// The type arguments associated with the type.
-  late NodeList<TypeAnnotation> _arguments;
+  final NodeListImpl<TypeAnnotation> _arguments = NodeListImpl();
 
   /// The right bracket.
   @override
@@ -10052,7 +10056,7 @@
   /// Initialize a newly created list of type arguments.
   TypeArgumentListImpl(
       this.leftBracket, List<TypeAnnotation> arguments, this.rightBracket) {
-    _arguments = NodeListImpl<TypeAnnotation>(this, arguments);
+    _arguments._initialize(this, arguments);
   }
 
   @override
@@ -10295,7 +10299,7 @@
   final Token leftBracket;
 
   /// The type parameters in the list.
-  late NodeList<TypeParameter> _typeParameters;
+  final NodeListImpl<TypeParameter> _typeParameters = NodeListImpl();
 
   /// The right angle bracket.
   @override
@@ -10304,7 +10308,7 @@
   /// Initialize a newly created list of type parameters.
   TypeParameterListImpl(
       this.leftBracket, List<TypeParameter> typeParameters, this.rightBracket) {
-    _typeParameters = NodeListImpl<TypeParameter>(this, typeParameters);
+    _typeParameters._initialize(this, typeParameters);
   }
 
   @override
@@ -10574,7 +10578,7 @@
   TypeAnnotationImpl? _type;
 
   /// A list containing the individual variables being declared.
-  late NodeList<VariableDeclaration> _variables;
+  final NodeListImpl<VariableDeclaration> _variables = NodeListImpl();
 
   /// Initialize a newly created variable declaration list. Either or both of
   /// the [comment] and [metadata] can be `null` if the variable list does not
@@ -10589,7 +10593,7 @@
       List<VariableDeclaration> variables)
       : super(comment, metadata) {
     _type = _becomeParentOf(type);
-    _variables = NodeListImpl<VariableDeclaration>(this, variables);
+    _variables._initialize(this, variables);
   }
 
   @override
@@ -10774,11 +10778,11 @@
   Token withKeyword;
 
   /// The names of the mixins that were specified.
-  late NodeList<TypeName> _mixinTypes;
+  final NodeListImpl<TypeName> _mixinTypes = NodeListImpl();
 
   /// Initialize a newly created with clause.
   WithClauseImpl(this.withKeyword, List<TypeName> mixinTypes) {
-    _mixinTypes = NodeListImpl<TypeName>(this, mixinTypes);
+    _mixinTypes._initialize(this, mixinTypes);
   }
 
   @override
diff --git a/pkg/analyzer/lib/src/dart/ast/ast_factory.dart b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
index b442314..43fa50a 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
@@ -941,8 +941,8 @@
           nativeKeyword, stringLiteral as StringLiteralImpl?, semicolon);
 
   @override
-  NodeList<E> nodeList<E extends AstNode>(AstNode owner, [List<E>? elements]) =>
-      NodeListImpl<E>(owner as AstNodeImpl, elements);
+  NodeList<E> nodeList<E extends AstNode>(AstNode owner) =>
+      NodeListImpl<E>(owner: owner as AstNodeImpl);
 
   @override
   NullLiteral nullLiteral(Token literal) => NullLiteralImpl(literal);
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index e3d4d8d4..22e203a 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -1384,6 +1384,9 @@
   }
 
   @override
+  AnalysisSession get session => enclosingElement.session;
+
+  @override
   List<TopLevelVariableElement> get topLevelVariables {
     if (_variables != null) return _variables!;
 
@@ -2888,8 +2891,8 @@
   }
 
   @override
-  AnalysisSession get session {
-    return enclosingElement!.session;
+  AnalysisSession? get session {
+    return enclosingElement?.session;
   }
 
   @override
diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart
index 011fa49..d719f6a 100644
--- a/pkg/analyzer/lib/src/dart/element/member.dart
+++ b/pkg/analyzer/lib/src/dart/element/member.dart
@@ -561,7 +561,7 @@
   int get nameOffset => _declaration.nameOffset;
 
   @override
-  AnalysisSession get session => _declaration.session;
+  AnalysisSession? get session => _declaration.session;
 
   @override
   Source get source => _declaration.source!;
diff --git a/pkg/analyzer_plugin/CHANGELOG.md b/pkg/analyzer_plugin/CHANGELOG.md
index 2b49d2b..a837766 100644
--- a/pkg/analyzer_plugin/CHANGELOG.md
+++ b/pkg/analyzer_plugin/CHANGELOG.md
@@ -1,10 +1,13 @@
+## 0.4.1-dev
+- Changed the support version range of the analyzer to `>=0.42.0 <0.43.0`.
+
 ## 0.4.0
 - Deprecated the class `DartChangeBuilder` and enhanced `ChangeBuilder` to be
   the replacement for it.
 - Deprecated the method `ChangeBuilder.addFileEdit` and introduced
   `ChangeBuilder.addDartFileEdit` and `ChangeBuilder.addGenericFileEdit` to be
   the replacements for it.
-- Changed the support version range of the analyzer to `>=0.41.0 <0.42.0`.
+- Changed the supported version range of the analyzer to `>=0.41.0 <0.42.0`.
 
 ## 0.3.0
 - Removed deprecated `Plugin.getResolveResult`. Use `getResolvedUnitResult`.
diff --git a/pkg/analyzer_plugin/pubspec.yaml b/pkg/analyzer_plugin/pubspec.yaml
index 2401bdb..07562d9 100644
--- a/pkg/analyzer_plugin/pubspec.yaml
+++ b/pkg/analyzer_plugin/pubspec.yaml
@@ -1,6 +1,6 @@
 name: analyzer_plugin
 description: A framework and support code for building plugins for the analysis server.
-version: 0.4.0
+version: 0.4.1-dev
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_plugin
 
@@ -8,7 +8,7 @@
   sdk: '>=2.9.0 <3.0.0'
 
 dependencies:
-  analyzer: '>=0.41.0 <0.42.0'
+  analyzer: '>=0.42.0 <0.43.0'
   dart_style: '^1.2.0'
   meta: ^1.2.3
   pub_semver: '^1.3.2'
diff --git a/pkg/compiler/lib/src/kernel/dart2js_target.dart b/pkg/compiler/lib/src/kernel/dart2js_target.dart
index 1bf5b01..5103adc 100644
--- a/pkg/compiler/lib/src/kernel/dart2js_target.dart
+++ b/pkg/compiler/lib/src/kernel/dart2js_target.dart
@@ -34,12 +34,12 @@
 ];
 
 List<Pattern> _allowedNativeTestPatterns = [
-  RegExp(r'(?<!generated_)tests/dart2js/native'),
-  RegExp(r'(?<!generated_)tests/dart2js/internal'),
-  'generated_tests/dart2js/native/native_test',
-  RegExp(r'(?<!generated_)tests/dart2js_2/native'),
-  RegExp(r'(?<!generated_)tests/dart2js_2/internal'),
-  'generated_tests/dart2js_2/native/native_test',
+  RegExp(r'(?<!generated_)tests/web/native'),
+  RegExp(r'(?<!generated_)tests/web/internal'),
+  'generated_tests/web/native/native_test',
+  RegExp(r'(?<!generated_)tests/web_2/native'),
+  RegExp(r'(?<!generated_)tests/web_2/internal'),
+  'generated_tests/web_2/native/native_test',
 ];
 
 bool allowedNativeTest(Uri uri) {
diff --git a/pkg/compiler/test/codegen/model_data/constant_folding.dart b/pkg/compiler/test/codegen/model_data/constant_folding.dart
index af6a2e6..47044d0 100644
--- a/pkg/compiler/test/codegen/model_data/constant_folding.dart
+++ b/pkg/compiler/test/codegen/model_data/constant_folding.dart
@@ -4,7 +4,7 @@
 
 // @dart = 2.7
 
-// Derived from tests/dart2js_2/constant_folding_test
+// Derived from tests/web_2/constant_folding_test
 
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/deferred_loading/data/regress_35311/main.dart b/pkg/compiler/test/deferred_loading/data/regress_35311/main.dart
index 7c1acac..c4a7073 100644
--- a/pkg/compiler/test/deferred_loading/data/regress_35311/main.dart
+++ b/pkg/compiler/test/deferred_loading/data/regress_35311/main.dart
@@ -15,12 +15,12 @@
   await lib.loadLibrary();
 
   // inferred return-type in closures:
-  // lib.B f1() => lib.B(); // Compile time error(see tests/dart2js)
+  // lib.B f1() => lib.B(); // Compile time error(see tests/web)
   var f2 = /*closure_unit=main{}*/ () =>
       lib.B(); // no compile error, but f1 has inferred type: () -> d.B
 
   // inferred type-arguments
-  // lib.list = <lib.B>[]; // Compile time error(see tests/dart2js)
+  // lib.list = <lib.B>[]; // Compile time error(see tests/web)
   lib.list = []; // no error, but type parameter was injected here
   lib.list = lib.list
       .map(/*closure_unit=main{}*/ (x) => x.value)
diff --git a/pkg/compiler/test/end_to_end/all_native_test.dart b/pkg/compiler/test/end_to_end/all_native_test.dart
index c8e7619..03bce25 100644
--- a/pkg/compiler/test/end_to_end/all_native_test.dart
+++ b/pkg/compiler/test/end_to_end/all_native_test.dart
@@ -18,7 +18,7 @@
 
 test(List<String> options) async {
   DiagnosticCollector collector = new DiagnosticCollector();
-  String fileName = 'sdk/tests/dart2js_2/native/main.dart';
+  String fileName = 'sdk/tests/web_2/native/main.dart';
   Uri entryPoint = Uri.parse('memory:$fileName');
   await runCompiler(
       entryPoint: entryPoint,
diff --git a/pkg/compiler/test/equivalence/id_equivalence_helper.dart b/pkg/compiler/test/equivalence/id_equivalence_helper.dart
index 1e22b7c..1b5fa5d 100644
--- a/pkg/compiler/test/equivalence/id_equivalence_helper.dart
+++ b/pkg/compiler/test/equivalence/id_equivalence_helper.dart
@@ -464,9 +464,9 @@
 }
 
 Uri createUriForFileName(String fileName) {
-  // Pretend this is a dart2js_native test to allow use of 'native'
+  // Pretend this is a web/native test to allow use of 'native'
   // keyword and import of private libraries.
-  return Uri.parse('memory:sdk/tests/dart2js/native/$fileName');
+  return Uri.parse('memory:sdk/tests/web/native/$fileName');
 }
 
 Future<TestResult<T>> runTestForConfiguration<T>(TestConfig testConfiguration,
diff --git a/pkg/compiler/test/helpers/compiler_helper.dart b/pkg/compiler/test/helpers/compiler_helper.dart
index 891619f..a2ebf41 100644
--- a/pkg/compiler/test/helpers/compiler_helper.dart
+++ b/pkg/compiler/test/helpers/compiler_helper.dart
@@ -27,12 +27,10 @@
 export 'output_collector.dart';
 
 String _commonTestPath(bool soundNullSafety) {
-  // Pretend this is a dart2js_native test to allow use of 'native' keyword
+  // Pretend this is a web/native test to allow use of 'native' keyword
   // and import of private libraries. However, we have to choose the correct
   // folder to enable / disable  implicit cfe opt out of null safety.
-  return soundNullSafety
-      ? 'sdk/tests/dart2js/native'
-      : 'sdk/tests/dart2js_2/native';
+  return soundNullSafety ? 'sdk/tests/web/native' : 'sdk/tests/web_2/native';
 }
 
 /// Compile [code] and returns either the code for [methodName] or, if
diff --git a/pkg/compiler/test/js/js_constant_test.dart b/pkg/compiler/test/js/js_constant_test.dart
index 70a654e..7fa8622 100644
--- a/pkg/compiler/test/js/js_constant_test.dart
+++ b/pkg/compiler/test/js/js_constant_test.dart
@@ -22,9 +22,9 @@
 main() {
   runTest() async {
     check(String test) async {
-      // Pretend this is a dart2js_native test to allow use of 'native' keyword
+      // Pretend this is a web_2/native test to allow use of 'native' keyword
       // and import of private libraries.
-      String main = 'sdk/tests/dart2js_2/native/main.dart';
+      String main = 'sdk/tests/web_2/native/main.dart';
       Uri entryPoint = Uri.parse('memory:$main');
       var result = await runCompiler(
           entryPoint: entryPoint, memorySourceFiles: {main: test});
diff --git a/pkg/compiler/test/js/js_spec_optimization_test.dart b/pkg/compiler/test/js/js_spec_optimization_test.dart
index aaf56ed..bc377b2 100644
--- a/pkg/compiler/test/js/js_spec_optimization_test.dart
+++ b/pkg/compiler/test/js/js_spec_optimization_test.dart
@@ -91,7 +91,7 @@
   runTests() async {
     check(String test) async {
       var checker = checkerForAbsentPresent(test);
-      String main = 'sdk/tests/dart2js_2/native/main.dart';
+      String main = 'sdk/tests/web_2/native/main.dart';
       Uri entryPoint = Uri.parse('memory:$main');
       var result = await runCompiler(
           entryPoint: entryPoint, memorySourceFiles: {main: test});
diff --git a/pkg/compiler/test/jsinterop/internal_annotations_test.dart b/pkg/compiler/test/jsinterop/internal_annotations_test.dart
index 9e82c1e..efea232 100644
--- a/pkg/compiler/test/jsinterop/internal_annotations_test.dart
+++ b/pkg/compiler/test/jsinterop/internal_annotations_test.dart
@@ -31,7 +31,7 @@
       {List<String> directlyInstantiated: const <String>[],
       List<String> abstractlyInstantiated: const <String>[],
       List<String> indirectlyInstantiated: const <String>[]}) async {
-    String mainFile = 'sdk/tests/dart2js_2/native/main.dart';
+    String mainFile = 'sdk/tests/web_2/native/main.dart';
     Uri entryPoint = Uri.parse('memory:$mainFile');
     CompilationResult result =
         await runCompiler(entryPoint: entryPoint, memorySourceFiles: {
diff --git a/pkg/compiler/test/jsinterop/interop_anonymous_unreachable_test.dart b/pkg/compiler/test/jsinterop/interop_anonymous_unreachable_test.dart
index 2e4e586..7561955 100644
--- a/pkg/compiler/test/jsinterop/interop_anonymous_unreachable_test.dart
+++ b/pkg/compiler/test/jsinterop/interop_anonymous_unreachable_test.dart
@@ -4,7 +4,7 @@
 
 // @dart = 2.7
 
-library tests.dart2js.interop_anonymous_unreachable_test;
+library tests.web.interop_anonymous_unreachable_test;
 
 import 'package:async_helper/async_helper.dart';
 import 'package:expect/expect.dart';
diff --git a/pkg/compiler/test/member_usage/data/constant_folding.dart b/pkg/compiler/test/member_usage/data/constant_folding.dart
index e36e8d4..cac90d8 100644
--- a/pkg/compiler/test/member_usage/data/constant_folding.dart
+++ b/pkg/compiler/test/member_usage/data/constant_folding.dart
@@ -4,7 +4,7 @@
 
 // @dart = 2.7
 
-// Derived from tests/dart2js_2/constant_folding_test
+// Derived from tests/web_2/constant_folding_test
 
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/model/cfe_annotations_test.dart b/pkg/compiler/test/model/cfe_annotations_test.dart
index e84ee78..2b5a8f8 100644
--- a/pkg/compiler/test/model/cfe_annotations_test.dart
+++ b/pkg/compiler/test/model/cfe_annotations_test.dart
@@ -19,7 +19,7 @@
 import '../helpers/args_helper.dart';
 import '../helpers/memory_compiler.dart';
 
-const String pathPrefix = 'sdk/tests/dart2js_2/native/';
+const String pathPrefix = 'sdk/tests/web_2/native/';
 
 const Map<String, String> source = {
   '$pathPrefix/main.dart': '''
diff --git a/pkg/compiler/test/model/native_test.dart b/pkg/compiler/test/model/native_test.dart
index 418bf59..0cb0a6e 100644
--- a/pkg/compiler/test/model/native_test.dart
+++ b/pkg/compiler/test/model/native_test.dart
@@ -20,7 +20,7 @@
 
 main() {
   asyncTest(() async {
-    await runTest('tests/dart2js_2/jsinterop_test.dart', '', {
+    await runTest('tests/web_2/jsinterop_test.dart', '', {
       'Class': Kind.regular,
       'JsInteropClass': Kind.jsInterop,
       'topLevelField': Kind.regular,
@@ -80,7 +80,7 @@
       '53',
       '54',
     ]);
-    await runTest('tests/dart2js_2/non_jsinterop_test.dart', '', {
+    await runTest('tests/web_2/non_jsinterop_test.dart', '', {
       'Class': Kind.regular,
       'JsInteropClass': Kind.jsInterop,
       'topLevelField': Kind.regular,
@@ -139,7 +139,7 @@
     ]);
 
     await runTest(
-        'tests/dart2js_2/native/native_test.dart', 'tests/dart2js_2/native/', {
+        'tests/web_2/native/native_test.dart', 'tests/web_2/native/', {
       'Class': Kind.regular,
       'NativeClass': Kind.native,
       'topLevelField': Kind.regular,
diff --git a/pkg/compiler/test/model/strong_mode_closed_world_test.dart b/pkg/compiler/test/model/strong_mode_closed_world_test.dart
index 55c1743..ba41687 100644
--- a/pkg/compiler/test/model/strong_mode_closed_world_test.dart
+++ b/pkg/compiler/test/model/strong_mode_closed_world_test.dart
@@ -19,9 +19,9 @@
 }
 
 runTest() async {
-  // Pretend this is a dart2js_native test to allow use of 'native' keyword
+  // Pretend this is a web_2/native test to allow use of 'native' keyword
   // and import of private libraries.
-  String main = 'sdk/tests/dart2js_2/native/main.dart';
+  String main = 'sdk/tests/web_2/native/main.dart';
   Uri entryPoint = Uri.parse('memory:$main');
 
   CompilationResult result =
diff --git a/pkg/compiler/test/rti/data/as.dart b/pkg/compiler/test/rti/data/as.dart
index d79f083..0c2c5da 100644
--- a/pkg/compiler/test/rti/data/as.dart
+++ b/pkg/compiler/test/rti/data/as.dart
@@ -4,7 +4,7 @@
 
 // @dart = 2.7
 
-// Derived from tests/dart2js_2/generic_type_error_message_test.
+// Derived from tests/web_2/generic_type_error_message_test.
 
 import 'package:expect/expect.dart';
 
diff --git a/pkg/dev_compiler/lib/src/kernel/target.dart b/pkg/dev_compiler/lib/src/kernel/target.dart
index ecec776..bdcbc1d 100644
--- a/pkg/dev_compiler/lib/src/kernel/target.dart
+++ b/pkg/dev_compiler/lib/src/kernel/target.dart
@@ -450,10 +450,10 @@
 
 List<Pattern> _allowedNativeTestPatterns = [
   'tests/dartdevc',
-  'tests/dart2js/native',
-  'tests/dart2js_2/native',
-  'tests/dart2js/internal',
-  'tests/dart2js_2/internal',
+  'tests/web/native',
+  'tests/web_2/native',
+  'tests/web/internal',
+  'tests/web_2/internal',
 ];
 
 bool allowedNativeTest(Uri uri) {
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index 23d1fea..99d21e9 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -442,7 +442,7 @@
   static const List<String> optOutTestPaths = [
     'co19_2/',
     'corelib_2/',
-    'dart2js_2/',
+    'web_2/',
     'ffi_2',
     'language_2/',
     'lib_2/',
diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml
index aa9fe7d..b054d1d 100644
--- a/pkg/front_end/messages.yaml
+++ b/pkg/front_end/messages.yaml
@@ -4694,6 +4694,7 @@
 
 JsInteropNativeClassInAnnotation:
   template: "JS interop class '#name' conflicts with natively supported class '#name2' in '#string3'."
+  tip: "Try making the @JS class into an @anonymous class or use js_util on the JS object."
 
 JsInteropNonExternalConstructor:
   template: "JS interop classes do not support non-external constructors."
diff --git a/pkg/front_end/test/fasta/parser/parser.status b/pkg/front_end/test/fasta/parser/parser.status
index 47b4856..1c18c23 100644
--- a/pkg/front_end/test/fasta/parser/parser.status
+++ b/pkg/front_end/test/fasta/parser/parser.status
@@ -1545,220 +1545,220 @@
 tests/corelib/from_environment_const_type_test: Fail
 tests/corelib/from_environment_const_type_undefined_test: Fail
 tests/corelib/symbol_reserved_word_test: Fail
-tests/dart2js/deferred_custom_loader_test: Fail
-tests/dart2js/empty_negative_test: Fail
-tests/dart2js/invalid_annotation_test: Fail
-tests/dart2js/invalid_annotation2_test: Fail
-tests/dart2js/invalid_length_negative_test: Fail
-tests/dart2js/LayoutTests_fast_mediastream_getusermedia_t01_test: Fail
-tests/dart2js/switch_test: Fail
-tests/dart2js/timer_negative_test: Fail
-tests/dart2js/typed_locals_test: Fail
-tests/dart2js/native/abstract_class_test: Fail
-tests/dart2js/native/bound_closure_test: Fail
-tests/dart2js/native/browser_compat_1_prepatched_test: Fail
-tests/dart2js/native/browser_compat_1_unpatched_test: Fail
-tests/dart2js/native/browser_compat_2_test: Fail
-tests/dart2js/native/core_type_check_native_test: Fail
-tests/dart2js/native/dispatch_property_initialization_test: Fail
-tests/dart2js/native/downcast_test: Fail
-tests/dart2js/native/error_safeToString_test: Fail
-tests/dart2js/native/event_loop_test: Fail
-tests/dart2js/native/fake_thing_2_test: Fail
-tests/dart2js/native/fake_thing_test: Fail
-tests/dart2js/native/field_type_test: Fail
-tests/dart2js/native/field_type2_test: Fail
-tests/dart2js/native/fixup_get_tag_test: Fail
-tests/dart2js/native/hash_code_test: Fail
-tests/dart2js/native/issue9182_test: Fail
-tests/dart2js/native/jsobject_test: Fail
-tests/dart2js/native/native_call_arity1_frog_test: Fail
-tests/dart2js/native/native_call_arity2_frog_test: Fail
-tests/dart2js/native/native_call_arity3_frog_test: Fail
-tests/dart2js/native/native_checked_arguments1_frog_test: Fail
-tests/dart2js/native/native_checked_fields_frog_test: Fail
-tests/dart2js/native/native_class_avoids_hidden_name_frog_test: Fail
-tests/dart2js/native/native_class_fields_2_test: Fail
-tests/dart2js/native/native_class_fields_3_test: Fail
-tests/dart2js/native/native_class_fields_test: Fail
-tests/dart2js/native/native_class_inheritance1_frog_test: Fail
-tests/dart2js/native/native_class_inheritance2_frog_test: Fail
-tests/dart2js/native/native_class_inheritance3_frog_test: Fail
-tests/dart2js/native/native_class_inheritance4_frog_test: Fail
-tests/dart2js/native/native_class_is_check1_frog_test: Fail
-tests/dart2js/native/native_class_is_check3_frog_test: Fail
-tests/dart2js/native/native_class_with_dart_methods_frog_test: Fail
-tests/dart2js/native/native_closure_identity_frog_test: Fail
-tests/dart2js/native/native_constructor_name_test: Fail
-tests/dart2js/native/native_equals_frog_test: Fail
-tests/dart2js/native/native_exception2_test: Fail
-tests/dart2js/native/native_exceptions1_frog_test: Fail
-tests/dart2js/native/native_field_invocation_test: Fail
-tests/dart2js/native/native_field_invocation2_test: Fail
-tests/dart2js/native/native_field_invocation3_test: Fail
-tests/dart2js/native/native_field_invocation4_test: Fail
-tests/dart2js/native/native_field_invocation5_test: Fail
-tests/dart2js/native/native_field_invocation6_test: Fail
-tests/dart2js/native/native_field_name_test: Fail
-tests/dart2js/native/native_field_optimization_test: Fail
-tests/dart2js/native/native_field_rename_1_frog_test: Fail
-tests/dart2js/native/native_field_rename_2_frog_test: Fail
-tests/dart2js/native/native_library_same_name_used_frog_test: Fail
-tests/dart2js/native/native_library_same_name_used_lib2: Fail
-tests/dart2js/native/native_method_inlining_test: Fail
-tests/dart2js/native/native_method_rename1_frog_test: Fail
-tests/dart2js/native/native_method_rename2_frog_test: Fail
-tests/dart2js/native/native_method_rename3_frog_test: Fail
-tests/dart2js/native/native_method_with_keyword_name_test: Fail
-tests/dart2js/native/native_missing_method1_frog_test: Fail
-tests/dart2js/native/native_missing_method2_frog_test: Fail
-tests/dart2js/native/native_mixin_field_test: Fail
-tests/dart2js/native/native_mixin_multiple_test: Fail
-tests/dart2js/native/native_mixin_multiple2_test: Fail
-tests/dart2js/native/native_mixin_multiple3_test: Fail
-tests/dart2js/native/native_mixin_test: Fail
-tests/dart2js/native/native_mixin_with_plain_test: Fail
-tests/dart2js/native/native_named_constructors2_frog_test: Fail
-tests/dart2js/native/native_named_constructors3_frog_test: Fail
-tests/dart2js/native/native_no_such_method_exception_frog_test: Fail
-tests/dart2js/native/native_no_such_method_exception2_frog_test: Fail
-tests/dart2js/native/native_no_such_method_exception3_frog_test: Fail
-tests/dart2js/native/native_no_such_method_exception4_frog_test: Fail
-tests/dart2js/native/native_no_such_method_exception5_frog_test: Fail
-tests/dart2js/native/native_novel_html_test: Fail
-tests/dart2js/native/native_null_closure_frog_test: Fail
-tests/dart2js/native/native_null_frog_test: Fail
-tests/dart2js/native/native_property_frog_test: Fail
-tests/dart2js/native/native_testing: Fail
-tests/dart2js/native/native_to_string_frog_test: Fail
-tests/dart2js/native/native_use_native_name_in_table_frog_test: Fail
-tests/dart2js/native/native_wrapping_function_frog_test: Fail
-tests/dart2js/native/native_wrapping_function3_frog_test: Fail
-tests/dart2js/native/oddly_named_fields_test: Fail
-tests/dart2js/native/runtimetype_test: Fail
-tests/dart2js/native/static_methods_test: Fail
-tests/dart2js/native/subclassing_1_test: Fail
-tests/dart2js/native/subclassing_2_test: Fail
-tests/dart2js/native/subclassing_3_test: Fail
-tests/dart2js/native/subclassing_4_test: Fail
-tests/dart2js/native/subclassing_5_test: Fail
-tests/dart2js/native/subclassing_constructor_1_test: Fail
-tests/dart2js/native/subclassing_super_call_test: Fail
-tests/dart2js/native/subclassing_super_field_1_test: Fail
-tests/dart2js/native/subclassing_super_field_2_test: Fail
-tests/dart2js/native/subclassing_type_test: Fail
-tests/dart2js/native/super_call_test: Fail
-tests/dart2js/native/super_property_test: Fail
-tests/dart2js/switch_test: Fail
-tests/dart2js/timer_negative_test: Fail
-tests/dart2js/typed_locals_test: Fail
-tests/dart2js_2/deferred_custom_loader_test: Fail
-tests/dart2js_2/empty_negative_test: Fail
-tests/dart2js_2/invalid_annotation_test: Fail
-tests/dart2js_2/invalid_annotation2_test: Fail
-tests/dart2js_2/invalid_length_negative_test: Fail
-tests/dart2js_2/LayoutTests_fast_mediastream_getusermedia_t01_test: Fail
-tests/dart2js_2/switch_test: Fail
-tests/dart2js_2/timer_negative_test: Fail
-tests/dart2js_2/typed_locals_test: Fail
-tests/dart2js_2/native/abstract_class_test: Fail
-tests/dart2js_2/native/bound_closure_test: Fail
-tests/dart2js_2/native/browser_compat_1_prepatched_test: Fail
-tests/dart2js_2/native/browser_compat_1_unpatched_test: Fail
-tests/dart2js_2/native/browser_compat_2_test: Fail
-tests/dart2js_2/native/core_type_check_native_test: Fail
-tests/dart2js_2/native/dispatch_property_initialization_test: Fail
-tests/dart2js_2/native/downcast_test: Fail
-tests/dart2js_2/native/error_safeToString_test: Fail
-tests/dart2js_2/native/event_loop_test: Fail
-tests/dart2js_2/native/fake_thing_2_test: Fail
-tests/dart2js_2/native/fake_thing_test: Fail
-tests/dart2js_2/native/field_type_test: Fail
-tests/dart2js_2/native/field_type2_test: Fail
-tests/dart2js_2/native/fixup_get_tag_test: Fail
-tests/dart2js_2/native/hash_code_test: Fail
-tests/dart2js_2/native/issue9182_test: Fail
-tests/dart2js_2/native/jsobject_test: Fail
-tests/dart2js_2/native/native_call_arity1_frog_test: Fail
-tests/dart2js_2/native/native_call_arity2_frog_test: Fail
-tests/dart2js_2/native/native_call_arity3_frog_test: Fail
-tests/dart2js_2/native/native_checked_arguments1_frog_test: Fail
-tests/dart2js_2/native/native_checked_fields_frog_test: Fail
-tests/dart2js_2/native/native_class_avoids_hidden_name_frog_test: Fail
-tests/dart2js_2/native/native_class_fields_2_test: Fail
-tests/dart2js_2/native/native_class_fields_3_test: Fail
-tests/dart2js_2/native/native_class_fields_test: Fail
-tests/dart2js_2/native/native_class_inheritance1_frog_test: Fail
-tests/dart2js_2/native/native_class_inheritance2_frog_test: Fail
-tests/dart2js_2/native/native_class_inheritance3_frog_test: Fail
-tests/dart2js_2/native/native_class_inheritance4_frog_test: Fail
-tests/dart2js_2/native/native_class_is_check1_frog_test: Fail
-tests/dart2js_2/native/native_class_is_check3_frog_test: Fail
-tests/dart2js_2/native/native_class_with_dart_methods_frog_test: Fail
-tests/dart2js_2/native/native_closure_identity_frog_test: Fail
-tests/dart2js_2/native/native_constructor_name_test: Fail
-tests/dart2js_2/native/native_equals_frog_test: Fail
-tests/dart2js_2/native/native_exception2_test: Fail
-tests/dart2js_2/native/native_exceptions1_frog_test: Fail
-tests/dart2js_2/native/native_field_invocation_test: Fail
-tests/dart2js_2/native/native_field_invocation2_test: Fail
-tests/dart2js_2/native/native_field_invocation3_test: Fail
-tests/dart2js_2/native/native_field_invocation4_test: Fail
-tests/dart2js_2/native/native_field_invocation5_test: Fail
-tests/dart2js_2/native/native_field_invocation6_test: Fail
-tests/dart2js_2/native/native_field_name_test: Fail
-tests/dart2js_2/native/native_field_optimization_test: Fail
-tests/dart2js_2/native/native_field_rename_1_frog_test: Fail
-tests/dart2js_2/native/native_field_rename_2_frog_test: Fail
-tests/dart2js_2/native/native_library_same_name_used_frog_test: Fail
-tests/dart2js_2/native/native_library_same_name_used_lib2: Fail
-tests/dart2js_2/native/native_method_inlining_test: Fail
-tests/dart2js_2/native/native_method_rename1_frog_test: Fail
-tests/dart2js_2/native/native_method_rename2_frog_test: Fail
-tests/dart2js_2/native/native_method_rename3_frog_test: Fail
-tests/dart2js_2/native/native_method_with_keyword_name_test: Fail
-tests/dart2js_2/native/native_missing_method1_frog_test: Fail
-tests/dart2js_2/native/native_missing_method2_frog_test: Fail
-tests/dart2js_2/native/native_mixin_field_test: Fail
-tests/dart2js_2/native/native_mixin_multiple_test: Fail
-tests/dart2js_2/native/native_mixin_multiple2_test: Fail
-tests/dart2js_2/native/native_mixin_multiple3_test: Fail
-tests/dart2js_2/native/native_mixin_test: Fail
-tests/dart2js_2/native/native_mixin_with_plain_test: Fail
-tests/dart2js_2/native/native_named_constructors2_frog_test: Fail
-tests/dart2js_2/native/native_named_constructors3_frog_test: Fail
-tests/dart2js_2/native/native_no_such_method_exception_frog_test: Fail
-tests/dart2js_2/native/native_no_such_method_exception2_frog_test: Fail
-tests/dart2js_2/native/native_no_such_method_exception3_frog_test: Fail
-tests/dart2js_2/native/native_no_such_method_exception4_frog_test: Fail
-tests/dart2js_2/native/native_no_such_method_exception5_frog_test: Fail
-tests/dart2js_2/native/native_novel_html_test: Fail
-tests/dart2js_2/native/native_null_closure_frog_test: Fail
-tests/dart2js_2/native/native_null_frog_test: Fail
-tests/dart2js_2/native/native_property_frog_test: Fail
-tests/dart2js_2/native/native_testing: Fail
-tests/dart2js_2/native/native_to_string_frog_test: Fail
-tests/dart2js_2/native/native_use_native_name_in_table_frog_test: Fail
-tests/dart2js_2/native/native_wrapping_function_frog_test: Fail
-tests/dart2js_2/native/native_wrapping_function3_frog_test: Fail
-tests/dart2js_2/native/oddly_named_fields_test: Fail
-tests/dart2js_2/native/runtimetype_test: Fail
-tests/dart2js_2/native/static_methods_test: Fail
-tests/dart2js_2/native/subclassing_1_test: Fail
-tests/dart2js_2/native/subclassing_2_test: Fail
-tests/dart2js_2/native/subclassing_3_test: Fail
-tests/dart2js_2/native/subclassing_4_test: Fail
-tests/dart2js_2/native/subclassing_5_test: Fail
-tests/dart2js_2/native/subclassing_constructor_1_test: Fail
-tests/dart2js_2/native/subclassing_super_call_test: Fail
-tests/dart2js_2/native/subclassing_super_field_1_test: Fail
-tests/dart2js_2/native/subclassing_super_field_2_test: Fail
-tests/dart2js_2/native/subclassing_type_test: Fail
-tests/dart2js_2/native/super_call_test: Fail
-tests/dart2js_2/native/super_property_test: Fail
-tests/dart2js_2/switch_test: Fail
-tests/dart2js_2/timer_negative_test: Fail
-tests/dart2js_2/typed_locals_test: Fail
+tests/web/deferred_custom_loader_test: Fail
+tests/web/empty_negative_test: Fail
+tests/web/invalid_annotation_test: Fail
+tests/web/invalid_annotation2_test: Fail
+tests/web/invalid_length_negative_test: Fail
+tests/web/LayoutTests_fast_mediastream_getusermedia_t01_test: Fail
+tests/web/switch_test: Fail
+tests/web/timer_negative_test: Fail
+tests/web/typed_locals_test: Fail
+tests/web/native/abstract_class_test: Fail
+tests/web/native/bound_closure_test: Fail
+tests/web/native/browser_compat_1_prepatched_test: Fail
+tests/web/native/browser_compat_1_unpatched_test: Fail
+tests/web/native/browser_compat_2_test: Fail
+tests/web/native/core_type_check_native_test: Fail
+tests/web/native/dispatch_property_initialization_test: Fail
+tests/web/native/downcast_test: Fail
+tests/web/native/error_safeToString_test: Fail
+tests/web/native/event_loop_test: Fail
+tests/web/native/fake_thing_2_test: Fail
+tests/web/native/fake_thing_test: Fail
+tests/web/native/field_type_test: Fail
+tests/web/native/field_type2_test: Fail
+tests/web/native/fixup_get_tag_test: Fail
+tests/web/native/hash_code_test: Fail
+tests/web/native/issue9182_test: Fail
+tests/web/native/jsobject_test: Fail
+tests/web/native/native_call_arity1_frog_test: Fail
+tests/web/native/native_call_arity2_frog_test: Fail
+tests/web/native/native_call_arity3_frog_test: Fail
+tests/web/native/native_checked_arguments1_frog_test: Fail
+tests/web/native/native_checked_fields_frog_test: Fail
+tests/web/native/native_class_avoids_hidden_name_frog_test: Fail
+tests/web/native/native_class_fields_2_test: Fail
+tests/web/native/native_class_fields_3_test: Fail
+tests/web/native/native_class_fields_test: Fail
+tests/web/native/native_class_inheritance1_frog_test: Fail
+tests/web/native/native_class_inheritance2_frog_test: Fail
+tests/web/native/native_class_inheritance3_frog_test: Fail
+tests/web/native/native_class_inheritance4_frog_test: Fail
+tests/web/native/native_class_is_check1_frog_test: Fail
+tests/web/native/native_class_is_check3_frog_test: Fail
+tests/web/native/native_class_with_dart_methods_frog_test: Fail
+tests/web/native/native_closure_identity_frog_test: Fail
+tests/web/native/native_constructor_name_test: Fail
+tests/web/native/native_equals_frog_test: Fail
+tests/web/native/native_exception2_test: Fail
+tests/web/native/native_exceptions1_frog_test: Fail
+tests/web/native/native_field_invocation_test: Fail
+tests/web/native/native_field_invocation2_test: Fail
+tests/web/native/native_field_invocation3_test: Fail
+tests/web/native/native_field_invocation4_test: Fail
+tests/web/native/native_field_invocation5_test: Fail
+tests/web/native/native_field_invocation6_test: Fail
+tests/web/native/native_field_name_test: Fail
+tests/web/native/native_field_optimization_test: Fail
+tests/web/native/native_field_rename_1_frog_test: Fail
+tests/web/native/native_field_rename_2_frog_test: Fail
+tests/web/native/native_library_same_name_used_frog_test: Fail
+tests/web/native/native_library_same_name_used_lib2: Fail
+tests/web/native/native_method_inlining_test: Fail
+tests/web/native/native_method_rename1_frog_test: Fail
+tests/web/native/native_method_rename2_frog_test: Fail
+tests/web/native/native_method_rename3_frog_test: Fail
+tests/web/native/native_method_with_keyword_name_test: Fail
+tests/web/native/native_missing_method1_frog_test: Fail
+tests/web/native/native_missing_method2_frog_test: Fail
+tests/web/native/native_mixin_field_test: Fail
+tests/web/native/native_mixin_multiple_test: Fail
+tests/web/native/native_mixin_multiple2_test: Fail
+tests/web/native/native_mixin_multiple3_test: Fail
+tests/web/native/native_mixin_test: Fail
+tests/web/native/native_mixin_with_plain_test: Fail
+tests/web/native/native_named_constructors2_frog_test: Fail
+tests/web/native/native_named_constructors3_frog_test: Fail
+tests/web/native/native_no_such_method_exception_frog_test: Fail
+tests/web/native/native_no_such_method_exception2_frog_test: Fail
+tests/web/native/native_no_such_method_exception3_frog_test: Fail
+tests/web/native/native_no_such_method_exception4_frog_test: Fail
+tests/web/native/native_no_such_method_exception5_frog_test: Fail
+tests/web/native/native_novel_html_test: Fail
+tests/web/native/native_null_closure_frog_test: Fail
+tests/web/native/native_null_frog_test: Fail
+tests/web/native/native_property_frog_test: Fail
+tests/web/native/native_testing: Fail
+tests/web/native/native_to_string_frog_test: Fail
+tests/web/native/native_use_native_name_in_table_frog_test: Fail
+tests/web/native/native_wrapping_function_frog_test: Fail
+tests/web/native/native_wrapping_function3_frog_test: Fail
+tests/web/native/oddly_named_fields_test: Fail
+tests/web/native/runtimetype_test: Fail
+tests/web/native/static_methods_test: Fail
+tests/web/native/subclassing_1_test: Fail
+tests/web/native/subclassing_2_test: Fail
+tests/web/native/subclassing_3_test: Fail
+tests/web/native/subclassing_4_test: Fail
+tests/web/native/subclassing_5_test: Fail
+tests/web/native/subclassing_constructor_1_test: Fail
+tests/web/native/subclassing_super_call_test: Fail
+tests/web/native/subclassing_super_field_1_test: Fail
+tests/web/native/subclassing_super_field_2_test: Fail
+tests/web/native/subclassing_type_test: Fail
+tests/web/native/super_call_test: Fail
+tests/web/native/super_property_test: Fail
+tests/web/switch_test: Fail
+tests/web/timer_negative_test: Fail
+tests/web/typed_locals_test: Fail
+tests/web_2/deferred_custom_loader_test: Fail
+tests/web_2/empty_negative_test: Fail
+tests/web_2/invalid_annotation_test: Fail
+tests/web_2/invalid_annotation2_test: Fail
+tests/web_2/invalid_length_negative_test: Fail
+tests/web_2/LayoutTests_fast_mediastream_getusermedia_t01_test: Fail
+tests/web_2/switch_test: Fail
+tests/web_2/timer_negative_test: Fail
+tests/web_2/typed_locals_test: Fail
+tests/web_2/native/abstract_class_test: Fail
+tests/web_2/native/bound_closure_test: Fail
+tests/web_2/native/browser_compat_1_prepatched_test: Fail
+tests/web_2/native/browser_compat_1_unpatched_test: Fail
+tests/web_2/native/browser_compat_2_test: Fail
+tests/web_2/native/core_type_check_native_test: Fail
+tests/web_2/native/dispatch_property_initialization_test: Fail
+tests/web_2/native/downcast_test: Fail
+tests/web_2/native/error_safeToString_test: Fail
+tests/web_2/native/event_loop_test: Fail
+tests/web_2/native/fake_thing_2_test: Fail
+tests/web_2/native/fake_thing_test: Fail
+tests/web_2/native/field_type_test: Fail
+tests/web_2/native/field_type2_test: Fail
+tests/web_2/native/fixup_get_tag_test: Fail
+tests/web_2/native/hash_code_test: Fail
+tests/web_2/native/issue9182_test: Fail
+tests/web_2/native/jsobject_test: Fail
+tests/web_2/native/native_call_arity1_frog_test: Fail
+tests/web_2/native/native_call_arity2_frog_test: Fail
+tests/web_2/native/native_call_arity3_frog_test: Fail
+tests/web_2/native/native_checked_arguments1_frog_test: Fail
+tests/web_2/native/native_checked_fields_frog_test: Fail
+tests/web_2/native/native_class_avoids_hidden_name_frog_test: Fail
+tests/web_2/native/native_class_fields_2_test: Fail
+tests/web_2/native/native_class_fields_3_test: Fail
+tests/web_2/native/native_class_fields_test: Fail
+tests/web_2/native/native_class_inheritance1_frog_test: Fail
+tests/web_2/native/native_class_inheritance2_frog_test: Fail
+tests/web_2/native/native_class_inheritance3_frog_test: Fail
+tests/web_2/native/native_class_inheritance4_frog_test: Fail
+tests/web_2/native/native_class_is_check1_frog_test: Fail
+tests/web_2/native/native_class_is_check3_frog_test: Fail
+tests/web_2/native/native_class_with_dart_methods_frog_test: Fail
+tests/web_2/native/native_closure_identity_frog_test: Fail
+tests/web_2/native/native_constructor_name_test: Fail
+tests/web_2/native/native_equals_frog_test: Fail
+tests/web_2/native/native_exception2_test: Fail
+tests/web_2/native/native_exceptions1_frog_test: Fail
+tests/web_2/native/native_field_invocation_test: Fail
+tests/web_2/native/native_field_invocation2_test: Fail
+tests/web_2/native/native_field_invocation3_test: Fail
+tests/web_2/native/native_field_invocation4_test: Fail
+tests/web_2/native/native_field_invocation5_test: Fail
+tests/web_2/native/native_field_invocation6_test: Fail
+tests/web_2/native/native_field_name_test: Fail
+tests/web_2/native/native_field_optimization_test: Fail
+tests/web_2/native/native_field_rename_1_frog_test: Fail
+tests/web_2/native/native_field_rename_2_frog_test: Fail
+tests/web_2/native/native_library_same_name_used_frog_test: Fail
+tests/web_2/native/native_library_same_name_used_lib2: Fail
+tests/web_2/native/native_method_inlining_test: Fail
+tests/web_2/native/native_method_rename1_frog_test: Fail
+tests/web_2/native/native_method_rename2_frog_test: Fail
+tests/web_2/native/native_method_rename3_frog_test: Fail
+tests/web_2/native/native_method_with_keyword_name_test: Fail
+tests/web_2/native/native_missing_method1_frog_test: Fail
+tests/web_2/native/native_missing_method2_frog_test: Fail
+tests/web_2/native/native_mixin_field_test: Fail
+tests/web_2/native/native_mixin_multiple_test: Fail
+tests/web_2/native/native_mixin_multiple2_test: Fail
+tests/web_2/native/native_mixin_multiple3_test: Fail
+tests/web_2/native/native_mixin_test: Fail
+tests/web_2/native/native_mixin_with_plain_test: Fail
+tests/web_2/native/native_named_constructors2_frog_test: Fail
+tests/web_2/native/native_named_constructors3_frog_test: Fail
+tests/web_2/native/native_no_such_method_exception_frog_test: Fail
+tests/web_2/native/native_no_such_method_exception2_frog_test: Fail
+tests/web_2/native/native_no_such_method_exception3_frog_test: Fail
+tests/web_2/native/native_no_such_method_exception4_frog_test: Fail
+tests/web_2/native/native_no_such_method_exception5_frog_test: Fail
+tests/web_2/native/native_novel_html_test: Fail
+tests/web_2/native/native_null_closure_frog_test: Fail
+tests/web_2/native/native_null_frog_test: Fail
+tests/web_2/native/native_property_frog_test: Fail
+tests/web_2/native/native_testing: Fail
+tests/web_2/native/native_to_string_frog_test: Fail
+tests/web_2/native/native_use_native_name_in_table_frog_test: Fail
+tests/web_2/native/native_wrapping_function_frog_test: Fail
+tests/web_2/native/native_wrapping_function3_frog_test: Fail
+tests/web_2/native/oddly_named_fields_test: Fail
+tests/web_2/native/runtimetype_test: Fail
+tests/web_2/native/static_methods_test: Fail
+tests/web_2/native/subclassing_1_test: Fail
+tests/web_2/native/subclassing_2_test: Fail
+tests/web_2/native/subclassing_3_test: Fail
+tests/web_2/native/subclassing_4_test: Fail
+tests/web_2/native/subclassing_5_test: Fail
+tests/web_2/native/subclassing_constructor_1_test: Fail
+tests/web_2/native/subclassing_super_call_test: Fail
+tests/web_2/native/subclassing_super_field_1_test: Fail
+tests/web_2/native/subclassing_super_field_2_test: Fail
+tests/web_2/native/subclassing_type_test: Fail
+tests/web_2/native/super_call_test: Fail
+tests/web_2/native/super_property_test: Fail
+tests/web_2/switch_test: Fail
+tests/web_2/timer_negative_test: Fail
+tests/web_2/typed_locals_test: Fail
 tests/language_2/abstract_syntax_test: Fail
 tests/language_2/arg_param_trailing_comma_test: Fail
 tests/language_strong/argument_definition_test: Fail
diff --git a/pkg/front_end/test/fasta/scanner/scanner.status b/pkg/front_end/test/fasta/scanner/scanner.status
index 1fa275a..3987742 100644
--- a/pkg/front_end/test/fasta/scanner/scanner.status
+++ b/pkg/front_end/test/fasta/scanner/scanner.status
@@ -3,9 +3,9 @@
 # BSD-style license that can be found in the LICENSE.md file.
 
 pkg/testing/test/dart_sdk_negative_test: Fail
-tests/dart2js_2/empty_negative_test: Fail
-tests/dart2js_2/invalid_length_negative_test: Fail
-tests/dart2js_2/timer_negative_test: Fail
+tests/web_2/empty_negative_test: Fail
+tests/web_2/invalid_length_negative_test: Fail
+tests/web_2/timer_negative_test: Fail
 tests/language_strong/assign_instance_method_negative_test: Fail
 tests/language_strong/bad_initializer1_negative_test: Fail
 tests/language_strong/bad_initializer2_negative_test: Fail
diff --git a/pkg/front_end/test/spell_checking_list_messages.txt b/pkg/front_end/test/spell_checking_list_messages.txt
index f8c8578..04eb66f 100644
--- a/pkg/front_end/test/spell_checking_list_messages.txt
+++ b/pkg/front_end/test/spell_checking_list_messages.txt
@@ -36,6 +36,7 @@
 h
 https
 interop
+js_util
 libraries.json
 list.filled
 loadlibrary
diff --git a/pkg/front_end/testing.json b/pkg/front_end/testing.json
index 8bd4c7e..ffd672a 100644
--- a/pkg/front_end/testing.json
+++ b/pkg/front_end/testing.json
@@ -421,7 +421,7 @@
       "command-lines": [
         "--checked dart2js",
         "-cdart2js -rd8 --exclude-suite=observatory_ui",
-        "-cdart2js -rd8 dart2js_2"
+        "-cdart2js -rd8 web_2"
       ]
     },
     {
@@ -433,7 +433,7 @@
       "common": "--time -pcolor --report -ax64 -mrelease --write-result-log",
       "command-lines": [
         "-t240 pkg/(kernel|front_end|fasta) --checked",
-        "-t240 dart2js/analyze_test",
+        "-t240 web/analyze_test",
         "-cdartk -rvm"
       ]
     },
@@ -448,7 +448,7 @@
         "-t240 --checked pkg/(kernel|front_end|fasta) dart2js",
         "-cdartk -rvm",
         "-cdart2js -rd8 --exclude-suite=observatory_ui",
-        "-cdart2js -rd8 dart2js_2"
+        "-cdart2js -rd8 web_2"
       ]
     },
     {
@@ -459,7 +459,7 @@
       "mode": "release",
       "common": "--dart2js-batch --time -pcolor --report -ax64 -mrelease --write-result-log",
       "command-lines": [
-        "-cdart2js -rd8 --use-sdk --minified language language_2 dart2js_2 corelib corelib_2"
+        "-cdart2js -rd8 --use-sdk --minified language language_2 web_2 corelib corelib_2"
       ]
     }
   ],
diff --git a/pkg/test_runner/lib/src/test_configurations.dart b/pkg/test_runner/lib/src/test_configurations.dart
index 4487429..bbacb13 100644
--- a/pkg/test_runner/lib/src/test_configurations.dart
+++ b/pkg/test_runner/lib/src/test_configurations.dart
@@ -40,8 +40,8 @@
   Path('samples-dev'),
   Path('tests/corelib'),
   Path('tests/corelib_2'),
-  Path('tests/dart2js'),
-  Path('tests/dart2js_2'),
+  Path('tests/web'),
+  Path('tests/web_2'),
   Path('tests/dartdevc'),
   Path('tests/dartdevc_2'),
   Path('tests/language'),
diff --git a/runtime/observatory/tests/service/regress_44859_test.dart b/runtime/observatory/tests/service/regress_44859_test.dart
new file mode 100644
index 0000000..8112070
--- /dev/null
+++ b/runtime/observatory/tests/service/regress_44859_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:observatory/service_io.dart';
+import 'package:test/test.dart';
+import 'test_helper.dart';
+
+void script() {}
+
+var tests = <IsolateTest>[
+  (Isolate isolate) async {
+    Map metrics = await isolate.refreshDartMetrics();
+    expect(metrics.length, 0);
+  },
+];
+
+main(args) => runIsolateTests(args, tests, testeeBefore: script);
diff --git a/runtime/observatory_2/tests/service_2/regress_44859_test.dart b/runtime/observatory_2/tests/service_2/regress_44859_test.dart
new file mode 100644
index 0000000..46bf69d
--- /dev/null
+++ b/runtime/observatory_2/tests/service_2/regress_44859_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:observatory_2/service_io.dart';
+import 'package:test/test.dart';
+import 'test_helper.dart';
+
+void script() {}
+
+var tests = <IsolateTest>[
+  (Isolate isolate) async {
+    Map metrics = await isolate.refreshDartMetrics();
+    expect(metrics.length, 0);
+  },
+];
+
+main(args) => runIsolateTests(args, tests, testeeBefore: script);
diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc
index a4a8c0b..4827248 100644
--- a/runtime/vm/service.cc
+++ b/runtime/vm/service.cc
@@ -3584,6 +3584,8 @@
 static bool HandleDartMetricsList(Thread* thread, JSONStream* js) {
   Zone* zone = thread->zone();
   const Class& metrics_cls = Class::Handle(zone, GetMetricsClass(thread));
+  const auto& error = metrics_cls.EnsureIsFinalized(Thread::Current());
+  ASSERT(error == Error::null());
   const String& print_metrics_name =
       String::Handle(String::New("_printMetrics"));
   ASSERT(!print_metrics_name.IsNull());
diff --git a/sdk/lib/_internal/js_runtime/lib/js_helper.dart b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
index 1bef6a1..98cf5e8 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_helper.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
@@ -3007,7 +3007,7 @@
 // This is currently a no-op in dart2js, but used for native tests.
 void applyTestExtensions(List<String> names) {}
 
-// See tests/dart2js_2/platform_environment_variable1_test.dart
+// See tests/web_2/platform_environment_variable1_test.dart
 const String testPlatformEnvironmentVariableValue = String.fromEnvironment(
     'dart2js.test.platform.environment.variable',
     defaultValue: 'not-specified');
diff --git a/tests/dart2js_2/internal/rti/required_named_parameters_test.dart b/tests/dart2js_2/internal/rti/required_named_parameters_test.dart
deleted file mode 100644
index ccf3f7d..0000000
--- a/tests/dart2js_2/internal/rti/required_named_parameters_test.dart
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// Requirements=nnbd
-
-import 'dart:_rti' as rti;
-import 'dart:_foreign_helper' show JS;
-import "package:expect/expect.dart";
-
-const typeRulesJson = r'''
-{
-  "B": {"A": []},
-  "C": {"B": []}
-}
-''';
-final typeRules = JS('=Object', 'JSON.parse(#)', typeRulesJson);
-
-main() {
-  var universe = rti.testingCreateUniverse();
-  rti.testingAddRules(universe, typeRules);
-
-  // Recipe is properly parsed
-  var rti1 = rti.testingUniverseEval(universe, "@(B,{a!B,b:B,c!B})");
-
-  // Subtype must be contravariant in its named parameter types
-  var rti2 = rti.testingUniverseEval(universe, "@(B,{a!A,b:B,c!B})");
-  Expect.isTrue(rti.testingIsSubtype(universe, rti2, rti1));
-  rti2 = rti.testingUniverseEval(universe, "@(B,{a!B,b:A,c!B})");
-  Expect.isTrue(rti.testingIsSubtype(universe, rti2, rti1));
-  rti2 = rti.testingUniverseEval(universe, "@(B,{a!C,b:B,c!B})");
-  Expect.isFalse(rti.testingIsSubtype(universe, rti2, rti1));
-  rti2 = rti.testingUniverseEval(universe, "@(B,{a!B,b:C,c!B})");
-  Expect.isFalse(rti.testingIsSubtype(universe, rti2, rti1));
-
-  // Subtype may not omit optional named parameters
-  rti2 = rti.testingUniverseEval(universe, "@(A,{a!A,c!A})");
-  Expect.isFalse(rti.testingIsSubtype(universe, rti2, rti1));
-
-  // Subtype may not omit required named parameters
-  rti2 = rti.testingUniverseEval(universe, "@(A,{a!A,b:A})");
-  Expect.isFalse(rti.testingIsSubtype(universe, rti2, rti1));
-
-  // Subtype may contain additional named optional parameters
-  rti2 = rti.testingUniverseEval(universe, "@(A,{a!A,b:A,c!A,d:A})");
-  Expect.isTrue(rti.testingIsSubtype(universe, rti2, rti1));
-
-  // Subtype may redeclare required parameters as optional.
-  rti2 = rti.testingUniverseEval(universe, "@(A,{a:A,b:A,c:A})");
-  Expect.isTrue(rti.testingIsSubtype(universe, rti2, rti1));
-
-  // Subtype may not redeclare optional parameters as required
-  rti2 = rti.testingUniverseEval(universe, "@(A,{a!A,b!A,c!A})");
-  Expect.equals(
-      hasUnsoundNullSafety, rti.testingIsSubtype(universe, rti2, rti1));
-
-  // Subtype may not declare new required named parameters
-  rti2 = rti.testingUniverseEval(universe, "@(A,{a!A,b:A,c!A,d!A})");
-  Expect.equals(
-      hasUnsoundNullSafety, rti.testingIsSubtype(universe, rti2, rti1));
-
-  // Rti.toString() appears as expected
-  Expect.equals('(B, {required B a, B b, required B c}) => dynamic',
-      rti.testingRtiToString(rti1));
-
-  // Rti debug string properly annotates all required parameters
-  Expect.equals(
-      2, 'required'.allMatches(rti.testingRtiToDebugString(rti1)).length);
-}
diff --git a/tests/lib/js/native_as_js_classes_static_test/language_version_test.dart b/tests/lib/js/native_as_js_classes_static_test/language_version_test.dart
new file mode 100644
index 0000000..279a9da
--- /dev/null
+++ b/tests/lib/js/native_as_js_classes_static_test/language_version_test.dart
@@ -0,0 +1,17 @@
+// Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// @dart=2.12
+
+// Test that static check does not occur before language version 2.13.
+
+@JS()
+library language_version_test;
+
+import 'package:js/js.dart';
+
+@JS()
+class HTMLDocument {}
+
+void main() {}
diff --git a/tests/dart2js/10216a_test.dart b/tests/web/10216a_test.dart
similarity index 100%
rename from tests/dart2js/10216a_test.dart
rename to tests/web/10216a_test.dart
diff --git a/tests/dart2js/10216b_test.dart b/tests/web/10216b_test.dart
similarity index 100%
rename from tests/dart2js/10216b_test.dart
rename to tests/web/10216b_test.dart
diff --git a/tests/dart2js/11673_test.dart b/tests/web/11673_test.dart
similarity index 100%
rename from tests/dart2js/11673_test.dart
rename to tests/web/11673_test.dart
diff --git a/tests/dart2js/12320_test.dart b/tests/web/12320_test.dart
similarity index 100%
rename from tests/dart2js/12320_test.dart
rename to tests/web/12320_test.dart
diff --git a/tests/dart2js/12_test.dart b/tests/web/12_test.dart
similarity index 100%
rename from tests/dart2js/12_test.dart
rename to tests/web/12_test.dart
diff --git a/tests/dart2js/16400_test.dart b/tests/web/16400_test.dart
similarity index 100%
rename from tests/dart2js/16400_test.dart
rename to tests/web/16400_test.dart
diff --git a/tests/dart2js/16407_test.dart b/tests/web/16407_test.dart
similarity index 100%
rename from tests/dart2js/16407_test.dart
rename to tests/web/16407_test.dart
diff --git a/tests/dart2js/16967_test.dart b/tests/web/16967_test.dart
similarity index 100%
rename from tests/dart2js/16967_test.dart
rename to tests/web/16967_test.dart
diff --git a/tests/dart2js/17094_test.dart b/tests/web/17094_test.dart
similarity index 100%
rename from tests/dart2js/17094_test.dart
rename to tests/web/17094_test.dart
diff --git a/tests/dart2js/17645_test.dart b/tests/web/17645_test.dart
similarity index 100%
rename from tests/dart2js/17645_test.dart
rename to tests/web/17645_test.dart
diff --git a/tests/dart2js/17856_test.dart b/tests/web/17856_test.dart
similarity index 100%
rename from tests/dart2js/17856_test.dart
rename to tests/web/17856_test.dart
diff --git a/tests/dart2js/18175_test.dart b/tests/web/18175_test.dart
similarity index 100%
rename from tests/dart2js/18175_test.dart
rename to tests/web/18175_test.dart
diff --git a/tests/dart2js/18383_test.dart b/tests/web/18383_test.dart
similarity index 100%
rename from tests/dart2js/18383_test.dart
rename to tests/web/18383_test.dart
diff --git a/tests/dart2js/19191_test.dart b/tests/web/19191_test.dart
similarity index 100%
rename from tests/dart2js/19191_test.dart
rename to tests/web/19191_test.dart
diff --git a/tests/dart2js/21351_test.dart b/tests/web/21351_test.dart
similarity index 100%
rename from tests/dart2js/21351_test.dart
rename to tests/web/21351_test.dart
diff --git a/tests/dart2js/21579_test.dart b/tests/web/21579_test.dart
similarity index 100%
rename from tests/dart2js/21579_test.dart
rename to tests/web/21579_test.dart
diff --git a/tests/dart2js/22487_test.dart b/tests/web/22487_test.dart
similarity index 100%
rename from tests/dart2js/22487_test.dart
rename to tests/web/22487_test.dart
diff --git a/tests/dart2js/22776_test.dart b/tests/web/22776_test.dart
similarity index 100%
rename from tests/dart2js/22776_test.dart
rename to tests/web/22776_test.dart
diff --git a/tests/dart2js/22868_test.dart b/tests/web/22868_test.dart
similarity index 100%
rename from tests/dart2js/22868_test.dart
rename to tests/web/22868_test.dart
diff --git a/tests/dart2js/22917_test.dart b/tests/web/22917_test.dart
similarity index 100%
rename from tests/dart2js/22917_test.dart
rename to tests/web/22917_test.dart
diff --git a/tests/dart2js/23404_test.dart b/tests/web/23404_test.dart
similarity index 100%
rename from tests/dart2js/23404_test.dart
rename to tests/web/23404_test.dart
diff --git a/tests/dart2js/23432_test.dart b/tests/web/23432_test.dart
similarity index 100%
rename from tests/dart2js/23432_test.dart
rename to tests/web/23432_test.dart
diff --git a/tests/dart2js/23486_helper.dart b/tests/web/23486_helper.dart
similarity index 100%
rename from tests/dart2js/23486_helper.dart
rename to tests/web/23486_helper.dart
diff --git a/tests/dart2js/23486_test.dart b/tests/web/23486_test.dart
similarity index 100%
rename from tests/dart2js/23486_test.dart
rename to tests/web/23486_test.dart
diff --git a/tests/dart2js/23804_test.dart b/tests/web/23804_test.dart
similarity index 100%
rename from tests/dart2js/23804_test.dart
rename to tests/web/23804_test.dart
diff --git a/tests/dart2js/23828_test.dart b/tests/web/23828_test.dart
similarity index 100%
rename from tests/dart2js/23828_test.dart
rename to tests/web/23828_test.dart
diff --git a/tests/dart2js/26243_test.dart b/tests/web/26243_test.dart
similarity index 100%
rename from tests/dart2js/26243_test.dart
rename to tests/web/26243_test.dart
diff --git a/tests/dart2js/27198_test.dart b/tests/web/27198_test.dart
similarity index 100%
rename from tests/dart2js/27198_test.dart
rename to tests/web/27198_test.dart
diff --git a/tests/dart2js/27199_test.dart b/tests/web/27199_test.dart
similarity index 100%
rename from tests/dart2js/27199_test.dart
rename to tests/web/27199_test.dart
diff --git a/tests/dart2js/27323_test.dart b/tests/web/27323_test.dart
similarity index 100%
rename from tests/dart2js/27323_test.dart
rename to tests/web/27323_test.dart
diff --git a/tests/dart2js/27354_test.dart b/tests/web/27354_test.dart
similarity index 100%
rename from tests/dart2js/27354_test.dart
rename to tests/web/27354_test.dart
diff --git a/tests/dart2js/28749_test.dart b/tests/web/28749_test.dart
similarity index 100%
rename from tests/dart2js/28749_test.dart
rename to tests/web/28749_test.dart
diff --git a/tests/dart2js/28919_test.dart b/tests/web/28919_test.dart
similarity index 100%
rename from tests/dart2js/28919_test.dart
rename to tests/web/28919_test.dart
diff --git a/tests/dart2js/29130_test.dart b/tests/web/29130_test.dart
similarity index 100%
rename from tests/dart2js/29130_test.dart
rename to tests/web/29130_test.dart
diff --git a/tests/dart2js/31803_test.dart b/tests/web/31803_test.dart
similarity index 100%
rename from tests/dart2js/31803_test.dart
rename to tests/web/31803_test.dart
diff --git a/tests/dart2js/32770a_test.dart b/tests/web/32770a_test.dart
similarity index 100%
rename from tests/dart2js/32770a_test.dart
rename to tests/web/32770a_test.dart
diff --git a/tests/dart2js/32770b_test.dart b/tests/web/32770b_test.dart
similarity index 100%
rename from tests/dart2js/32770b_test.dart
rename to tests/web/32770b_test.dart
diff --git a/tests/dart2js/32770c_test.dart b/tests/web/32770c_test.dart
similarity index 100%
rename from tests/dart2js/32770c_test.dart
rename to tests/web/32770c_test.dart
diff --git a/tests/dart2js/32774_test.dart b/tests/web/32774_test.dart
similarity index 100%
rename from tests/dart2js/32774_test.dart
rename to tests/web/32774_test.dart
diff --git a/tests/dart2js/32828_test.dart b/tests/web/32828_test.dart
similarity index 100%
rename from tests/dart2js/32828_test.dart
rename to tests/web/32828_test.dart
diff --git a/tests/dart2js/32853_test.dart b/tests/web/32853_test.dart
similarity index 100%
rename from tests/dart2js/32853_test.dart
rename to tests/web/32853_test.dart
diff --git a/tests/dart2js/32928_test.dart b/tests/web/32928_test.dart
similarity index 100%
rename from tests/dart2js/32928_test.dart
rename to tests/web/32928_test.dart
diff --git a/tests/dart2js/32969_test.dart b/tests/web/32969_test.dart
similarity index 100%
rename from tests/dart2js/32969_test.dart
rename to tests/web/32969_test.dart
diff --git a/tests/dart2js/32997a_lib.dart b/tests/web/32997a_lib.dart
similarity index 100%
rename from tests/dart2js/32997a_lib.dart
rename to tests/web/32997a_lib.dart
diff --git a/tests/dart2js/32997a_test.dart b/tests/web/32997a_test.dart
similarity index 100%
rename from tests/dart2js/32997a_test.dart
rename to tests/web/32997a_test.dart
diff --git a/tests/dart2js/32997b_lib.dart b/tests/web/32997b_lib.dart
similarity index 100%
rename from tests/dart2js/32997b_lib.dart
rename to tests/web/32997b_lib.dart
diff --git a/tests/dart2js/32997b_test.dart b/tests/web/32997b_test.dart
similarity index 100%
rename from tests/dart2js/32997b_test.dart
rename to tests/web/32997b_test.dart
diff --git a/tests/dart2js/33296_test.dart b/tests/web/33296_test.dart
similarity index 100%
rename from tests/dart2js/33296_test.dart
rename to tests/web/33296_test.dart
diff --git a/tests/dart2js/33572_test.dart b/tests/web/33572_test.dart
similarity index 100%
rename from tests/dart2js/33572_test.dart
rename to tests/web/33572_test.dart
diff --git a/tests/dart2js/33_test.dart b/tests/web/33_test.dart
similarity index 100%
rename from tests/dart2js/33_test.dart
rename to tests/web/33_test.dart
diff --git a/tests/dart2js/34156_test.dart b/tests/web/34156_test.dart
similarity index 100%
rename from tests/dart2js/34156_test.dart
rename to tests/web/34156_test.dart
diff --git a/tests/dart2js/34701_test.dart b/tests/web/34701_test.dart
similarity index 100%
rename from tests/dart2js/34701_test.dart
rename to tests/web/34701_test.dart
diff --git a/tests/dart2js/35341_test.dart b/tests/web/35341_test.dart
similarity index 100%
rename from tests/dart2js/35341_test.dart
rename to tests/web/35341_test.dart
diff --git a/tests/dart2js/35356_test.dart b/tests/web/35356_test.dart
similarity index 100%
rename from tests/dart2js/35356_test.dart
rename to tests/web/35356_test.dart
diff --git a/tests/dart2js/35853_test.dart b/tests/web/35853_test.dart
similarity index 100%
rename from tests/dart2js/35853_test.dart
rename to tests/web/35853_test.dart
diff --git a/tests/dart2js/35965a_test.dart b/tests/web/35965a_test.dart
similarity index 100%
rename from tests/dart2js/35965a_test.dart
rename to tests/web/35965a_test.dart
diff --git a/tests/dart2js/37494_test.dart b/tests/web/37494_test.dart
similarity index 100%
rename from tests/dart2js/37494_test.dart
rename to tests/web/37494_test.dart
diff --git a/tests/dart2js/37576_test.dart b/tests/web/37576_test.dart
similarity index 100%
rename from tests/dart2js/37576_test.dart
rename to tests/web/37576_test.dart
diff --git a/tests/dart2js/38005_test.dart b/tests/web/38005_test.dart
similarity index 100%
rename from tests/dart2js/38005_test.dart
rename to tests/web/38005_test.dart
diff --git a/tests/dart2js/38949_test.dart b/tests/web/38949_test.dart
similarity index 100%
rename from tests/dart2js/38949_test.dart
rename to tests/web/38949_test.dart
diff --git a/tests/dart2js/3_test.dart b/tests/web/3_test.dart
similarity index 100%
rename from tests/dart2js/3_test.dart
rename to tests/web/3_test.dart
diff --git a/tests/dart2js/40152a_test.dart b/tests/web/40152a_test.dart
similarity index 100%
rename from tests/dart2js/40152a_test.dart
rename to tests/web/40152a_test.dart
diff --git a/tests/dart2js/40902_test.dart b/tests/web/40902_test.dart
similarity index 100%
rename from tests/dart2js/40902_test.dart
rename to tests/web/40902_test.dart
diff --git a/tests/dart2js/41449a_test.dart b/tests/web/41449a_test.dart
similarity index 100%
rename from tests/dart2js/41449a_test.dart
rename to tests/web/41449a_test.dart
diff --git a/tests/dart2js/41449b_test.dart b/tests/web/41449b_test.dart
similarity index 100%
rename from tests/dart2js/41449b_test.dart
rename to tests/web/41449b_test.dart
diff --git a/tests/dart2js/41449c_test.dart b/tests/web/41449c_test.dart
similarity index 100%
rename from tests/dart2js/41449c_test.dart
rename to tests/web/41449c_test.dart
diff --git a/tests/dart2js/42088_test.dart b/tests/web/42088_test.dart
similarity index 100%
rename from tests/dart2js/42088_test.dart
rename to tests/web/42088_test.dart
diff --git a/tests/dart2js/42189_test.dart b/tests/web/42189_test.dart
similarity index 100%
rename from tests/dart2js/42189_test.dart
rename to tests/web/42189_test.dart
diff --git a/tests/dart2js/42501_test.dart b/tests/web/42501_test.dart
similarity index 100%
rename from tests/dart2js/42501_test.dart
rename to tests/web/42501_test.dart
diff --git a/tests/dart2js/42531_test.dart b/tests/web/42531_test.dart
similarity index 100%
rename from tests/dart2js/42531_test.dart
rename to tests/web/42531_test.dart
diff --git a/tests/dart2js/43_test.dart b/tests/web/43_test.dart
similarity index 100%
rename from tests/dart2js/43_test.dart
rename to tests/web/43_test.dart
diff --git a/tests/dart2js/7_test.dart b/tests/web/7_test.dart
similarity index 100%
rename from tests/dart2js/7_test.dart
rename to tests/web/7_test.dart
diff --git a/tests/dart2js/881_test.dart b/tests/web/881_test.dart
similarity index 100%
rename from tests/dart2js/881_test.dart
rename to tests/web/881_test.dart
diff --git a/tests/dart2js/LayoutTests_fast_mediastream_getusermedia_t01_test.dart b/tests/web/LayoutTests_fast_mediastream_getusermedia_t01_test.dart
similarity index 100%
rename from tests/dart2js/LayoutTests_fast_mediastream_getusermedia_t01_test.dart
rename to tests/web/LayoutTests_fast_mediastream_getusermedia_t01_test.dart
diff --git a/tests/dart2js/assert_with_message_test.dart b/tests/web/assert_with_message_test.dart
similarity index 100%
rename from tests/dart2js/assert_with_message_test.dart
rename to tests/web/assert_with_message_test.dart
diff --git a/tests/dart2js/async_helper.dart b/tests/web/async_helper.dart
similarity index 100%
rename from tests/dart2js/async_helper.dart
rename to tests/web/async_helper.dart
diff --git a/tests/dart2js/async_stacktrace_test.dart b/tests/web/async_stacktrace_test.dart
similarity index 100%
rename from tests/dart2js/async_stacktrace_test.dart
rename to tests/web/async_stacktrace_test.dart
diff --git a/tests/dart2js/big_allocation_expression_test.dart b/tests/web/big_allocation_expression_test.dart
similarity index 100%
rename from tests/dart2js/big_allocation_expression_test.dart
rename to tests/web/big_allocation_expression_test.dart
diff --git a/tests/dart2js/block_expression_on_field_test.dart b/tests/web/block_expression_on_field_test.dart
similarity index 100%
rename from tests/dart2js/block_expression_on_field_test.dart
rename to tests/web/block_expression_on_field_test.dart
diff --git a/tests/dart2js/bound_closure_interceptor_methods_test.dart b/tests/web/bound_closure_interceptor_methods_test.dart
similarity index 100%
rename from tests/dart2js/bound_closure_interceptor_methods_test.dart
rename to tests/web/bound_closure_interceptor_methods_test.dart
diff --git a/tests/dart2js/bound_closure_interceptor_type_test.dart b/tests/web/bound_closure_interceptor_type_test.dart
similarity index 100%
rename from tests/dart2js/bound_closure_interceptor_type_test.dart
rename to tests/web/bound_closure_interceptor_type_test.dart
diff --git a/tests/dart2js/bounded_type_literal_test.dart b/tests/web/bounded_type_literal_test.dart
similarity index 100%
rename from tests/dart2js/bounded_type_literal_test.dart
rename to tests/web/bounded_type_literal_test.dart
diff --git a/tests/dart2js/bounds_check1a_test.dart b/tests/web/bounds_check1a_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check1a_test.dart
rename to tests/web/bounds_check1a_test.dart
diff --git a/tests/dart2js/bounds_check1b_test.dart b/tests/web/bounds_check1b_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check1b_test.dart
rename to tests/web/bounds_check1b_test.dart
diff --git a/tests/dart2js/bounds_check2a_test.dart b/tests/web/bounds_check2a_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check2a_test.dart
rename to tests/web/bounds_check2a_test.dart
diff --git a/tests/dart2js/bounds_check2b_test.dart b/tests/web/bounds_check2b_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check2b_test.dart
rename to tests/web/bounds_check2b_test.dart
diff --git a/tests/dart2js/bounds_check3a_test.dart b/tests/web/bounds_check3a_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check3a_test.dart
rename to tests/web/bounds_check3a_test.dart
diff --git a/tests/dart2js/bounds_check3b_test.dart b/tests/web/bounds_check3b_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check3b_test.dart
rename to tests/web/bounds_check3b_test.dart
diff --git a/tests/dart2js/bounds_check3c_test.dart b/tests/web/bounds_check3c_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check3c_test.dart
rename to tests/web/bounds_check3c_test.dart
diff --git a/tests/dart2js/bounds_check4a_test.dart b/tests/web/bounds_check4a_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check4a_test.dart
rename to tests/web/bounds_check4a_test.dart
diff --git a/tests/dart2js/bounds_check4b_test.dart b/tests/web/bounds_check4b_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check4b_test.dart
rename to tests/web/bounds_check4b_test.dart
diff --git a/tests/dart2js/bounds_check_test.dart b/tests/web/bounds_check_test.dart
similarity index 100%
rename from tests/dart2js/bounds_check_test.dart
rename to tests/web/bounds_check_test.dart
diff --git a/tests/dart2js/break_test.dart b/tests/web/break_test.dart
similarity index 100%
rename from tests/dart2js/break_test.dart
rename to tests/web/break_test.dart
diff --git a/tests/dart2js/call_is_function_test.dart b/tests/web/call_is_function_test.dart
similarity index 100%
rename from tests/dart2js/call_is_function_test.dart
rename to tests/web/call_is_function_test.dart
diff --git a/tests/dart2js/call_signature_test.dart b/tests/web/call_signature_test.dart
similarity index 100%
rename from tests/dart2js/call_signature_test.dart
rename to tests/web/call_signature_test.dart
diff --git a/tests/dart2js/call_uninlined_test.dart b/tests/web/call_uninlined_test.dart
similarity index 100%
rename from tests/dart2js/call_uninlined_test.dart
rename to tests/web/call_uninlined_test.dart
diff --git a/tests/dart2js/cfe_instance_constant_test.dart b/tests/web/cfe_instance_constant_test.dart
similarity index 100%
rename from tests/dart2js/cfe_instance_constant_test.dart
rename to tests/web/cfe_instance_constant_test.dart
diff --git a/tests/dart2js/checked_setter_test.dart b/tests/web/checked_setter_test.dart
similarity index 100%
rename from tests/dart2js/checked_setter_test.dart
rename to tests/web/checked_setter_test.dart
diff --git a/tests/dart2js/class_hierarchy_extends_clause_test.dart b/tests/web/class_hierarchy_extends_clause_test.dart
similarity index 100%
rename from tests/dart2js/class_hierarchy_extends_clause_test.dart
rename to tests/web/class_hierarchy_extends_clause_test.dart
diff --git a/tests/dart2js/closure2_test.dart b/tests/web/closure2_test.dart
similarity index 100%
rename from tests/dart2js/closure2_test.dart
rename to tests/web/closure2_test.dart
diff --git a/tests/dart2js/closure3_test.dart b/tests/web/closure3_test.dart
similarity index 100%
rename from tests/dart2js/closure3_test.dart
rename to tests/web/closure3_test.dart
diff --git a/tests/dart2js/closure4_test.dart b/tests/web/closure4_test.dart
similarity index 100%
rename from tests/dart2js/closure4_test.dart
rename to tests/web/closure4_test.dart
diff --git a/tests/dart2js/closure5_test.dart b/tests/web/closure5_test.dart
similarity index 100%
rename from tests/dart2js/closure5_test.dart
rename to tests/web/closure5_test.dart
diff --git a/tests/dart2js/closure6_test.dart b/tests/web/closure6_test.dart
similarity index 100%
rename from tests/dart2js/closure6_test.dart
rename to tests/web/closure6_test.dart
diff --git a/tests/dart2js/closure7_test.dart b/tests/web/closure7_test.dart
similarity index 100%
rename from tests/dart2js/closure7_test.dart
rename to tests/web/closure7_test.dart
diff --git a/tests/dart2js/closure_capture2_test.dart b/tests/web/closure_capture2_test.dart
similarity index 100%
rename from tests/dart2js/closure_capture2_test.dart
rename to tests/web/closure_capture2_test.dart
diff --git a/tests/dart2js/closure_capture3_test.dart b/tests/web/closure_capture3_test.dart
similarity index 100%
rename from tests/dart2js/closure_capture3_test.dart
rename to tests/web/closure_capture3_test.dart
diff --git a/tests/dart2js/closure_capture4_test.dart b/tests/web/closure_capture4_test.dart
similarity index 100%
rename from tests/dart2js/closure_capture4_test.dart
rename to tests/web/closure_capture4_test.dart
diff --git a/tests/dart2js/closure_capture5_test.dart b/tests/web/closure_capture5_test.dart
similarity index 100%
rename from tests/dart2js/closure_capture5_test.dart
rename to tests/web/closure_capture5_test.dart
diff --git a/tests/dart2js/closure_capture6_test.dart b/tests/web/closure_capture6_test.dart
similarity index 100%
rename from tests/dart2js/closure_capture6_test.dart
rename to tests/web/closure_capture6_test.dart
diff --git a/tests/dart2js/closure_capture7_test.dart b/tests/web/closure_capture7_test.dart
similarity index 100%
rename from tests/dart2js/closure_capture7_test.dart
rename to tests/web/closure_capture7_test.dart
diff --git a/tests/dart2js/closure_capture_test.dart b/tests/web/closure_capture_test.dart
similarity index 100%
rename from tests/dart2js/closure_capture_test.dart
rename to tests/web/closure_capture_test.dart
diff --git a/tests/dart2js/closure_signature_unneeded_test.dart b/tests/web/closure_signature_unneeded_test.dart
similarity index 100%
rename from tests/dart2js/closure_signature_unneeded_test.dart
rename to tests/web/closure_signature_unneeded_test.dart
diff --git a/tests/dart2js/closure_test.dart b/tests/web/closure_test.dart
similarity index 100%
rename from tests/dart2js/closure_test.dart
rename to tests/web/closure_test.dart
diff --git a/tests/dart2js/code_motion_exception_test.dart b/tests/web/code_motion_exception_test.dart
similarity index 100%
rename from tests/dart2js/code_motion_exception_test.dart
rename to tests/web/code_motion_exception_test.dart
diff --git a/tests/dart2js/compile_time_constant4_test.dart b/tests/web/compile_time_constant4_test.dart
similarity index 100%
rename from tests/dart2js/compile_time_constant4_test.dart
rename to tests/web/compile_time_constant4_test.dart
diff --git a/tests/dart2js/compound_operator_index_test.dart b/tests/web/compound_operator_index_test.dart
similarity index 100%
rename from tests/dart2js/compound_operator_index_test.dart
rename to tests/web/compound_operator_index_test.dart
diff --git a/tests/dart2js/conditional_rewrite_test.dart b/tests/web/conditional_rewrite_test.dart
similarity index 100%
rename from tests/dart2js/conditional_rewrite_test.dart
rename to tests/web/conditional_rewrite_test.dart
diff --git a/tests/dart2js/conditional_send_test.dart b/tests/web/conditional_send_test.dart
similarity index 100%
rename from tests/dart2js/conditional_send_test.dart
rename to tests/web/conditional_send_test.dart
diff --git a/tests/dart2js/conditional_test.dart b/tests/web/conditional_test.dart
similarity index 100%
rename from tests/dart2js/conditional_test.dart
rename to tests/web/conditional_test.dart
diff --git a/tests/dart2js/conflict_index_test.dart b/tests/web/conflict_index_test.dart
similarity index 100%
rename from tests/dart2js/conflict_index_test.dart
rename to tests/web/conflict_index_test.dart
diff --git a/tests/dart2js/consistent_add_error_test.dart b/tests/web/consistent_add_error_test.dart
similarity index 100%
rename from tests/dart2js/consistent_add_error_test.dart
rename to tests/web/consistent_add_error_test.dart
diff --git a/tests/dart2js/consistent_codeUnitAt_error_test.dart b/tests/web/consistent_codeUnitAt_error_test.dart
similarity index 100%
rename from tests/dart2js/consistent_codeUnitAt_error_test.dart
rename to tests/web/consistent_codeUnitAt_error_test.dart
diff --git a/tests/dart2js/consistent_index_error_array_test.dart b/tests/web/consistent_index_error_array_test.dart
similarity index 100%
rename from tests/dart2js/consistent_index_error_array_test.dart
rename to tests/web/consistent_index_error_array_test.dart
diff --git a/tests/dart2js/consistent_index_error_string_test.dart b/tests/web/consistent_index_error_string_test.dart
similarity index 100%
rename from tests/dart2js/consistent_index_error_string_test.dart
rename to tests/web/consistent_index_error_string_test.dart
diff --git a/tests/dart2js/consistent_index_error_typed_list_test.dart b/tests/web/consistent_index_error_typed_list_test.dart
similarity index 100%
rename from tests/dart2js/consistent_index_error_typed_list_test.dart
rename to tests/web/consistent_index_error_typed_list_test.dart
diff --git a/tests/dart2js/consistent_null_add_error_test.dart b/tests/web/consistent_null_add_error_test.dart
similarity index 100%
rename from tests/dart2js/consistent_null_add_error_test.dart
rename to tests/web/consistent_null_add_error_test.dart
diff --git a/tests/dart2js/consistent_subtract_error_test.dart b/tests/web/consistent_subtract_error_test.dart
similarity index 100%
rename from tests/dart2js/consistent_subtract_error_test.dart
rename to tests/web/consistent_subtract_error_test.dart
diff --git a/tests/dart2js/consistent_type_error_test.dart b/tests/web/consistent_type_error_test.dart
similarity index 100%
rename from tests/dart2js/consistent_type_error_test.dart
rename to tests/web/consistent_type_error_test.dart
diff --git a/tests/dart2js/constant_fold_number_dart2_j_s_test.dart b/tests/web/constant_fold_number_dart2_j_s_test.dart
similarity index 100%
rename from tests/dart2js/constant_fold_number_dart2_j_s_test.dart
rename to tests/web/constant_fold_number_dart2_j_s_test.dart
diff --git a/tests/dart2js/constant_folding2_test.dart b/tests/web/constant_folding2_test.dart
similarity index 100%
rename from tests/dart2js/constant_folding2_test.dart
rename to tests/web/constant_folding2_test.dart
diff --git a/tests/dart2js/constant_folding_test.dart b/tests/web/constant_folding_test.dart
similarity index 100%
rename from tests/dart2js/constant_folding_test.dart
rename to tests/web/constant_folding_test.dart
diff --git a/tests/dart2js/constant_javascript_semantics2_test.dart b/tests/web/constant_javascript_semantics2_test.dart
similarity index 100%
rename from tests/dart2js/constant_javascript_semantics2_test.dart
rename to tests/web/constant_javascript_semantics2_test.dart
diff --git a/tests/dart2js/constant_javascript_semantics3_test.dart b/tests/web/constant_javascript_semantics3_test.dart
similarity index 100%
rename from tests/dart2js/constant_javascript_semantics3_test.dart
rename to tests/web/constant_javascript_semantics3_test.dart
diff --git a/tests/dart2js/constant_javascript_semantics4_test.dart b/tests/web/constant_javascript_semantics4_test.dart
similarity index 100%
rename from tests/dart2js/constant_javascript_semantics4_test.dart
rename to tests/web/constant_javascript_semantics4_test.dart
diff --git a/tests/dart2js/constant_javascript_semantics_test.dart b/tests/web/constant_javascript_semantics_test.dart
similarity index 100%
rename from tests/dart2js/constant_javascript_semantics_test.dart
rename to tests/web/constant_javascript_semantics_test.dart
diff --git a/tests/dart2js/constant_javascript_semantics_test5.dart b/tests/web/constant_javascript_semantics_test5.dart
similarity index 100%
rename from tests/dart2js/constant_javascript_semantics_test5.dart
rename to tests/web/constant_javascript_semantics_test5.dart
diff --git a/tests/dart2js/constant_truncate_test.dart b/tests/web/constant_truncate_test.dart
similarity index 100%
rename from tests/dart2js/constant_truncate_test.dart
rename to tests/web/constant_truncate_test.dart
diff --git a/tests/dart2js/crash_library_metadata.dart b/tests/web/crash_library_metadata.dart
similarity index 100%
rename from tests/dart2js/crash_library_metadata.dart
rename to tests/web/crash_library_metadata.dart
diff --git a/tests/dart2js/dart2js.status b/tests/web/dart2js.status
similarity index 100%
rename from tests/dart2js/dart2js.status
rename to tests/web/dart2js.status
diff --git a/tests/dart2js/data_uri_test.dart b/tests/web/data_uri_test.dart
similarity index 100%
rename from tests/dart2js/data_uri_test.dart
rename to tests/web/data_uri_test.dart
diff --git a/tests/dart2js/deferred/34219_bounds_lib1.dart b/tests/web/deferred/34219_bounds_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_bounds_lib1.dart
rename to tests/web/deferred/34219_bounds_lib1.dart
diff --git a/tests/dart2js/deferred/34219_bounds_lib2.dart b/tests/web/deferred/34219_bounds_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_bounds_lib2.dart
rename to tests/web/deferred/34219_bounds_lib2.dart
diff --git a/tests/dart2js/deferred/34219_bounds_lib3.dart b/tests/web/deferred/34219_bounds_lib3.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_bounds_lib3.dart
rename to tests/web/deferred/34219_bounds_lib3.dart
diff --git a/tests/dart2js/deferred/34219_bounds_test.dart b/tests/web/deferred/34219_bounds_test.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_bounds_test.dart
rename to tests/web/deferred/34219_bounds_test.dart
diff --git a/tests/dart2js/deferred/34219_signature_lib1.dart b/tests/web/deferred/34219_signature_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_signature_lib1.dart
rename to tests/web/deferred/34219_signature_lib1.dart
diff --git a/tests/dart2js/deferred/34219_signature_lib2.dart b/tests/web/deferred/34219_signature_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_signature_lib2.dart
rename to tests/web/deferred/34219_signature_lib2.dart
diff --git a/tests/dart2js/deferred/34219_signature_lib3.dart b/tests/web/deferred/34219_signature_lib3.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_signature_lib3.dart
rename to tests/web/deferred/34219_signature_lib3.dart
diff --git a/tests/dart2js/deferred/34219_signature_test.dart b/tests/web/deferred/34219_signature_test.dart
similarity index 100%
rename from tests/dart2js/deferred/34219_signature_test.dart
rename to tests/web/deferred/34219_signature_test.dart
diff --git a/tests/dart2js/deferred/default_arg_is_tearoff_lib.dart b/tests/web/deferred/default_arg_is_tearoff_lib.dart
similarity index 100%
rename from tests/dart2js/deferred/default_arg_is_tearoff_lib.dart
rename to tests/web/deferred/default_arg_is_tearoff_lib.dart
diff --git a/tests/dart2js/deferred/default_arg_is_tearoff_test.dart b/tests/web/deferred/default_arg_is_tearoff_test.dart
similarity index 100%
rename from tests/dart2js/deferred/default_arg_is_tearoff_test.dart
rename to tests/web/deferred/default_arg_is_tearoff_test.dart
diff --git a/tests/dart2js/deferred/deferred_apply_lib.dart b/tests/web/deferred/deferred_apply_lib.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_apply_lib.dart
rename to tests/web/deferred/deferred_apply_lib.dart
diff --git a/tests/dart2js/deferred/deferred_apply_test.dart b/tests/web/deferred/deferred_apply_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_apply_test.dart
rename to tests/web/deferred/deferred_apply_test.dart
diff --git a/tests/dart2js/deferred/deferred_class_library.dart b/tests/web/deferred/deferred_class_library.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_class_library.dart
rename to tests/web/deferred/deferred_class_library.dart
diff --git a/tests/dart2js/deferred/deferred_class_library2.dart b/tests/web/deferred/deferred_class_library2.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_class_library2.dart
rename to tests/web/deferred/deferred_class_library2.dart
diff --git a/tests/dart2js/deferred/deferred_class_test.dart b/tests/web/deferred/deferred_class_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_class_test.dart
rename to tests/web/deferred/deferred_class_test.dart
diff --git a/tests/dart2js/deferred/deferred_constant2_test.dart b/tests/web/deferred/deferred_constant2_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_constant2_test.dart
rename to tests/web/deferred/deferred_constant2_test.dart
diff --git a/tests/dart2js/deferred/deferred_constant3_test.dart b/tests/web/deferred/deferred_constant3_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_constant3_test.dart
rename to tests/web/deferred/deferred_constant3_test.dart
diff --git a/tests/dart2js/deferred/deferred_constant4_test.dart b/tests/web/deferred/deferred_constant4_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_constant4_test.dart
rename to tests/web/deferred/deferred_constant4_test.dart
diff --git a/tests/dart2js/deferred/deferred_constant_dependency_evaluation_test.dart b/tests/web/deferred/deferred_constant_dependency_evaluation_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_constant_dependency_evaluation_test.dart
rename to tests/web/deferred/deferred_constant_dependency_evaluation_test.dart
diff --git a/tests/dart2js/deferred/deferred_function_library.dart b/tests/web/deferred/deferred_function_library.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_function_library.dart
rename to tests/web/deferred/deferred_function_library.dart
diff --git a/tests/dart2js/deferred/deferred_function_test.dart b/tests/web/deferred/deferred_function_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_function_test.dart
rename to tests/web/deferred/deferred_function_test.dart
diff --git a/tests/dart2js/deferred/deferred_metadata_lib.dart b/tests/web/deferred/deferred_metadata_lib.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_metadata_lib.dart
rename to tests/web/deferred/deferred_metadata_lib.dart
diff --git a/tests/dart2js/deferred/deferred_metadata_test.dart b/tests/web/deferred/deferred_metadata_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_metadata_test.dart
rename to tests/web/deferred/deferred_metadata_test.dart
diff --git a/tests/dart2js/deferred/deferred_mirrors2_lib2.dart b/tests/web/deferred/deferred_mirrors2_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_mirrors2_lib2.dart
rename to tests/web/deferred/deferred_mirrors2_lib2.dart
diff --git a/tests/dart2js/deferred/deferred_mirrors2_lib4.dart b/tests/web/deferred/deferred_mirrors2_lib4.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_mirrors2_lib4.dart
rename to tests/web/deferred/deferred_mirrors2_lib4.dart
diff --git a/tests/dart2js/deferred/deferred_mirrors2_lib5.dart b/tests/web/deferred/deferred_mirrors2_lib5.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_mirrors2_lib5.dart
rename to tests/web/deferred/deferred_mirrors2_lib5.dart
diff --git a/tests/dart2js/deferred/deferred_overlapping_lib1.dart b/tests/web/deferred/deferred_overlapping_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_overlapping_lib1.dart
rename to tests/web/deferred/deferred_overlapping_lib1.dart
diff --git a/tests/dart2js/deferred/deferred_overlapping_lib2.dart b/tests/web/deferred/deferred_overlapping_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_overlapping_lib2.dart
rename to tests/web/deferred/deferred_overlapping_lib2.dart
diff --git a/tests/dart2js/deferred/deferred_overlapping_lib3.dart b/tests/web/deferred/deferred_overlapping_lib3.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_overlapping_lib3.dart
rename to tests/web/deferred/deferred_overlapping_lib3.dart
diff --git a/tests/dart2js/deferred/deferred_overlapping_test.dart b/tests/web/deferred/deferred_overlapping_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_overlapping_test.dart
rename to tests/web/deferred/deferred_overlapping_test.dart
diff --git a/tests/dart2js/deferred/deferred_unused_classes_test.dart b/tests/web/deferred/deferred_unused_classes_test.dart
similarity index 100%
rename from tests/dart2js/deferred/deferred_unused_classes_test.dart
rename to tests/web/deferred/deferred_unused_classes_test.dart
diff --git a/tests/dart2js/deferred/interface_type_variable_lib.dart b/tests/web/deferred/interface_type_variable_lib.dart
similarity index 100%
rename from tests/dart2js/deferred/interface_type_variable_lib.dart
rename to tests/web/deferred/interface_type_variable_lib.dart
diff --git a/tests/dart2js/deferred/interface_type_variable_test.dart b/tests/web/deferred/interface_type_variable_test.dart
similarity index 100%
rename from tests/dart2js/deferred/interface_type_variable_test.dart
rename to tests/web/deferred/interface_type_variable_test.dart
diff --git a/tests/dart2js/deferred/many_parts/lib1.dart b/tests/web/deferred/many_parts/lib1.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib1.dart
rename to tests/web/deferred/many_parts/lib1.dart
diff --git a/tests/dart2js/deferred/many_parts/lib10.dart b/tests/web/deferred/many_parts/lib10.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib10.dart
rename to tests/web/deferred/many_parts/lib10.dart
diff --git a/tests/dart2js/deferred/many_parts/lib11.dart b/tests/web/deferred/many_parts/lib11.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib11.dart
rename to tests/web/deferred/many_parts/lib11.dart
diff --git a/tests/dart2js/deferred/many_parts/lib12.dart b/tests/web/deferred/many_parts/lib12.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib12.dart
rename to tests/web/deferred/many_parts/lib12.dart
diff --git a/tests/dart2js/deferred/many_parts/lib13.dart b/tests/web/deferred/many_parts/lib13.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib13.dart
rename to tests/web/deferred/many_parts/lib13.dart
diff --git a/tests/dart2js/deferred/many_parts/lib2.dart b/tests/web/deferred/many_parts/lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib2.dart
rename to tests/web/deferred/many_parts/lib2.dart
diff --git a/tests/dart2js/deferred/many_parts/lib3.dart b/tests/web/deferred/many_parts/lib3.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib3.dart
rename to tests/web/deferred/many_parts/lib3.dart
diff --git a/tests/dart2js/deferred/many_parts/lib4.dart b/tests/web/deferred/many_parts/lib4.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib4.dart
rename to tests/web/deferred/many_parts/lib4.dart
diff --git a/tests/dart2js/deferred/many_parts/lib5.dart b/tests/web/deferred/many_parts/lib5.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib5.dart
rename to tests/web/deferred/many_parts/lib5.dart
diff --git a/tests/dart2js/deferred/many_parts/lib6.dart b/tests/web/deferred/many_parts/lib6.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib6.dart
rename to tests/web/deferred/many_parts/lib6.dart
diff --git a/tests/dart2js/deferred/many_parts/lib7.dart b/tests/web/deferred/many_parts/lib7.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib7.dart
rename to tests/web/deferred/many_parts/lib7.dart
diff --git a/tests/dart2js/deferred/many_parts/lib8.dart b/tests/web/deferred/many_parts/lib8.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib8.dart
rename to tests/web/deferred/many_parts/lib8.dart
diff --git a/tests/dart2js/deferred/many_parts/lib9.dart b/tests/web/deferred/many_parts/lib9.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib9.dart
rename to tests/web/deferred/many_parts/lib9.dart
diff --git a/tests/dart2js/deferred/many_parts/libB.dart b/tests/web/deferred/many_parts/libB.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/libB.dart
rename to tests/web/deferred/many_parts/libB.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_000_000_000_1.dart b/tests/web/deferred/many_parts/lib_000_000_000_000_1.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_000_000_000_1.dart
rename to tests/web/deferred/many_parts/lib_000_000_000_000_1.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_000_000_001_0.dart b/tests/web/deferred/many_parts/lib_000_000_000_001_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_000_000_001_0.dart
rename to tests/web/deferred/many_parts/lib_000_000_000_001_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_000_000_010_0.dart b/tests/web/deferred/many_parts/lib_000_000_000_010_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_000_000_010_0.dart
rename to tests/web/deferred/many_parts/lib_000_000_000_010_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_000_000_100_0.dart b/tests/web/deferred/many_parts/lib_000_000_000_100_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_000_000_100_0.dart
rename to tests/web/deferred/many_parts/lib_000_000_000_100_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_000_001_000_0.dart b/tests/web/deferred/many_parts/lib_000_000_001_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_000_001_000_0.dart
rename to tests/web/deferred/many_parts/lib_000_000_001_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_000_010_000_0.dart b/tests/web/deferred/many_parts/lib_000_000_010_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_000_010_000_0.dart
rename to tests/web/deferred/many_parts/lib_000_000_010_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_000_100_000_0.dart b/tests/web/deferred/many_parts/lib_000_000_100_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_000_100_000_0.dart
rename to tests/web/deferred/many_parts/lib_000_000_100_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_001_000_000_0.dart b/tests/web/deferred/many_parts/lib_000_001_000_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_001_000_000_0.dart
rename to tests/web/deferred/many_parts/lib_000_001_000_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_010_000_000_0.dart b/tests/web/deferred/many_parts/lib_000_010_000_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_010_000_000_0.dart
rename to tests/web/deferred/many_parts/lib_000_010_000_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_000_100_000_000_0.dart b/tests/web/deferred/many_parts/lib_000_100_000_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_000_100_000_000_0.dart
rename to tests/web/deferred/many_parts/lib_000_100_000_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_001_000_000_000_0.dart b/tests/web/deferred/many_parts/lib_001_000_000_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_001_000_000_000_0.dart
rename to tests/web/deferred/many_parts/lib_001_000_000_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_010_000_000_000_0.dart b/tests/web/deferred/many_parts/lib_010_000_000_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_010_000_000_000_0.dart
rename to tests/web/deferred/many_parts/lib_010_000_000_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/lib_100_000_000_000_0.dart b/tests/web/deferred/many_parts/lib_100_000_000_000_0.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/lib_100_000_000_000_0.dart
rename to tests/web/deferred/many_parts/lib_100_000_000_000_0.dart
diff --git a/tests/dart2js/deferred/many_parts/many_parts_test.dart b/tests/web/deferred/many_parts/many_parts_test.dart
similarity index 100%
rename from tests/dart2js/deferred/many_parts/many_parts_test.dart
rename to tests/web/deferred/many_parts/many_parts_test.dart
diff --git a/tests/dart2js/deferred/multiple_default_arg_lib1.dart b/tests/web/deferred/multiple_default_arg_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred/multiple_default_arg_lib1.dart
rename to tests/web/deferred/multiple_default_arg_lib1.dart
diff --git a/tests/dart2js/deferred/multiple_default_arg_lib2.dart b/tests/web/deferred/multiple_default_arg_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/multiple_default_arg_lib2.dart
rename to tests/web/deferred/multiple_default_arg_lib2.dart
diff --git a/tests/dart2js/deferred/multiple_default_arg_lib3.dart b/tests/web/deferred/multiple_default_arg_lib3.dart
similarity index 100%
rename from tests/dart2js/deferred/multiple_default_arg_lib3.dart
rename to tests/web/deferred/multiple_default_arg_lib3.dart
diff --git a/tests/dart2js/deferred/multiple_default_arg_test.dart b/tests/web/deferred/multiple_default_arg_test.dart
similarity index 100%
rename from tests/dart2js/deferred/multiple_default_arg_test.dart
rename to tests/web/deferred/multiple_default_arg_test.dart
diff --git a/tests/dart2js/deferred/reflect_multiple_annotations_lib1.dart b/tests/web/deferred/reflect_multiple_annotations_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred/reflect_multiple_annotations_lib1.dart
rename to tests/web/deferred/reflect_multiple_annotations_lib1.dart
diff --git a/tests/dart2js/deferred/reflect_multiple_annotations_lib2.dart b/tests/web/deferred/reflect_multiple_annotations_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/reflect_multiple_annotations_lib2.dart
rename to tests/web/deferred/reflect_multiple_annotations_lib2.dart
diff --git a/tests/dart2js/deferred/reflect_multiple_default_arg_lib1.dart b/tests/web/deferred/reflect_multiple_default_arg_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred/reflect_multiple_default_arg_lib1.dart
rename to tests/web/deferred/reflect_multiple_default_arg_lib1.dart
diff --git a/tests/dart2js/deferred/reflect_multiple_default_arg_lib2.dart b/tests/web/deferred/reflect_multiple_default_arg_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred/reflect_multiple_default_arg_lib2.dart
rename to tests/web/deferred/reflect_multiple_default_arg_lib2.dart
diff --git a/tests/dart2js/deferred/regress_35311/lib.dart b/tests/web/deferred/regress_35311/lib.dart
similarity index 100%
rename from tests/dart2js/deferred/regress_35311/lib.dart
rename to tests/web/deferred/regress_35311/lib.dart
diff --git a/tests/dart2js/deferred/regress_35311/regress_35311_test.dart b/tests/web/deferred/regress_35311/regress_35311_test.dart
similarity index 100%
rename from tests/dart2js/deferred/regress_35311/regress_35311_test.dart
rename to tests/web/deferred/regress_35311/regress_35311_test.dart
diff --git a/tests/dart2js/deferred/regress_43055/libb.dart b/tests/web/deferred/regress_43055/libb.dart
similarity index 100%
rename from tests/dart2js/deferred/regress_43055/libb.dart
rename to tests/web/deferred/regress_43055/libb.dart
diff --git a/tests/dart2js/deferred/regress_43055/libc.dart b/tests/web/deferred/regress_43055/libc.dart
similarity index 100%
rename from tests/dart2js/deferred/regress_43055/libc.dart
rename to tests/web/deferred/regress_43055/libc.dart
diff --git a/tests/dart2js/deferred/regress_43055/regress_43055_test.dart b/tests/web/deferred/regress_43055/regress_43055_test.dart
similarity index 100%
rename from tests/dart2js/deferred/regress_43055/regress_43055_test.dart
rename to tests/web/deferred/regress_43055/regress_43055_test.dart
diff --git a/tests/dart2js/deferred/shared_constant_a.dart b/tests/web/deferred/shared_constant_a.dart
similarity index 100%
rename from tests/dart2js/deferred/shared_constant_a.dart
rename to tests/web/deferred/shared_constant_a.dart
diff --git a/tests/dart2js/deferred/shared_constant_b.dart b/tests/web/deferred/shared_constant_b.dart
similarity index 100%
rename from tests/dart2js/deferred/shared_constant_b.dart
rename to tests/web/deferred/shared_constant_b.dart
diff --git a/tests/dart2js/deferred/shared_constant_c.dart b/tests/web/deferred/shared_constant_c.dart
similarity index 100%
rename from tests/dart2js/deferred/shared_constant_c.dart
rename to tests/web/deferred/shared_constant_c.dart
diff --git a/tests/dart2js/deferred/shared_constant_shared.dart b/tests/web/deferred/shared_constant_shared.dart
similarity index 100%
rename from tests/dart2js/deferred/shared_constant_shared.dart
rename to tests/web/deferred/shared_constant_shared.dart
diff --git a/tests/dart2js/deferred/shared_constant_test.dart b/tests/web/deferred/shared_constant_test.dart
similarity index 100%
rename from tests/dart2js/deferred/shared_constant_test.dart
rename to tests/web/deferred/shared_constant_test.dart
diff --git a/tests/dart2js/deferred/type_literal_lib.dart b/tests/web/deferred/type_literal_lib.dart
similarity index 100%
rename from tests/dart2js/deferred/type_literal_lib.dart
rename to tests/web/deferred/type_literal_lib.dart
diff --git a/tests/dart2js/deferred/type_literal_test.dart b/tests/web/deferred/type_literal_test.dart
similarity index 100%
rename from tests/dart2js/deferred/type_literal_test.dart
rename to tests/web/deferred/type_literal_test.dart
diff --git a/tests/dart2js/deferred/typedef_lib.dart b/tests/web/deferred/typedef_lib.dart
similarity index 100%
rename from tests/dart2js/deferred/typedef_lib.dart
rename to tests/web/deferred/typedef_lib.dart
diff --git a/tests/dart2js/deferred/typedef_test.dart b/tests/web/deferred/typedef_test.dart
similarity index 100%
rename from tests/dart2js/deferred/typedef_test.dart
rename to tests/web/deferred/typedef_test.dart
diff --git a/tests/dart2js/deferred/uninstantiated_type_variable_lib.dart b/tests/web/deferred/uninstantiated_type_variable_lib.dart
similarity index 100%
rename from tests/dart2js/deferred/uninstantiated_type_variable_lib.dart
rename to tests/web/deferred/uninstantiated_type_variable_lib.dart
diff --git a/tests/dart2js/deferred/uninstantiated_type_variable_test.dart b/tests/web/deferred/uninstantiated_type_variable_test.dart
similarity index 100%
rename from tests/dart2js/deferred/uninstantiated_type_variable_test.dart
rename to tests/web/deferred/uninstantiated_type_variable_test.dart
diff --git a/tests/dart2js/deferred_fail_and_retry_lib.dart b/tests/web/deferred_fail_and_retry_lib.dart
similarity index 100%
rename from tests/dart2js/deferred_fail_and_retry_lib.dart
rename to tests/web/deferred_fail_and_retry_lib.dart
diff --git a/tests/dart2js/deferred_fail_and_retry_test.dart b/tests/web/deferred_fail_and_retry_test.dart
similarity index 100%
rename from tests/dart2js/deferred_fail_and_retry_test.dart
rename to tests/web/deferred_fail_and_retry_test.dart
diff --git a/tests/dart2js/deferred_function_types1_test.dart b/tests/web/deferred_function_types1_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types1_test.dart
rename to tests/web/deferred_function_types1_test.dart
diff --git a/tests/dart2js/deferred_function_types2_test.dart b/tests/web/deferred_function_types2_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types2_test.dart
rename to tests/web/deferred_function_types2_test.dart
diff --git a/tests/dart2js/deferred_function_types3_test.dart b/tests/web/deferred_function_types3_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types3_test.dart
rename to tests/web/deferred_function_types3_test.dart
diff --git a/tests/dart2js/deferred_function_types4_test.dart b/tests/web/deferred_function_types4_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types4_test.dart
rename to tests/web/deferred_function_types4_test.dart
diff --git a/tests/dart2js/deferred_function_types5_test.dart b/tests/web/deferred_function_types5_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types5_test.dart
rename to tests/web/deferred_function_types5_test.dart
diff --git a/tests/dart2js/deferred_function_types6_test.dart b/tests/web/deferred_function_types6_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types6_test.dart
rename to tests/web/deferred_function_types6_test.dart
diff --git a/tests/dart2js/deferred_function_types7_test.dart b/tests/web/deferred_function_types7_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types7_test.dart
rename to tests/web/deferred_function_types7_test.dart
diff --git a/tests/dart2js/deferred_function_types8_test.dart b/tests/web/deferred_function_types8_test.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types8_test.dart
rename to tests/web/deferred_function_types8_test.dart
diff --git a/tests/dart2js/deferred_function_types_lib1.dart b/tests/web/deferred_function_types_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types_lib1.dart
rename to tests/web/deferred_function_types_lib1.dart
diff --git a/tests/dart2js/deferred_function_types_lib2.dart b/tests/web/deferred_function_types_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred_function_types_lib2.dart
rename to tests/web/deferred_function_types_lib2.dart
diff --git a/tests/dart2js/deferred_inheritance_lib1.dart b/tests/web/deferred_inheritance_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred_inheritance_lib1.dart
rename to tests/web/deferred_inheritance_lib1.dart
diff --git a/tests/dart2js/deferred_inheritance_lib2.dart b/tests/web/deferred_inheritance_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred_inheritance_lib2.dart
rename to tests/web/deferred_inheritance_lib2.dart
diff --git a/tests/dart2js/deferred_inheritance_test.dart b/tests/web/deferred_inheritance_test.dart
similarity index 100%
rename from tests/dart2js/deferred_inheritance_test.dart
rename to tests/web/deferred_inheritance_test.dart
diff --git a/tests/dart2js/deferred_split_lib1.dart b/tests/web/deferred_split_lib1.dart
similarity index 100%
rename from tests/dart2js/deferred_split_lib1.dart
rename to tests/web/deferred_split_lib1.dart
diff --git a/tests/dart2js/deferred_split_lib2.dart b/tests/web/deferred_split_lib2.dart
similarity index 100%
rename from tests/dart2js/deferred_split_lib2.dart
rename to tests/web/deferred_split_lib2.dart
diff --git a/tests/dart2js/deferred_split_test.dart b/tests/web/deferred_split_test.dart
similarity index 100%
rename from tests/dart2js/deferred_split_test.dart
rename to tests/web/deferred_split_test.dart
diff --git a/tests/dart2js/deferred_tearoff_load_library_lib.dart b/tests/web/deferred_tearoff_load_library_lib.dart
similarity index 100%
rename from tests/dart2js/deferred_tearoff_load_library_lib.dart
rename to tests/web/deferred_tearoff_load_library_lib.dart
diff --git a/tests/dart2js/deferred_tearoff_load_library_test.dart b/tests/web/deferred_tearoff_load_library_test.dart
similarity index 100%
rename from tests/dart2js/deferred_tearoff_load_library_test.dart
rename to tests/web/deferred_tearoff_load_library_test.dart
diff --git a/tests/dart2js/deferred_with_cross_origin_lib.dart b/tests/web/deferred_with_cross_origin_lib.dart
similarity index 100%
rename from tests/dart2js/deferred_with_cross_origin_lib.dart
rename to tests/web/deferred_with_cross_origin_lib.dart
diff --git a/tests/dart2js/deferred_with_cross_origin_test.dart b/tests/web/deferred_with_cross_origin_test.dart
similarity index 100%
rename from tests/dart2js/deferred_with_cross_origin_test.dart
rename to tests/web/deferred_with_cross_origin_test.dart
diff --git a/tests/dart2js/deferred_with_csp_nonce2_test.dart b/tests/web/deferred_with_csp_nonce2_test.dart
similarity index 100%
rename from tests/dart2js/deferred_with_csp_nonce2_test.dart
rename to tests/web/deferred_with_csp_nonce2_test.dart
diff --git a/tests/dart2js/deferred_with_csp_nonce_lib.dart b/tests/web/deferred_with_csp_nonce_lib.dart
similarity index 100%
rename from tests/dart2js/deferred_with_csp_nonce_lib.dart
rename to tests/web/deferred_with_csp_nonce_lib.dart
diff --git a/tests/dart2js/deferred_with_csp_nonce_test.dart b/tests/web/deferred_with_csp_nonce_test.dart
similarity index 100%
rename from tests/dart2js/deferred_with_csp_nonce_test.dart
rename to tests/web/deferred_with_csp_nonce_test.dart
diff --git a/tests/dart2js/do_test.dart b/tests/web/do_test.dart
similarity index 100%
rename from tests/dart2js/do_test.dart
rename to tests/web/do_test.dart
diff --git a/tests/dart2js/dummy_compiler_test.dart b/tests/web/dummy_compiler_test.dart
similarity index 100%
rename from tests/dart2js/dummy_compiler_test.dart
rename to tests/web/dummy_compiler_test.dart
diff --git a/tests/dart2js/dynamic_bounds_check_test.dart b/tests/web/dynamic_bounds_check_test.dart
similarity index 100%
rename from tests/dart2js/dynamic_bounds_check_test.dart
rename to tests/web/dynamic_bounds_check_test.dart
diff --git a/tests/dart2js/dynamic_invocation_test.dart b/tests/web/dynamic_invocation_test.dart
similarity index 100%
rename from tests/dart2js/dynamic_invocation_test.dart
rename to tests/web/dynamic_invocation_test.dart
diff --git a/tests/dart2js/dynamic_type_literal_test.dart b/tests/web/dynamic_type_literal_test.dart
similarity index 100%
rename from tests/dart2js/dynamic_type_literal_test.dart
rename to tests/web/dynamic_type_literal_test.dart
diff --git a/tests/dart2js/effectively_constant_fields_test.dart b/tests/web/effectively_constant_fields_test.dart
similarity index 100%
rename from tests/dart2js/effectively_constant_fields_test.dart
rename to tests/web/effectively_constant_fields_test.dart
diff --git a/tests/dart2js/effectively_constant_instance_field_test.dart b/tests/web/effectively_constant_instance_field_test.dart
similarity index 100%
rename from tests/dart2js/effectively_constant_instance_field_test.dart
rename to tests/web/effectively_constant_instance_field_test.dart
diff --git a/tests/dart2js/empty_method_test.dart b/tests/web/empty_method_test.dart
similarity index 100%
rename from tests/dart2js/empty_method_test.dart
rename to tests/web/empty_method_test.dart
diff --git a/tests/dart2js/eof_line_ending_test.dart b/tests/web/eof_line_ending_test.dart
similarity index 100%
rename from tests/dart2js/eof_line_ending_test.dart
rename to tests/web/eof_line_ending_test.dart
diff --git a/tests/dart2js/equals_test.dart b/tests/web/equals_test.dart
similarity index 100%
rename from tests/dart2js/equals_test.dart
rename to tests/web/equals_test.dart
diff --git a/tests/dart2js/expose_this1_test.dart b/tests/web/expose_this1_test.dart
similarity index 100%
rename from tests/dart2js/expose_this1_test.dart
rename to tests/web/expose_this1_test.dart
diff --git a/tests/dart2js/expose_this2_test.dart b/tests/web/expose_this2_test.dart
similarity index 100%
rename from tests/dart2js/expose_this2_test.dart
rename to tests/web/expose_this2_test.dart
diff --git a/tests/dart2js/field_access_test.dart b/tests/web/field_access_test.dart
similarity index 100%
rename from tests/dart2js/field_access_test.dart
rename to tests/web/field_access_test.dart
diff --git a/tests/dart2js/field_in_constructor_test.dart b/tests/web/field_in_constructor_test.dart
similarity index 100%
rename from tests/dart2js/field_in_constructor_test.dart
rename to tests/web/field_in_constructor_test.dart
diff --git a/tests/dart2js/field_initializer_test.dart b/tests/web/field_initializer_test.dart
similarity index 100%
rename from tests/dart2js/field_initializer_test.dart
rename to tests/web/field_initializer_test.dart
diff --git a/tests/dart2js/fields_test.dart b/tests/web/fields_test.dart
similarity index 100%
rename from tests/dart2js/fields_test.dart
rename to tests/web/fields_test.dart
diff --git a/tests/dart2js/first_class_types_hashcode_test.dart b/tests/web/first_class_types_hashcode_test.dart
similarity index 100%
rename from tests/dart2js/first_class_types_hashcode_test.dart
rename to tests/web/first_class_types_hashcode_test.dart
diff --git a/tests/dart2js/fixed_type_argument_implements_test.dart b/tests/web/fixed_type_argument_implements_test.dart
similarity index 100%
rename from tests/dart2js/fixed_type_argument_implements_test.dart
rename to tests/web/fixed_type_argument_implements_test.dart
diff --git a/tests/dart2js/fixed_type_argument_test.dart b/tests/web/fixed_type_argument_test.dart
similarity index 100%
rename from tests/dart2js/fixed_type_argument_test.dart
rename to tests/web/fixed_type_argument_test.dart
diff --git a/tests/dart2js/foo7_test.dart b/tests/web/foo7_test.dart
similarity index 100%
rename from tests/dart2js/foo7_test.dart
rename to tests/web/foo7_test.dart
diff --git a/tests/dart2js/for_in_test.dart b/tests/web/for_in_test.dart
similarity index 100%
rename from tests/dart2js/for_in_test.dart
rename to tests/web/for_in_test.dart
diff --git a/tests/dart2js/for_test.dart b/tests/web/for_test.dart
similarity index 100%
rename from tests/dart2js/for_test.dart
rename to tests/web/for_test.dart
diff --git a/tests/dart2js/function_parameters_test.dart b/tests/web/function_parameters_test.dart
similarity index 100%
rename from tests/dart2js/function_parameters_test.dart
rename to tests/web/function_parameters_test.dart
diff --git a/tests/dart2js/function_typed_arguments_test.dart b/tests/web/function_typed_arguments_test.dart
similarity index 100%
rename from tests/dart2js/function_typed_arguments_test.dart
rename to tests/web/function_typed_arguments_test.dart
diff --git a/tests/dart2js/generator_elided_parameter_test.dart b/tests/web/generator_elided_parameter_test.dart
similarity index 100%
rename from tests/dart2js/generator_elided_parameter_test.dart
rename to tests/web/generator_elided_parameter_test.dart
diff --git a/tests/dart2js/generic_bounds_test.dart b/tests/web/generic_bounds_test.dart
similarity index 100%
rename from tests/dart2js/generic_bounds_test.dart
rename to tests/web/generic_bounds_test.dart
diff --git a/tests/dart2js/generic_class_is_test.dart b/tests/web/generic_class_is_test.dart
similarity index 100%
rename from tests/dart2js/generic_class_is_test.dart
rename to tests/web/generic_class_is_test.dart
diff --git a/tests/dart2js/generic_in_mixin_field_test.dart b/tests/web/generic_in_mixin_field_test.dart
similarity index 100%
rename from tests/dart2js/generic_in_mixin_field_test.dart
rename to tests/web/generic_in_mixin_field_test.dart
diff --git a/tests/dart2js/generic_in_redirect_test.dart b/tests/web/generic_in_redirect_test.dart
similarity index 100%
rename from tests/dart2js/generic_in_redirect_test.dart
rename to tests/web/generic_in_redirect_test.dart
diff --git a/tests/dart2js/generic_in_super_test.dart b/tests/web/generic_in_super_test.dart
similarity index 100%
rename from tests/dart2js/generic_in_super_test.dart
rename to tests/web/generic_in_super_test.dart
diff --git a/tests/dart2js/generic_instantiation1_test.dart b/tests/web/generic_instantiation1_test.dart
similarity index 100%
rename from tests/dart2js/generic_instantiation1_test.dart
rename to tests/web/generic_instantiation1_test.dart
diff --git a/tests/dart2js/generic_instantiation2_test.dart b/tests/web/generic_instantiation2_test.dart
similarity index 100%
rename from tests/dart2js/generic_instantiation2_test.dart
rename to tests/web/generic_instantiation2_test.dart
diff --git a/tests/dart2js/generic_instantiation3_test.dart b/tests/web/generic_instantiation3_test.dart
similarity index 100%
rename from tests/dart2js/generic_instantiation3_test.dart
rename to tests/web/generic_instantiation3_test.dart
diff --git a/tests/dart2js/generic_instantiation4_test.dart b/tests/web/generic_instantiation4_test.dart
similarity index 100%
rename from tests/dart2js/generic_instantiation4_test.dart
rename to tests/web/generic_instantiation4_test.dart
diff --git a/tests/dart2js/generic_method_dynamic_is_test.dart b/tests/web/generic_method_dynamic_is_test.dart
similarity index 100%
rename from tests/dart2js/generic_method_dynamic_is_test.dart
rename to tests/web/generic_method_dynamic_is_test.dart
diff --git a/tests/dart2js/generic_method_dynamic_type_test.dart b/tests/web/generic_method_dynamic_type_test.dart
similarity index 100%
rename from tests/dart2js/generic_method_dynamic_type_test.dart
rename to tests/web/generic_method_dynamic_type_test.dart
diff --git a/tests/dart2js/generic_method_static_is_test.dart b/tests/web/generic_method_static_is_test.dart
similarity index 100%
rename from tests/dart2js/generic_method_static_is_test.dart
rename to tests/web/generic_method_static_is_test.dart
diff --git a/tests/dart2js/generic_type_error_message_test.dart b/tests/web/generic_type_error_message_test.dart
similarity index 100%
rename from tests/dart2js/generic_type_error_message_test.dart
rename to tests/web/generic_type_error_message_test.dart
diff --git a/tests/dart2js/generics_factories_test.dart b/tests/web/generics_factories_test.dart
similarity index 100%
rename from tests/dart2js/generics_factories_test.dart
rename to tests/web/generics_factories_test.dart
diff --git a/tests/dart2js/generics_is_check1_test.dart b/tests/web/generics_is_check1_test.dart
similarity index 100%
rename from tests/dart2js/generics_is_check1_test.dart
rename to tests/web/generics_is_check1_test.dart
diff --git a/tests/dart2js/getter_element_test.dart b/tests/web/getter_element_test.dart
similarity index 100%
rename from tests/dart2js/getter_element_test.dart
rename to tests/web/getter_element_test.dart
diff --git a/tests/dart2js/getters_setters_test.dart b/tests/web/getters_setters_test.dart
similarity index 100%
rename from tests/dart2js/getters_setters_test.dart
rename to tests/web/getters_setters_test.dart
diff --git a/tests/dart2js/hash_code_test.dart b/tests/web/hash_code_test.dart
similarity index 100%
rename from tests/dart2js/hash_code_test.dart
rename to tests/web/hash_code_test.dart
diff --git a/tests/dart2js/identical_trace_test.dart b/tests/web/identical_trace_test.dart
similarity index 100%
rename from tests/dart2js/identical_trace_test.dart
rename to tests/web/identical_trace_test.dart
diff --git a/tests/dart2js/if_in_loop_test.dart b/tests/web/if_in_loop_test.dart
similarity index 100%
rename from tests/dart2js/if_in_loop_test.dart
rename to tests/web/if_in_loop_test.dart
diff --git a/tests/dart2js/if_null2_test.dart b/tests/web/if_null2_test.dart
similarity index 100%
rename from tests/dart2js/if_null2_test.dart
rename to tests/web/if_null2_test.dart
diff --git a/tests/dart2js/if_null3_test.dart b/tests/web/if_null3_test.dart
similarity index 100%
rename from tests/dart2js/if_null3_test.dart
rename to tests/web/if_null3_test.dart
diff --git a/tests/dart2js/if_null_test.dart b/tests/web/if_null_test.dart
similarity index 100%
rename from tests/dart2js/if_null_test.dart
rename to tests/web/if_null_test.dart
diff --git a/tests/dart2js/if_test.dart b/tests/web/if_test.dart
similarity index 100%
rename from tests/dart2js/if_test.dart
rename to tests/web/if_test.dart
diff --git a/tests/dart2js/index_test.dart b/tests/web/index_test.dart
similarity index 100%
rename from tests/dart2js/index_test.dart
rename to tests/web/index_test.dart
diff --git a/tests/dart2js/indirect_type_literal_test.dart b/tests/web/indirect_type_literal_test.dart
similarity index 100%
rename from tests/dart2js/indirect_type_literal_test.dart
rename to tests/web/indirect_type_literal_test.dart
diff --git a/tests/dart2js/inference_super_set_call_test.dart b/tests/web/inference_super_set_call_test.dart
similarity index 100%
rename from tests/dart2js/inference_super_set_call_test.dart
rename to tests/web/inference_super_set_call_test.dart
diff --git a/tests/dart2js/inferrer_is_int_test.dart b/tests/web/inferrer_is_int_test.dart
similarity index 100%
rename from tests/dart2js/inferrer_is_int_test.dart
rename to tests/web/inferrer_is_int_test.dart
diff --git a/tests/dart2js/injected_cast_test.dart b/tests/web/injected_cast_test.dart
similarity index 100%
rename from tests/dart2js/injected_cast_test.dart
rename to tests/web/injected_cast_test.dart
diff --git a/tests/dart2js/inline_generic_test.dart b/tests/web/inline_generic_test.dart
similarity index 100%
rename from tests/dart2js/inline_generic_test.dart
rename to tests/web/inline_generic_test.dart
diff --git a/tests/dart2js/inline_position_crash_source.dart b/tests/web/inline_position_crash_source.dart
similarity index 100%
rename from tests/dart2js/inline_position_crash_source.dart
rename to tests/web/inline_position_crash_source.dart
diff --git a/tests/dart2js/inline_position_crash_test.dart b/tests/web/inline_position_crash_test.dart
similarity index 100%
rename from tests/dart2js/inline_position_crash_test.dart
rename to tests/web/inline_position_crash_test.dart
diff --git a/tests/dart2js/instantiation_stub_2_test.dart b/tests/web/instantiation_stub_2_test.dart
similarity index 100%
rename from tests/dart2js/instantiation_stub_2_test.dart
rename to tests/web/instantiation_stub_2_test.dart
diff --git a/tests/dart2js/instantiation_stub_test.dart b/tests/web/instantiation_stub_test.dart
similarity index 100%
rename from tests/dart2js/instantiation_stub_test.dart
rename to tests/web/instantiation_stub_test.dart
diff --git a/tests/dart2js/int_index_test.dart b/tests/web/int_index_test.dart
similarity index 100%
rename from tests/dart2js/int_index_test.dart
rename to tests/web/int_index_test.dart
diff --git a/tests/dart2js/interceptor_named_arguments_test.dart b/tests/web/interceptor_named_arguments_test.dart
similarity index 100%
rename from tests/dart2js/interceptor_named_arguments_test.dart
rename to tests/web/interceptor_named_arguments_test.dart
diff --git a/tests/dart2js/interface_type_optimization_test.dart b/tests/web/interface_type_optimization_test.dart
similarity index 100%
rename from tests/dart2js/interface_type_optimization_test.dart
rename to tests/web/interface_type_optimization_test.dart
diff --git a/tests/dart2js/internal/40296_test.dart b/tests/web/internal/40296_test.dart
similarity index 100%
rename from tests/dart2js/internal/40296_test.dart
rename to tests/web/internal/40296_test.dart
diff --git a/tests/dart2js/internal/deferred/deferred_custom_loader_lib.dart b/tests/web/internal/deferred/deferred_custom_loader_lib.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/deferred_custom_loader_lib.dart
rename to tests/web/internal/deferred/deferred_custom_loader_lib.dart
diff --git a/tests/dart2js/internal/deferred/deferred_custom_loader_test.dart b/tests/web/internal/deferred/deferred_custom_loader_test.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/deferred_custom_loader_test.dart
rename to tests/web/internal/deferred/deferred_custom_loader_test.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_lib1.dart b/tests/web/internal/deferred/load_in_correct_order_lib1.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_lib1.dart
rename to tests/web/internal/deferred/load_in_correct_order_lib1.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_lib2.dart b/tests/web/internal/deferred/load_in_correct_order_lib2.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_lib2.dart
rename to tests/web/internal/deferred/load_in_correct_order_lib2.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_lib3.dart b/tests/web/internal/deferred/load_in_correct_order_lib3.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_lib3.dart
rename to tests/web/internal/deferred/load_in_correct_order_lib3.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_lib4.dart b/tests/web/internal/deferred/load_in_correct_order_lib4.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_lib4.dart
rename to tests/web/internal/deferred/load_in_correct_order_lib4.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_lib5.dart b/tests/web/internal/deferred/load_in_correct_order_lib5.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_lib5.dart
rename to tests/web/internal/deferred/load_in_correct_order_lib5.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_lib6.dart b/tests/web/internal/deferred/load_in_correct_order_lib6.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_lib6.dart
rename to tests/web/internal/deferred/load_in_correct_order_lib6.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_lib7.dart b/tests/web/internal/deferred/load_in_correct_order_lib7.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_lib7.dart
rename to tests/web/internal/deferred/load_in_correct_order_lib7.dart
diff --git a/tests/dart2js/internal/deferred/load_in_correct_order_test.dart b/tests/web/internal/deferred/load_in_correct_order_test.dart
similarity index 100%
rename from tests/dart2js/internal/deferred/load_in_correct_order_test.dart
rename to tests/web/internal/deferred/load_in_correct_order_test.dart
diff --git a/tests/dart2js/internal/extract_type_arguments_1_test.dart b/tests/web/internal/extract_type_arguments_1_test.dart
similarity index 100%
rename from tests/dart2js/internal/extract_type_arguments_1_test.dart
rename to tests/web/internal/extract_type_arguments_1_test.dart
diff --git a/tests/dart2js/internal/extract_type_arguments_2_test.dart b/tests/web/internal/extract_type_arguments_2_test.dart
similarity index 100%
rename from tests/dart2js/internal/extract_type_arguments_2_test.dart
rename to tests/web/internal/extract_type_arguments_2_test.dart
diff --git a/tests/dart2js/internal/extract_type_arguments_3_test.dart b/tests/web/internal/extract_type_arguments_3_test.dart
similarity index 100%
rename from tests/dart2js/internal/extract_type_arguments_3_test.dart
rename to tests/web/internal/extract_type_arguments_3_test.dart
diff --git a/tests/dart2js/internal/lax_runtime_type_closure_to_string1_test.dart b/tests/web/internal/lax_runtime_type_closure_to_string1_test.dart
similarity index 100%
rename from tests/dart2js/internal/lax_runtime_type_closure_to_string1_test.dart
rename to tests/web/internal/lax_runtime_type_closure_to_string1_test.dart
diff --git a/tests/dart2js/internal/lax_runtime_type_closure_to_string2_test.dart b/tests/web/internal/lax_runtime_type_closure_to_string2_test.dart
similarity index 100%
rename from tests/dart2js/internal/lax_runtime_type_closure_to_string2_test.dart
rename to tests/web/internal/lax_runtime_type_closure_to_string2_test.dart
diff --git a/tests/dart2js/internal/lax_runtime_type_closure_to_string7_test.dart b/tests/web/internal/lax_runtime_type_closure_to_string7_test.dart
similarity index 100%
rename from tests/dart2js/internal/lax_runtime_type_closure_to_string7_test.dart
rename to tests/web/internal/lax_runtime_type_closure_to_string7_test.dart
diff --git a/tests/dart2js/internal/mock_libraries.dart b/tests/web/internal/mock_libraries.dart
similarity index 100%
rename from tests/dart2js/internal/mock_libraries.dart
rename to tests/web/internal/mock_libraries.dart
diff --git a/tests/dart2js/internal/platform_environment_variable1_test.dart b/tests/web/internal/platform_environment_variable1_test.dart
similarity index 100%
rename from tests/dart2js/internal/platform_environment_variable1_test.dart
rename to tests/web/internal/platform_environment_variable1_test.dart
diff --git a/tests/dart2js/internal/platform_environment_variable2_test.dart b/tests/web/internal/platform_environment_variable2_test.dart
similarity index 100%
rename from tests/dart2js/internal/platform_environment_variable2_test.dart
rename to tests/web/internal/platform_environment_variable2_test.dart
diff --git a/tests/dart2js/internal/rti/bind_test.dart b/tests/web/internal/rti/bind_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/bind_test.dart
rename to tests/web/internal/rti/bind_test.dart
diff --git a/tests/dart2js/internal/rti/bound_environment_test.dart b/tests/web/internal/rti/bound_environment_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/bound_environment_test.dart
rename to tests/web/internal/rti/bound_environment_test.dart
diff --git a/tests/dart2js/internal/rti/canonical_recipe_test.dart b/tests/web/internal/rti/canonical_recipe_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/canonical_recipe_test.dart
rename to tests/web/internal/rti/canonical_recipe_test.dart
diff --git a/tests/dart2js/internal/rti/class_environment_test.dart b/tests/web/internal/rti/class_environment_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/class_environment_test.dart
rename to tests/web/internal/rti/class_environment_test.dart
diff --git a/tests/dart2js/internal/rti/constant_type_test.dart b/tests/web/internal/rti/constant_type_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/constant_type_test.dart
rename to tests/web/internal/rti/constant_type_test.dart
diff --git a/tests/dart2js/internal/rti/recipe_syntax_test.dart b/tests/web/internal/rti/recipe_syntax_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/recipe_syntax_test.dart
rename to tests/web/internal/rti/recipe_syntax_test.dart
diff --git a/tests/dart2js/internal/rti/required_named_parameters_test.dart b/tests/web/internal/rti/required_named_parameters_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/required_named_parameters_test.dart
rename to tests/web/internal/rti/required_named_parameters_test.dart
diff --git a/tests/dart2js/internal/rti/runtime_type_1_test.dart b/tests/web/internal/rti/runtime_type_1_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/runtime_type_1_test.dart
rename to tests/web/internal/rti/runtime_type_1_test.dart
diff --git a/tests/dart2js/internal/rti/runtime_type_2_test.dart b/tests/web/internal/rti/runtime_type_2_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/runtime_type_2_test.dart
rename to tests/web/internal/rti/runtime_type_2_test.dart
diff --git a/tests/dart2js/internal/rti/runtime_type_3_test.dart b/tests/web/internal/rti/runtime_type_3_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/runtime_type_3_test.dart
rename to tests/web/internal/rti/runtime_type_3_test.dart
diff --git a/tests/dart2js/internal/rti/simple_2_test.dart b/tests/web/internal/rti/simple_2_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/simple_2_test.dart
rename to tests/web/internal/rti/simple_2_test.dart
diff --git a/tests/dart2js/internal/rti/simple_is_function_type2_test.dart b/tests/web/internal/rti/simple_is_function_type2_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/simple_is_function_type2_test.dart
rename to tests/web/internal/rti/simple_is_function_type2_test.dart
diff --git a/tests/dart2js/internal/rti/simple_is_function_type3_test.dart b/tests/web/internal/rti/simple_is_function_type3_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/simple_is_function_type3_test.dart
rename to tests/web/internal/rti/simple_is_function_type3_test.dart
diff --git a/tests/dart2js/internal/rti/simple_is_function_type_test.dart b/tests/web/internal/rti/simple_is_function_type_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/simple_is_function_type_test.dart
rename to tests/web/internal/rti/simple_is_function_type_test.dart
diff --git a/tests/dart2js/internal/rti/simple_is_test.dart b/tests/web/internal/rti/simple_is_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/simple_is_test.dart
rename to tests/web/internal/rti/simple_is_test.dart
diff --git a/tests/dart2js/internal/rti/simple_test.dart b/tests/web/internal/rti/simple_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/simple_test.dart
rename to tests/web/internal/rti/simple_test.dart
diff --git a/tests/dart2js/internal/rti/simple_type_bound_test.dart b/tests/web/internal/rti/simple_type_bound_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/simple_type_bound_test.dart
rename to tests/web/internal/rti/simple_type_bound_test.dart
diff --git a/tests/dart2js/internal/rti/subtype_test.dart b/tests/web/internal/rti/subtype_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/subtype_test.dart
rename to tests/web/internal/rti/subtype_test.dart
diff --git a/tests/dart2js/internal/rti/subtype_utils.dart b/tests/web/internal/rti/subtype_utils.dart
similarity index 100%
rename from tests/dart2js/internal/rti/subtype_utils.dart
rename to tests/web/internal/rti/subtype_utils.dart
diff --git a/tests/dart2js/internal/rti/variance_subtype_test.dart b/tests/web/internal/rti/variance_subtype_test.dart
similarity index 100%
rename from tests/dart2js/internal/rti/variance_subtype_test.dart
rename to tests/web/internal/rti/variance_subtype_test.dart
diff --git a/tests/dart2js/invalid_annotation_test.dart b/tests/web/invalid_annotation_test.dart
similarity index 100%
rename from tests/dart2js/invalid_annotation_test.dart
rename to tests/web/invalid_annotation_test.dart
diff --git a/tests/dart2js/invoke_dynamic_test.dart b/tests/web/invoke_dynamic_test.dart
similarity index 100%
rename from tests/dart2js/invoke_dynamic_test.dart
rename to tests/web/invoke_dynamic_test.dart
diff --git a/tests/dart2js/is_check_instanceof_test.dart b/tests/web/is_check_instanceof_test.dart
similarity index 100%
rename from tests/dart2js/is_check_instanceof_test.dart
rename to tests/web/is_check_instanceof_test.dart
diff --git a/tests/dart2js/is_operator_test.dart b/tests/web/is_operator_test.dart
similarity index 100%
rename from tests/dart2js/is_operator_test.dart
rename to tests/web/is_operator_test.dart
diff --git a/tests/dart2js/issue36562_test.dart b/tests/web/issue36562_test.dart
similarity index 100%
rename from tests/dart2js/issue36562_test.dart
rename to tests/web/issue36562_test.dart
diff --git a/tests/dart2js/js_array_index_error_test.dart b/tests/web/js_array_index_error_test.dart
similarity index 100%
rename from tests/dart2js/js_array_index_error_test.dart
rename to tests/web/js_array_index_error_test.dart
diff --git a/tests/dart2js/js_array_removeLast_error_test.dart b/tests/web/js_array_removeLast_error_test.dart
similarity index 100%
rename from tests/dart2js/js_array_removeLast_error_test.dart
rename to tests/web/js_array_removeLast_error_test.dart
diff --git a/tests/dart2js/js_array_sort_default_test.dart b/tests/web/js_array_sort_default_test.dart
similarity index 100%
rename from tests/dart2js/js_array_sort_default_test.dart
rename to tests/web/js_array_sort_default_test.dart
diff --git a/tests/dart2js/js_interop_cast_test.dart b/tests/web/js_interop_cast_test.dart
similarity index 100%
rename from tests/dart2js/js_interop_cast_test.dart
rename to tests/web/js_interop_cast_test.dart
diff --git a/tests/dart2js/js_interop_implements_test.dart b/tests/web/js_interop_implements_test.dart
similarity index 100%
rename from tests/dart2js/js_interop_implements_test.dart
rename to tests/web/js_interop_implements_test.dart
diff --git a/tests/dart2js/js_interop_no_elide_optional_arg_test.dart b/tests/web/js_interop_no_elide_optional_arg_test.dart
similarity index 100%
rename from tests/dart2js/js_interop_no_elide_optional_arg_test.dart
rename to tests/web/js_interop_no_elide_optional_arg_test.dart
diff --git a/tests/dart2js/js_interop_optional_arg_test.dart b/tests/web/js_interop_optional_arg_test.dart
similarity index 100%
rename from tests/dart2js/js_interop_optional_arg_test.dart
rename to tests/web/js_interop_optional_arg_test.dart
diff --git a/tests/dart2js/js_interop_test.dart b/tests/web/js_interop_test.dart
similarity index 100%
rename from tests/dart2js/js_interop_test.dart
rename to tests/web/js_interop_test.dart
diff --git a/tests/dart2js/jsinterop_test.dart b/tests/web/jsinterop_test.dart
similarity index 100%
rename from tests/dart2js/jsinterop_test.dart
rename to tests/web/jsinterop_test.dart
diff --git a/tests/dart2js/label_test.dart b/tests/web/label_test.dart
similarity index 100%
rename from tests/dart2js/label_test.dart
rename to tests/web/label_test.dart
diff --git a/tests/dart2js/late_initializers_1_test.dart b/tests/web/late_initializers_1_test.dart
similarity index 100%
rename from tests/dart2js/late_initializers_1_test.dart
rename to tests/web/late_initializers_1_test.dart
diff --git a/tests/dart2js/late_initializers_2_test.dart b/tests/web/late_initializers_2_test.dart
similarity index 100%
rename from tests/dart2js/late_initializers_2_test.dart
rename to tests/web/late_initializers_2_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals1_test.dart b/tests/web/lax_runtime_type_closure_equals1_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals1_test.dart
rename to tests/web/lax_runtime_type_closure_equals1_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals2_test.dart b/tests/web/lax_runtime_type_closure_equals2_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals2_test.dart
rename to tests/web/lax_runtime_type_closure_equals2_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals3_test.dart b/tests/web/lax_runtime_type_closure_equals3_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals3_test.dart
rename to tests/web/lax_runtime_type_closure_equals3_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals4_test.dart b/tests/web/lax_runtime_type_closure_equals4_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals4_test.dart
rename to tests/web/lax_runtime_type_closure_equals4_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals5_test.dart b/tests/web/lax_runtime_type_closure_equals5_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals5_test.dart
rename to tests/web/lax_runtime_type_closure_equals5_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals6_test.dart b/tests/web/lax_runtime_type_closure_equals6_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals6_test.dart
rename to tests/web/lax_runtime_type_closure_equals6_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals7_test.dart b/tests/web/lax_runtime_type_closure_equals7_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals7_test.dart
rename to tests/web/lax_runtime_type_closure_equals7_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_equals8_test.dart b/tests/web/lax_runtime_type_closure_equals8_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_equals8_test.dart
rename to tests/web/lax_runtime_type_closure_equals8_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_to_string3_test.dart b/tests/web/lax_runtime_type_closure_to_string3_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_to_string3_test.dart
rename to tests/web/lax_runtime_type_closure_to_string3_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_to_string4_test.dart b/tests/web/lax_runtime_type_closure_to_string4_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_to_string4_test.dart
rename to tests/web/lax_runtime_type_closure_to_string4_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_to_string5_test.dart b/tests/web/lax_runtime_type_closure_to_string5_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_to_string5_test.dart
rename to tests/web/lax_runtime_type_closure_to_string5_test.dart
diff --git a/tests/dart2js/lax_runtime_type_closure_to_string6_test.dart b/tests/web/lax_runtime_type_closure_to_string6_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_closure_to_string6_test.dart
rename to tests/web/lax_runtime_type_closure_to_string6_test.dart
diff --git a/tests/dart2js/lax_runtime_type_equals1_test.dart b/tests/web/lax_runtime_type_equals1_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_equals1_test.dart
rename to tests/web/lax_runtime_type_equals1_test.dart
diff --git a/tests/dart2js/lax_runtime_type_equals2_test.dart b/tests/web/lax_runtime_type_equals2_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_equals2_test.dart
rename to tests/web/lax_runtime_type_equals2_test.dart
diff --git a/tests/dart2js/lax_runtime_type_equals3_test.dart b/tests/web/lax_runtime_type_equals3_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_equals3_test.dart
rename to tests/web/lax_runtime_type_equals3_test.dart
diff --git a/tests/dart2js/lax_runtime_type_equals4_test.dart b/tests/web/lax_runtime_type_equals4_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_equals4_test.dart
rename to tests/web/lax_runtime_type_equals4_test.dart
diff --git a/tests/dart2js/lax_runtime_type_instantiate_to_string_test.dart b/tests/web/lax_runtime_type_instantiate_to_string_test.dart
similarity index 100%
rename from tests/dart2js/lax_runtime_type_instantiate_to_string_test.dart
rename to tests/web/lax_runtime_type_instantiate_to_string_test.dart
diff --git a/tests/dart2js/list_factory_test.dart b/tests/web/list_factory_test.dart
similarity index 100%
rename from tests/dart2js/list_factory_test.dart
rename to tests/web/list_factory_test.dart
diff --git a/tests/dart2js/list_generate_1_test.dart b/tests/web/list_generate_1_test.dart
similarity index 100%
rename from tests/dart2js/list_generate_1_test.dart
rename to tests/web/list_generate_1_test.dart
diff --git a/tests/dart2js/list_generate_2_test.dart b/tests/web/list_generate_2_test.dart
similarity index 100%
rename from tests/dart2js/list_generate_2_test.dart
rename to tests/web/list_generate_2_test.dart
diff --git a/tests/dart2js/literal_string_juxtaposition_test.dart b/tests/web/literal_string_juxtaposition_test.dart
similarity index 100%
rename from tests/dart2js/literal_string_juxtaposition_test.dart
rename to tests/web/literal_string_juxtaposition_test.dart
diff --git a/tests/dart2js/literals_test.dart b/tests/web/literals_test.dart
similarity index 100%
rename from tests/dart2js/literals_test.dart
rename to tests/web/literals_test.dart
diff --git a/tests/dart2js/local_function_call2_test.dart b/tests/web/local_function_call2_test.dart
similarity index 100%
rename from tests/dart2js/local_function_call2_test.dart
rename to tests/web/local_function_call2_test.dart
diff --git a/tests/dart2js/local_function_call_test.dart b/tests/web/local_function_call_test.dart
similarity index 100%
rename from tests/dart2js/local_function_call_test.dart
rename to tests/web/local_function_call_test.dart
diff --git a/tests/dart2js/local_function_generic_strong_test.dart b/tests/web/local_function_generic_strong_test.dart
similarity index 100%
rename from tests/dart2js/local_function_generic_strong_test.dart
rename to tests/web/local_function_generic_strong_test.dart
diff --git a/tests/dart2js/local_function_signatures_strong_test.dart b/tests/web/local_function_signatures_strong_test.dart
similarity index 100%
rename from tests/dart2js/local_function_signatures_strong_test.dart
rename to tests/web/local_function_signatures_strong_test.dart
diff --git a/tests/dart2js/local_function_signatures_test.dart b/tests/web/local_function_signatures_test.dart
similarity index 100%
rename from tests/dart2js/local_function_signatures_test.dart
rename to tests/web/local_function_signatures_test.dart
diff --git a/tests/dart2js/local_signature_test.dart b/tests/web/local_signature_test.dart
similarity index 100%
rename from tests/dart2js/local_signature_test.dart
rename to tests/web/local_signature_test.dart
diff --git a/tests/dart2js/locals_test.dart b/tests/web/locals_test.dart
similarity index 100%
rename from tests/dart2js/locals_test.dart
rename to tests/web/locals_test.dart
diff --git a/tests/dart2js/logical_and_test.dart b/tests/web/logical_and_test.dart
similarity index 100%
rename from tests/dart2js/logical_and_test.dart
rename to tests/web/logical_and_test.dart
diff --git a/tests/dart2js/logical_or_test.dart b/tests/web/logical_or_test.dart
similarity index 100%
rename from tests/dart2js/logical_or_test.dart
rename to tests/web/logical_or_test.dart
diff --git a/tests/dart2js/loop_if_phi_test.dart b/tests/web/loop_if_phi_test.dart
similarity index 100%
rename from tests/dart2js/loop_if_phi_test.dart
rename to tests/web/loop_if_phi_test.dart
diff --git a/tests/dart2js/many_constants_test.dart b/tests/web/many_constants_test.dart
similarity index 100%
rename from tests/dart2js/many_constants_test.dart
rename to tests/web/many_constants_test.dart
diff --git a/tests/dart2js/many_fields_test.dart b/tests/web/many_fields_test.dart
similarity index 100%
rename from tests/dart2js/many_fields_test.dart
rename to tests/web/many_fields_test.dart
diff --git a/tests/dart2js/many_instantiations_test.dart b/tests/web/many_instantiations_test.dart
similarity index 100%
rename from tests/dart2js/many_instantiations_test.dart
rename to tests/web/many_instantiations_test.dart
diff --git a/tests/dart2js/map_to_set_test.dart b/tests/web/map_to_set_test.dart
similarity index 100%
rename from tests/dart2js/map_to_set_test.dart
rename to tests/web/map_to_set_test.dart
diff --git a/tests/dart2js/math_lib_prefix_test.dart b/tests/web/math_lib_prefix_test.dart
similarity index 100%
rename from tests/dart2js/math_lib_prefix_test.dart
rename to tests/web/math_lib_prefix_test.dart
diff --git a/tests/dart2js/math_lib_test.dart b/tests/web/math_lib_test.dart
similarity index 100%
rename from tests/dart2js/math_lib_test.dart
rename to tests/web/math_lib_test.dart
diff --git a/tests/dart2js/member_namespace_test.dart b/tests/web/member_namespace_test.dart
similarity index 100%
rename from tests/dart2js/member_namespace_test.dart
rename to tests/web/member_namespace_test.dart
diff --git a/tests/dart2js/method_signatures_strong_test.dart b/tests/web/method_signatures_strong_test.dart
similarity index 100%
rename from tests/dart2js/method_signatures_strong_test.dart
rename to tests/web/method_signatures_strong_test.dart
diff --git a/tests/dart2js/method_signatures_test.dart b/tests/web/method_signatures_test.dart
similarity index 100%
rename from tests/dart2js/method_signatures_test.dart
rename to tests/web/method_signatures_test.dart
diff --git a/tests/dart2js/minus_zero2_test.dart b/tests/web/minus_zero2_test.dart
similarity index 100%
rename from tests/dart2js/minus_zero2_test.dart
rename to tests/web/minus_zero2_test.dart
diff --git a/tests/dart2js/minus_zero_test.dart b/tests/web/minus_zero_test.dart
similarity index 100%
rename from tests/dart2js/minus_zero_test.dart
rename to tests/web/minus_zero_test.dart
diff --git a/tests/dart2js/mixin_subtype_test.dart b/tests/web/mixin_subtype_test.dart
similarity index 100%
rename from tests/dart2js/mixin_subtype_test.dart
rename to tests/web/mixin_subtype_test.dart
diff --git a/tests/dart2js/mixin_type_variable_test.dart b/tests/web/mixin_type_variable_test.dart
similarity index 100%
rename from tests/dart2js/mixin_type_variable_test.dart
rename to tests/web/mixin_type_variable_test.dart
diff --git a/tests/dart2js/multi_global_def_single_instantiation_test.dart b/tests/web/multi_global_def_single_instantiation_test.dart
similarity index 100%
rename from tests/dart2js/multi_global_def_single_instantiation_test.dart
rename to tests/web/multi_global_def_single_instantiation_test.dart
diff --git a/tests/dart2js/named_mixin_runtime_type_test.dart b/tests/web/named_mixin_runtime_type_test.dart
similarity index 100%
rename from tests/dart2js/named_mixin_runtime_type_test.dart
rename to tests/web/named_mixin_runtime_type_test.dart
diff --git a/tests/dart2js/named_parameter_for_static_test.dart b/tests/web/named_parameter_for_static_test.dart
similarity index 100%
rename from tests/dart2js/named_parameter_for_static_test.dart
rename to tests/web/named_parameter_for_static_test.dart
diff --git a/tests/dart2js/named_parameter_test.dart b/tests/web/named_parameter_test.dart
similarity index 100%
rename from tests/dart2js/named_parameter_test.dart
rename to tests/web/named_parameter_test.dart
diff --git a/tests/dart2js/nan_negate_test.dart b/tests/web/nan_negate_test.dart
similarity index 100%
rename from tests/dart2js/nan_negate_test.dart
rename to tests/web/nan_negate_test.dart
diff --git a/tests/dart2js/native/abstract_class_test.dart b/tests/web/native/abstract_class_test.dart
similarity index 100%
rename from tests/dart2js/native/abstract_class_test.dart
rename to tests/web/native/abstract_class_test.dart
diff --git a/tests/dart2js/native/bound_closure_test.dart b/tests/web/native/bound_closure_test.dart
similarity index 100%
rename from tests/dart2js/native/bound_closure_test.dart
rename to tests/web/native/bound_closure_test.dart
diff --git a/tests/dart2js/native/browser_compat_1_prepatched_test.dart b/tests/web/native/browser_compat_1_prepatched_test.dart
similarity index 100%
rename from tests/dart2js/native/browser_compat_1_prepatched_test.dart
rename to tests/web/native/browser_compat_1_prepatched_test.dart
diff --git a/tests/dart2js/native/browser_compat_1_unpatched_test.dart b/tests/web/native/browser_compat_1_unpatched_test.dart
similarity index 100%
rename from tests/dart2js/native/browser_compat_1_unpatched_test.dart
rename to tests/web/native/browser_compat_1_unpatched_test.dart
diff --git a/tests/dart2js/native/browser_compat_2_test.dart b/tests/web/native/browser_compat_2_test.dart
similarity index 100%
rename from tests/dart2js/native/browser_compat_2_test.dart
rename to tests/web/native/browser_compat_2_test.dart
diff --git a/tests/dart2js/native/catch_javascript_null_stack_trace_test.dart b/tests/web/native/catch_javascript_null_stack_trace_test.dart
similarity index 100%
rename from tests/dart2js/native/catch_javascript_null_stack_trace_test.dart
rename to tests/web/native/catch_javascript_null_stack_trace_test.dart
diff --git a/tests/dart2js/native/compiler_test_internals.dart b/tests/web/native/compiler_test_internals.dart
similarity index 100%
rename from tests/dart2js/native/compiler_test_internals.dart
rename to tests/web/native/compiler_test_internals.dart
diff --git a/tests/dart2js/native/compute_this_script_test.dart b/tests/web/native/compute_this_script_test.dart
similarity index 100%
rename from tests/dart2js/native/compute_this_script_test.dart
rename to tests/web/native/compute_this_script_test.dart
diff --git a/tests/dart2js/native/core_type_check_native_test.dart b/tests/web/native/core_type_check_native_test.dart
similarity index 100%
rename from tests/dart2js/native/core_type_check_native_test.dart
rename to tests/web/native/core_type_check_native_test.dart
diff --git a/tests/dart2js/native/dart2js_native.status b/tests/web/native/dart2js_native.status
similarity index 100%
rename from tests/dart2js/native/dart2js_native.status
rename to tests/web/native/dart2js_native.status
diff --git a/tests/dart2js/native/dispatch_property_initialization_test.dart b/tests/web/native/dispatch_property_initialization_test.dart
similarity index 100%
rename from tests/dart2js/native/dispatch_property_initialization_test.dart
rename to tests/web/native/dispatch_property_initialization_test.dart
diff --git a/tests/dart2js/native/downcast_test.dart b/tests/web/native/downcast_test.dart
similarity index 100%
rename from tests/dart2js/native/downcast_test.dart
rename to tests/web/native/downcast_test.dart
diff --git a/tests/dart2js/native/error_safeToString_test.dart b/tests/web/native/error_safeToString_test.dart
similarity index 100%
rename from tests/dart2js/native/error_safeToString_test.dart
rename to tests/web/native/error_safeToString_test.dart
diff --git a/tests/dart2js/native/event_loop_test.dart b/tests/web/native/event_loop_test.dart
similarity index 100%
rename from tests/dart2js/native/event_loop_test.dart
rename to tests/web/native/event_loop_test.dart
diff --git a/tests/dart2js/native/fake_thing_2_test.dart b/tests/web/native/fake_thing_2_test.dart
similarity index 100%
rename from tests/dart2js/native/fake_thing_2_test.dart
rename to tests/web/native/fake_thing_2_test.dart
diff --git a/tests/dart2js/native/fake_thing_test.dart b/tests/web/native/fake_thing_test.dart
similarity index 100%
rename from tests/dart2js/native/fake_thing_test.dart
rename to tests/web/native/fake_thing_test.dart
diff --git a/tests/dart2js/native/field_type2_test.dart b/tests/web/native/field_type2_test.dart
similarity index 100%
rename from tests/dart2js/native/field_type2_test.dart
rename to tests/web/native/field_type2_test.dart
diff --git a/tests/dart2js/native/field_type_test.dart b/tests/web/native/field_type_test.dart
similarity index 100%
rename from tests/dart2js/native/field_type_test.dart
rename to tests/web/native/field_type_test.dart
diff --git a/tests/dart2js/native/fixup_get_tag_test.dart b/tests/web/native/fixup_get_tag_test.dart
similarity index 100%
rename from tests/dart2js/native/fixup_get_tag_test.dart
rename to tests/web/native/fixup_get_tag_test.dart
diff --git a/tests/dart2js/native/foreign_test.dart b/tests/web/native/foreign_test.dart
similarity index 100%
rename from tests/dart2js/native/foreign_test.dart
rename to tests/web/native/foreign_test.dart
diff --git a/tests/dart2js/native/hash_code_test.dart b/tests/web/native/hash_code_test.dart
similarity index 100%
rename from tests/dart2js/native/hash_code_test.dart
rename to tests/web/native/hash_code_test.dart
diff --git a/tests/dart2js/native/is_check_test.dart b/tests/web/native/is_check_test.dart
similarity index 100%
rename from tests/dart2js/native/is_check_test.dart
rename to tests/web/native/is_check_test.dart
diff --git a/tests/dart2js/native/issue9182_test.dart b/tests/web/native/issue9182_test.dart
similarity index 100%
rename from tests/dart2js/native/issue9182_test.dart
rename to tests/web/native/issue9182_test.dart
diff --git a/tests/dart2js/native/js_const_test.dart b/tests/web/native/js_const_test.dart
similarity index 100%
rename from tests/dart2js/native/js_const_test.dart
rename to tests/web/native/js_const_test.dart
diff --git a/tests/dart2js/native/js_constant_test.dart b/tests/web/native/js_constant_test.dart
similarity index 100%
rename from tests/dart2js/native/js_constant_test.dart
rename to tests/web/native/js_constant_test.dart
diff --git a/tests/dart2js/native/jsobject_test.dart b/tests/web/native/jsobject_test.dart
similarity index 100%
rename from tests/dart2js/native/jsobject_test.dart
rename to tests/web/native/jsobject_test.dart
diff --git a/tests/dart2js/native/load_elim_refinement_test.dart b/tests/web/native/load_elim_refinement_test.dart
similarity index 100%
rename from tests/dart2js/native/load_elim_refinement_test.dart
rename to tests/web/native/load_elim_refinement_test.dart
diff --git a/tests/dart2js/native/name_conflict_test.dart b/tests/web/native/name_conflict_test.dart
similarity index 100%
rename from tests/dart2js/native/name_conflict_test.dart
rename to tests/web/native/name_conflict_test.dart
diff --git a/tests/dart2js/native/native_call_arity1_frog_test.dart b/tests/web/native/native_call_arity1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_call_arity1_frog_test.dart
rename to tests/web/native/native_call_arity1_frog_test.dart
diff --git a/tests/dart2js/native/native_call_arity2_frog_test.dart b/tests/web/native/native_call_arity2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_call_arity2_frog_test.dart
rename to tests/web/native/native_call_arity2_frog_test.dart
diff --git a/tests/dart2js/native/native_call_arity3_frog_test.dart b/tests/web/native/native_call_arity3_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_call_arity3_frog_test.dart
rename to tests/web/native/native_call_arity3_frog_test.dart
diff --git a/tests/dart2js/native/native_checked_arguments1_frog_test.dart b/tests/web/native/native_checked_arguments1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_checked_arguments1_frog_test.dart
rename to tests/web/native/native_checked_arguments1_frog_test.dart
diff --git a/tests/dart2js/native/native_checked_fields_frog_test.dart b/tests/web/native/native_checked_fields_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_checked_fields_frog_test.dart
rename to tests/web/native/native_checked_fields_frog_test.dart
diff --git a/tests/dart2js/native/native_class_avoids_hidden_name_frog_test.dart b/tests/web/native/native_class_avoids_hidden_name_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_avoids_hidden_name_frog_test.dart
rename to tests/web/native/native_class_avoids_hidden_name_frog_test.dart
diff --git a/tests/dart2js/native/native_class_fields_2_test.dart b/tests/web/native/native_class_fields_2_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_fields_2_test.dart
rename to tests/web/native/native_class_fields_2_test.dart
diff --git a/tests/dart2js/native/native_class_fields_3_test.dart b/tests/web/native/native_class_fields_3_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_fields_3_test.dart
rename to tests/web/native/native_class_fields_3_test.dart
diff --git a/tests/dart2js/native/native_class_fields_test.dart b/tests/web/native/native_class_fields_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_fields_test.dart
rename to tests/web/native/native_class_fields_test.dart
diff --git a/tests/dart2js/native/native_class_inheritance1_frog_test.dart b/tests/web/native/native_class_inheritance1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_inheritance1_frog_test.dart
rename to tests/web/native/native_class_inheritance1_frog_test.dart
diff --git a/tests/dart2js/native/native_class_inheritance2_frog_test.dart b/tests/web/native/native_class_inheritance2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_inheritance2_frog_test.dart
rename to tests/web/native/native_class_inheritance2_frog_test.dart
diff --git a/tests/dart2js/native/native_class_inheritance3_frog_test.dart b/tests/web/native/native_class_inheritance3_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_inheritance3_frog_test.dart
rename to tests/web/native/native_class_inheritance3_frog_test.dart
diff --git a/tests/dart2js/native/native_class_inheritance4_frog_test.dart b/tests/web/native/native_class_inheritance4_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_inheritance4_frog_test.dart
rename to tests/web/native/native_class_inheritance4_frog_test.dart
diff --git a/tests/dart2js/native/native_class_is_check1_frog_test.dart b/tests/web/native/native_class_is_check1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_is_check1_frog_test.dart
rename to tests/web/native/native_class_is_check1_frog_test.dart
diff --git a/tests/dart2js/native/native_class_is_check3_frog_test.dart b/tests/web/native/native_class_is_check3_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_is_check3_frog_test.dart
rename to tests/web/native/native_class_is_check3_frog_test.dart
diff --git a/tests/dart2js/native/native_class_with_dart_methods_frog_test.dart b/tests/web/native/native_class_with_dart_methods_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_class_with_dart_methods_frog_test.dart
rename to tests/web/native/native_class_with_dart_methods_frog_test.dart
diff --git a/tests/dart2js/native/native_closure_identity_frog_test.dart b/tests/web/native/native_closure_identity_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_closure_identity_frog_test.dart
rename to tests/web/native/native_closure_identity_frog_test.dart
diff --git a/tests/dart2js/native/native_constructor_name_test.dart b/tests/web/native/native_constructor_name_test.dart
similarity index 100%
rename from tests/dart2js/native/native_constructor_name_test.dart
rename to tests/web/native/native_constructor_name_test.dart
diff --git a/tests/dart2js/native/native_equals_frog_test.dart b/tests/web/native/native_equals_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_equals_frog_test.dart
rename to tests/web/native/native_equals_frog_test.dart
diff --git a/tests/dart2js/native/native_exception2_test.dart b/tests/web/native/native_exception2_test.dart
similarity index 100%
rename from tests/dart2js/native/native_exception2_test.dart
rename to tests/web/native/native_exception2_test.dart
diff --git a/tests/dart2js/native/native_exception_test.dart b/tests/web/native/native_exception_test.dart
similarity index 100%
rename from tests/dart2js/native/native_exception_test.dart
rename to tests/web/native/native_exception_test.dart
diff --git a/tests/dart2js/native/native_exceptions1_frog_test.dart b/tests/web/native/native_exceptions1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_exceptions1_frog_test.dart
rename to tests/web/native/native_exceptions1_frog_test.dart
diff --git a/tests/dart2js/native/native_field_invocation2_test.dart b/tests/web/native/native_field_invocation2_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_invocation2_test.dart
rename to tests/web/native/native_field_invocation2_test.dart
diff --git a/tests/dart2js/native/native_field_invocation3_test.dart b/tests/web/native/native_field_invocation3_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_invocation3_test.dart
rename to tests/web/native/native_field_invocation3_test.dart
diff --git a/tests/dart2js/native/native_field_invocation4_test.dart b/tests/web/native/native_field_invocation4_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_invocation4_test.dart
rename to tests/web/native/native_field_invocation4_test.dart
diff --git a/tests/dart2js/native/native_field_invocation5_test.dart b/tests/web/native/native_field_invocation5_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_invocation5_test.dart
rename to tests/web/native/native_field_invocation5_test.dart
diff --git a/tests/dart2js/native/native_field_invocation6_test.dart b/tests/web/native/native_field_invocation6_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_invocation6_test.dart
rename to tests/web/native/native_field_invocation6_test.dart
diff --git a/tests/dart2js/native/native_field_invocation_test.dart b/tests/web/native/native_field_invocation_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_invocation_test.dart
rename to tests/web/native/native_field_invocation_test.dart
diff --git a/tests/dart2js/native/native_field_name_test.dart b/tests/web/native/native_field_name_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_name_test.dart
rename to tests/web/native/native_field_name_test.dart
diff --git a/tests/dart2js/native/native_field_optimization_test.dart b/tests/web/native/native_field_optimization_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_optimization_test.dart
rename to tests/web/native/native_field_optimization_test.dart
diff --git a/tests/dart2js/native/native_field_rename_1_frog_test.dart b/tests/web/native/native_field_rename_1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_rename_1_frog_test.dart
rename to tests/web/native/native_field_rename_1_frog_test.dart
diff --git a/tests/dart2js/native/native_field_rename_2_frog_test.dart b/tests/web/native/native_field_rename_2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_field_rename_2_frog_test.dart
rename to tests/web/native/native_field_rename_2_frog_test.dart
diff --git a/tests/dart2js/native/native_method_inlining_test.dart b/tests/web/native/native_method_inlining_test.dart
similarity index 100%
rename from tests/dart2js/native/native_method_inlining_test.dart
rename to tests/web/native/native_method_inlining_test.dart
diff --git a/tests/dart2js/native/native_method_rename1_frog_test.dart b/tests/web/native/native_method_rename1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_method_rename1_frog_test.dart
rename to tests/web/native/native_method_rename1_frog_test.dart
diff --git a/tests/dart2js/native/native_method_rename2_frog_test.dart b/tests/web/native/native_method_rename2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_method_rename2_frog_test.dart
rename to tests/web/native/native_method_rename2_frog_test.dart
diff --git a/tests/dart2js/native/native_method_rename3_frog_test.dart b/tests/web/native/native_method_rename3_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_method_rename3_frog_test.dart
rename to tests/web/native/native_method_rename3_frog_test.dart
diff --git a/tests/dart2js/native/native_method_with_keyword_name_test.dart b/tests/web/native/native_method_with_keyword_name_test.dart
similarity index 100%
rename from tests/dart2js/native/native_method_with_keyword_name_test.dart
rename to tests/web/native/native_method_with_keyword_name_test.dart
diff --git a/tests/dart2js/native/native_missing_method1_frog_test.dart b/tests/web/native/native_missing_method1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_missing_method1_frog_test.dart
rename to tests/web/native/native_missing_method1_frog_test.dart
diff --git a/tests/dart2js/native/native_missing_method2_frog_test.dart b/tests/web/native/native_missing_method2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_missing_method2_frog_test.dart
rename to tests/web/native/native_missing_method2_frog_test.dart
diff --git a/tests/dart2js/native/native_mixin_field2_test.dart b/tests/web/native/native_mixin_field2_test.dart
similarity index 100%
rename from tests/dart2js/native/native_mixin_field2_test.dart
rename to tests/web/native/native_mixin_field2_test.dart
diff --git a/tests/dart2js/native/native_mixin_field_test.dart b/tests/web/native/native_mixin_field_test.dart
similarity index 100%
rename from tests/dart2js/native/native_mixin_field_test.dart
rename to tests/web/native/native_mixin_field_test.dart
diff --git a/tests/dart2js/native/native_mixin_multiple2_test.dart b/tests/web/native/native_mixin_multiple2_test.dart
similarity index 100%
rename from tests/dart2js/native/native_mixin_multiple2_test.dart
rename to tests/web/native/native_mixin_multiple2_test.dart
diff --git a/tests/dart2js/native/native_mixin_multiple3_test.dart b/tests/web/native/native_mixin_multiple3_test.dart
similarity index 100%
rename from tests/dart2js/native/native_mixin_multiple3_test.dart
rename to tests/web/native/native_mixin_multiple3_test.dart
diff --git a/tests/dart2js/native/native_mixin_multiple_test.dart b/tests/web/native/native_mixin_multiple_test.dart
similarity index 100%
rename from tests/dart2js/native/native_mixin_multiple_test.dart
rename to tests/web/native/native_mixin_multiple_test.dart
diff --git a/tests/dart2js/native/native_mixin_test.dart b/tests/web/native/native_mixin_test.dart
similarity index 100%
rename from tests/dart2js/native/native_mixin_test.dart
rename to tests/web/native/native_mixin_test.dart
diff --git a/tests/dart2js/native/native_mixin_with_plain_test.dart b/tests/web/native/native_mixin_with_plain_test.dart
similarity index 100%
rename from tests/dart2js/native/native_mixin_with_plain_test.dart
rename to tests/web/native/native_mixin_with_plain_test.dart
diff --git a/tests/dart2js/native/native_named_constructors2_frog_test.dart b/tests/web/native/native_named_constructors2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_named_constructors2_frog_test.dart
rename to tests/web/native/native_named_constructors2_frog_test.dart
diff --git a/tests/dart2js/native/native_named_constructors3_frog_test.dart b/tests/web/native/native_named_constructors3_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_named_constructors3_frog_test.dart
rename to tests/web/native/native_named_constructors3_frog_test.dart
diff --git a/tests/dart2js/native/native_no_such_method_exception2_frog_test.dart b/tests/web/native/native_no_such_method_exception2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_no_such_method_exception2_frog_test.dart
rename to tests/web/native/native_no_such_method_exception2_frog_test.dart
diff --git a/tests/dart2js/native/native_no_such_method_exception_frog_test.dart b/tests/web/native/native_no_such_method_exception_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_no_such_method_exception_frog_test.dart
rename to tests/web/native/native_no_such_method_exception_frog_test.dart
diff --git a/tests/dart2js/native/native_novel_html_test.dart b/tests/web/native/native_novel_html_test.dart
similarity index 100%
rename from tests/dart2js/native/native_novel_html_test.dart
rename to tests/web/native/native_novel_html_test.dart
diff --git a/tests/dart2js/native/native_null_assertions/flag_disabled_non_web_test.dart b/tests/web/native/native_null_assertions/flag_disabled_non_web_test.dart
similarity index 100%
rename from tests/dart2js/native/native_null_assertions/flag_disabled_non_web_test.dart
rename to tests/web/native/native_null_assertions/flag_disabled_non_web_test.dart
diff --git a/tests/dart2js/native/native_null_assertions/flag_disabled_web_test.dart b/tests/web/native/native_null_assertions/flag_disabled_web_test.dart
similarity index 100%
rename from tests/dart2js/native/native_null_assertions/flag_disabled_web_test.dart
rename to tests/web/native/native_null_assertions/flag_disabled_web_test.dart
diff --git a/tests/dart2js/native/native_null_assertions/flag_enabled_non_web_test.dart b/tests/web/native/native_null_assertions/flag_enabled_non_web_test.dart
similarity index 100%
rename from tests/dart2js/native/native_null_assertions/flag_enabled_non_web_test.dart
rename to tests/web/native/native_null_assertions/flag_enabled_non_web_test.dart
diff --git a/tests/dart2js/native/native_null_assertions/flag_enabled_web_test.dart b/tests/web/native/native_null_assertions/flag_enabled_web_test.dart
similarity index 100%
rename from tests/dart2js/native/native_null_assertions/flag_enabled_web_test.dart
rename to tests/web/native/native_null_assertions/flag_enabled_web_test.dart
diff --git a/tests/dart2js/native/native_null_assertions/non_web_library_interfaces.dart b/tests/web/native/native_null_assertions/non_web_library_interfaces.dart
similarity index 100%
rename from tests/dart2js/native/native_null_assertions/non_web_library_interfaces.dart
rename to tests/web/native/native_null_assertions/non_web_library_interfaces.dart
diff --git a/tests/dart2js/native/native_null_assertions/null_assertions_test_lib.dart b/tests/web/native/native_null_assertions/null_assertions_test_lib.dart
similarity index 100%
rename from tests/dart2js/native/native_null_assertions/null_assertions_test_lib.dart
rename to tests/web/native/native_null_assertions/null_assertions_test_lib.dart
diff --git a/tests/dart2js/native/native_null_assertions/web_library_interfaces.dart b/tests/web/native/native_null_assertions/web_library_interfaces.dart
similarity index 100%
rename from tests/dart2js/native/native_null_assertions/web_library_interfaces.dart
rename to tests/web/native/native_null_assertions/web_library_interfaces.dart
diff --git a/tests/dart2js/native/native_null_closure_frog_test.dart b/tests/web/native/native_null_closure_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_null_closure_frog_test.dart
rename to tests/web/native/native_null_closure_frog_test.dart
diff --git a/tests/dart2js/native/native_null_frog_test.dart b/tests/web/native/native_null_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_null_frog_test.dart
rename to tests/web/native/native_null_frog_test.dart
diff --git a/tests/dart2js/native/native_property_frog_test.dart b/tests/web/native/native_property_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_property_frog_test.dart
rename to tests/web/native/native_property_frog_test.dart
diff --git a/tests/dart2js/native/native_test.dart b/tests/web/native/native_test.dart
similarity index 100%
rename from tests/dart2js/native/native_test.dart
rename to tests/web/native/native_test.dart
diff --git a/tests/dart2js/native/native_testing.dart b/tests/web/native/native_testing.dart
similarity index 100%
rename from tests/dart2js/native/native_testing.dart
rename to tests/web/native/native_testing.dart
diff --git a/tests/dart2js/native/native_to_string_frog_test.dart b/tests/web/native/native_to_string_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_to_string_frog_test.dart
rename to tests/web/native/native_to_string_frog_test.dart
diff --git a/tests/dart2js/native/native_use_native_name_in_table_frog_test.dart b/tests/web/native/native_use_native_name_in_table_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_use_native_name_in_table_frog_test.dart
rename to tests/web/native/native_use_native_name_in_table_frog_test.dart
diff --git a/tests/dart2js/native/native_window1_frog_test.dart b/tests/web/native/native_window1_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_window1_frog_test.dart
rename to tests/web/native/native_window1_frog_test.dart
diff --git a/tests/dart2js/native/native_window2_frog_test.dart b/tests/web/native/native_window2_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_window2_frog_test.dart
rename to tests/web/native/native_window2_frog_test.dart
diff --git a/tests/dart2js/native/native_wrapping_function3_frog_test.dart b/tests/web/native/native_wrapping_function3_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_wrapping_function3_frog_test.dart
rename to tests/web/native/native_wrapping_function3_frog_test.dart
diff --git a/tests/dart2js/native/native_wrapping_function_frog_test.dart b/tests/web/native/native_wrapping_function_frog_test.dart
similarity index 100%
rename from tests/dart2js/native/native_wrapping_function_frog_test.dart
rename to tests/web/native/native_wrapping_function_frog_test.dart
diff --git a/tests/dart2js/native/oddly_named_fields_test.dart b/tests/web/native/oddly_named_fields_test.dart
similarity index 100%
rename from tests/dart2js/native/oddly_named_fields_test.dart
rename to tests/web/native/oddly_named_fields_test.dart
diff --git a/tests/dart2js/native/optimization_hints_test.dart b/tests/web/native/optimization_hints_test.dart
similarity index 100%
rename from tests/dart2js/native/optimization_hints_test.dart
rename to tests/web/native/optimization_hints_test.dart
diff --git a/tests/dart2js/native/rti_only_native_test.dart b/tests/web/native/rti_only_native_test.dart
similarity index 100%
rename from tests/dart2js/native/rti_only_native_test.dart
rename to tests/web/native/rti_only_native_test.dart
diff --git a/tests/dart2js/native/runtimetype_test.dart b/tests/web/native/runtimetype_test.dart
similarity index 100%
rename from tests/dart2js/native/runtimetype_test.dart
rename to tests/web/native/runtimetype_test.dart
diff --git a/tests/dart2js/native/static_methods_test.dart b/tests/web/native/static_methods_test.dart
similarity index 100%
rename from tests/dart2js/native/static_methods_test.dart
rename to tests/web/native/static_methods_test.dart
diff --git a/tests/dart2js/native/subclassing_1_test.dart b/tests/web/native/subclassing_1_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_1_test.dart
rename to tests/web/native/subclassing_1_test.dart
diff --git a/tests/dart2js/native/subclassing_2_test.dart b/tests/web/native/subclassing_2_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_2_test.dart
rename to tests/web/native/subclassing_2_test.dart
diff --git a/tests/dart2js/native/subclassing_3_test.dart b/tests/web/native/subclassing_3_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_3_test.dart
rename to tests/web/native/subclassing_3_test.dart
diff --git a/tests/dart2js/native/subclassing_4_test.dart b/tests/web/native/subclassing_4_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_4_test.dart
rename to tests/web/native/subclassing_4_test.dart
diff --git a/tests/dart2js/native/subclassing_5_test.dart b/tests/web/native/subclassing_5_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_5_test.dart
rename to tests/web/native/subclassing_5_test.dart
diff --git a/tests/dart2js/native/subclassing_constructor_1_test.dart b/tests/web/native/subclassing_constructor_1_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_constructor_1_test.dart
rename to tests/web/native/subclassing_constructor_1_test.dart
diff --git a/tests/dart2js/native/subclassing_constructor_2_test.dart b/tests/web/native/subclassing_constructor_2_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_constructor_2_test.dart
rename to tests/web/native/subclassing_constructor_2_test.dart
diff --git a/tests/dart2js/native/subclassing_super_call_test.dart b/tests/web/native/subclassing_super_call_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_super_call_test.dart
rename to tests/web/native/subclassing_super_call_test.dart
diff --git a/tests/dart2js/native/subclassing_super_field_1_test.dart b/tests/web/native/subclassing_super_field_1_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_super_field_1_test.dart
rename to tests/web/native/subclassing_super_field_1_test.dart
diff --git a/tests/dart2js/native/subclassing_super_field_2_test.dart b/tests/web/native/subclassing_super_field_2_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_super_field_2_test.dart
rename to tests/web/native/subclassing_super_field_2_test.dart
diff --git a/tests/dart2js/native/subclassing_type_test.dart b/tests/web/native/subclassing_type_test.dart
similarity index 100%
rename from tests/dart2js/native/subclassing_type_test.dart
rename to tests/web/native/subclassing_type_test.dart
diff --git a/tests/dart2js/native/super_call_test.dart b/tests/web/native/super_call_test.dart
similarity index 100%
rename from tests/dart2js/native/super_call_test.dart
rename to tests/web/native/super_call_test.dart
diff --git a/tests/dart2js/native/super_property_test.dart b/tests/web/native/super_property_test.dart
similarity index 100%
rename from tests/dart2js/native/super_property_test.dart
rename to tests/web/native/super_property_test.dart
diff --git a/tests/dart2js/native/type_error_decode_test.dart b/tests/web/native/type_error_decode_test.dart
similarity index 100%
rename from tests/dart2js/native/type_error_decode_test.dart
rename to tests/web/native/type_error_decode_test.dart
diff --git a/tests/dart2js/native/undefined_bailout_test.dart b/tests/web/native/undefined_bailout_test.dart
similarity index 100%
rename from tests/dart2js/native/undefined_bailout_test.dart
rename to tests/web/native/undefined_bailout_test.dart
diff --git a/tests/dart2js/native/uninstantiated_type_parameter_test.dart b/tests/web/native/uninstantiated_type_parameter_test.dart
similarity index 100%
rename from tests/dart2js/native/uninstantiated_type_parameter_test.dart
rename to tests/web/native/uninstantiated_type_parameter_test.dart
diff --git a/tests/dart2js/new_from_env_test.dart b/tests/web/new_from_env_test.dart
similarity index 100%
rename from tests/dart2js/new_from_env_test.dart
rename to tests/web/new_from_env_test.dart
diff --git a/tests/dart2js/no_such_method_strong10_test.dart b/tests/web/no_such_method_strong10_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong10_test.dart
rename to tests/web/no_such_method_strong10_test.dart
diff --git a/tests/dart2js/no_such_method_strong11_lib.dart b/tests/web/no_such_method_strong11_lib.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong11_lib.dart
rename to tests/web/no_such_method_strong11_lib.dart
diff --git a/tests/dart2js/no_such_method_strong11_test.dart b/tests/web/no_such_method_strong11_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong11_test.dart
rename to tests/web/no_such_method_strong11_test.dart
diff --git a/tests/dart2js/no_such_method_strong12_test.dart b/tests/web/no_such_method_strong12_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong12_test.dart
rename to tests/web/no_such_method_strong12_test.dart
diff --git a/tests/dart2js/no_such_method_strong1_test.dart b/tests/web/no_such_method_strong1_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong1_test.dart
rename to tests/web/no_such_method_strong1_test.dart
diff --git a/tests/dart2js/no_such_method_strong2_test.dart b/tests/web/no_such_method_strong2_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong2_test.dart
rename to tests/web/no_such_method_strong2_test.dart
diff --git a/tests/dart2js/no_such_method_strong3_test.dart b/tests/web/no_such_method_strong3_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong3_test.dart
rename to tests/web/no_such_method_strong3_test.dart
diff --git a/tests/dart2js/no_such_method_strong4_test.dart b/tests/web/no_such_method_strong4_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong4_test.dart
rename to tests/web/no_such_method_strong4_test.dart
diff --git a/tests/dart2js/no_such_method_strong5_test.dart b/tests/web/no_such_method_strong5_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong5_test.dart
rename to tests/web/no_such_method_strong5_test.dart
diff --git a/tests/dart2js/no_such_method_strong6_test.dart b/tests/web/no_such_method_strong6_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong6_test.dart
rename to tests/web/no_such_method_strong6_test.dart
diff --git a/tests/dart2js/no_such_method_strong7_test.dart b/tests/web/no_such_method_strong7_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong7_test.dart
rename to tests/web/no_such_method_strong7_test.dart
diff --git a/tests/dart2js/no_such_method_strong8_test.dart b/tests/web/no_such_method_strong8_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong8_test.dart
rename to tests/web/no_such_method_strong8_test.dart
diff --git a/tests/dart2js/no_such_method_strong9_test.dart b/tests/web/no_such_method_strong9_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_strong9_test.dart
rename to tests/web/no_such_method_strong9_test.dart
diff --git a/tests/dart2js/no_such_method_test.dart b/tests/web/no_such_method_test.dart
similarity index 100%
rename from tests/dart2js/no_such_method_test.dart
rename to tests/web/no_such_method_test.dart
diff --git a/tests/dart2js/non_jsinterop_test.dart b/tests/web/non_jsinterop_test.dart
similarity index 100%
rename from tests/dart2js/non_jsinterop_test.dart
rename to tests/web/non_jsinterop_test.dart
diff --git a/tests/dart2js/non_trivial_substitution_test.dart b/tests/web/non_trivial_substitution_test.dart
similarity index 100%
rename from tests/dart2js/non_trivial_substitution_test.dart
rename to tests/web/non_trivial_substitution_test.dart
diff --git a/tests/dart2js/not_equals_test.dart b/tests/web/not_equals_test.dart
similarity index 100%
rename from tests/dart2js/not_equals_test.dart
rename to tests/web/not_equals_test.dart
diff --git a/tests/dart2js/not_test.dart b/tests/web/not_test.dart
similarity index 100%
rename from tests/dart2js/not_test.dart
rename to tests/web/not_test.dart
diff --git a/tests/dart2js/null_stacktrace_test.dart b/tests/web/null_stacktrace_test.dart
similarity index 100%
rename from tests/dart2js/null_stacktrace_test.dart
rename to tests/web/null_stacktrace_test.dart
diff --git a/tests/dart2js/null_test.dart b/tests/web/null_test.dart
similarity index 100%
rename from tests/dart2js/null_test.dart
rename to tests/web/null_test.dart
diff --git a/tests/dart2js/operator2_test.dart b/tests/web/operator2_test.dart
similarity index 100%
rename from tests/dart2js/operator2_test.dart
rename to tests/web/operator2_test.dart
diff --git a/tests/dart2js/operator3_test.dart b/tests/web/operator3_test.dart
similarity index 100%
rename from tests/dart2js/operator3_test.dart
rename to tests/web/operator3_test.dart
diff --git a/tests/dart2js/operator_equals_test.dart b/tests/web/operator_equals_test.dart
similarity index 100%
rename from tests/dart2js/operator_equals_test.dart
rename to tests/web/operator_equals_test.dart
diff --git a/tests/dart2js/operator_test.dart b/tests/web/operator_test.dart
similarity index 100%
rename from tests/dart2js/operator_test.dart
rename to tests/web/operator_test.dart
diff --git a/tests/dart2js/optional_parameter_test.dart b/tests/web/optional_parameter_test.dart
similarity index 100%
rename from tests/dart2js/optional_parameter_test.dart
rename to tests/web/optional_parameter_test.dart
diff --git a/tests/dart2js/panda_lib.dart b/tests/web/panda_lib.dart
similarity index 100%
rename from tests/dart2js/panda_lib.dart
rename to tests/web/panda_lib.dart
diff --git a/tests/dart2js/panda_test.dart b/tests/web/panda_test.dart
similarity index 100%
rename from tests/dart2js/panda_test.dart
rename to tests/web/panda_test.dart
diff --git a/tests/dart2js/phi_elimination_test.dart b/tests/web/phi_elimination_test.dart
similarity index 100%
rename from tests/dart2js/phi_elimination_test.dart
rename to tests/web/phi_elimination_test.dart
diff --git a/tests/dart2js/phi_gvn_test.dart b/tests/web/phi_gvn_test.dart
similarity index 100%
rename from tests/dart2js/phi_gvn_test.dart
rename to tests/web/phi_gvn_test.dart
diff --git a/tests/dart2js/phi_test.dart b/tests/web/phi_test.dart
similarity index 100%
rename from tests/dart2js/phi_test.dart
rename to tests/web/phi_test.dart
diff --git a/tests/dart2js/private_symbol_literal_test.dart b/tests/web/private_symbol_literal_test.dart
similarity index 100%
rename from tests/dart2js/private_symbol_literal_test.dart
rename to tests/web/private_symbol_literal_test.dart
diff --git a/tests/dart2js/recursive_metadata_test.dart b/tests/web/recursive_metadata_test.dart
similarity index 100%
rename from tests/dart2js/recursive_metadata_test.dart
rename to tests/web/recursive_metadata_test.dart
diff --git a/tests/dart2js/regress/41781_test.dart b/tests/web/regress/41781_test.dart
similarity index 100%
rename from tests/dart2js/regress/41781_test.dart
rename to tests/web/regress/41781_test.dart
diff --git a/tests/dart2js/regress/4434_lib.dart b/tests/web/regress/4434_lib.dart
similarity index 100%
rename from tests/dart2js/regress/4434_lib.dart
rename to tests/web/regress/4434_lib.dart
diff --git a/tests/dart2js/regress/4434_test.dart b/tests/web/regress/4434_test.dart
similarity index 100%
rename from tests/dart2js/regress/4434_test.dart
rename to tests/web/regress/4434_test.dart
diff --git a/tests/dart2js/regress/4492_test.dart b/tests/web/regress/4492_test.dart
similarity index 100%
rename from tests/dart2js/regress/4492_test.dart
rename to tests/web/regress/4492_test.dart
diff --git a/tests/dart2js/regress/4515_1_test.dart b/tests/web/regress/4515_1_test.dart
similarity index 100%
rename from tests/dart2js/regress/4515_1_test.dart
rename to tests/web/regress/4515_1_test.dart
diff --git a/tests/dart2js/regress/4515_2_test.dart b/tests/web/regress/4515_2_test.dart
similarity index 100%
rename from tests/dart2js/regress/4515_2_test.dart
rename to tests/web/regress/4515_2_test.dart
diff --git a/tests/dart2js/regress/4515_3_test.dart b/tests/web/regress/4515_3_test.dart
similarity index 100%
rename from tests/dart2js/regress/4515_3_test.dart
rename to tests/web/regress/4515_3_test.dart
diff --git a/tests/dart2js/regress/4562_test.dart b/tests/web/regress/4562_test.dart
similarity index 100%
rename from tests/dart2js/regress/4562_test.dart
rename to tests/web/regress/4562_test.dart
diff --git a/tests/dart2js/regress/4639_test.dart b/tests/web/regress/4639_test.dart
similarity index 100%
rename from tests/dart2js/regress/4639_test.dart
rename to tests/web/regress/4639_test.dart
diff --git a/tests/dart2js/regress/regression_type_variables_is_test.dart b/tests/web/regress/regression_type_variables_is_test.dart
similarity index 100%
rename from tests/dart2js/regress/regression_type_variables_is_test.dart
rename to tests/web/regress/regression_type_variables_is_test.dart
diff --git a/tests/dart2js/regress/unused_generator_type_parameter_test.dart b/tests/web/regress/unused_generator_type_parameter_test.dart
similarity index 100%
rename from tests/dart2js/regress/unused_generator_type_parameter_test.dart
rename to tests/web/regress/unused_generator_type_parameter_test.dart
diff --git a/tests/dart2js/regress_32069_test.dart b/tests/web/regress_32069_test.dart
similarity index 100%
rename from tests/dart2js/regress_32069_test.dart
rename to tests/web/regress_32069_test.dart
diff --git a/tests/dart2js/regress_36222_test.dart b/tests/web/regress_36222_test.dart
similarity index 100%
rename from tests/dart2js/regress_36222_test.dart
rename to tests/web/regress_36222_test.dart
diff --git a/tests/dart2js/regress_40349_test.dart b/tests/web/regress_40349_test.dart
similarity index 100%
rename from tests/dart2js/regress_40349_test.dart
rename to tests/web/regress_40349_test.dart
diff --git a/tests/dart2js/regress_42281_test.dart b/tests/web/regress_42281_test.dart
similarity index 100%
rename from tests/dart2js/regress_42281_test.dart
rename to tests/web/regress_42281_test.dart
diff --git a/tests/dart2js/regress_null_aware_test.dart b/tests/web/regress_null_aware_test.dart
similarity index 100%
rename from tests/dart2js/regress_null_aware_test.dart
rename to tests/web/regress_null_aware_test.dart
diff --git a/tests/dart2js/regression_2913_test.dart b/tests/web/regression_2913_test.dart
similarity index 100%
rename from tests/dart2js/regression_2913_test.dart
rename to tests/web/regression_2913_test.dart
diff --git a/tests/dart2js/replaced_type_variable_test.dart b/tests/web/replaced_type_variable_test.dart
similarity index 100%
rename from tests/dart2js/replaced_type_variable_test.dart
rename to tests/web/replaced_type_variable_test.dart
diff --git a/tests/dart2js/return_setter_test.dart b/tests/web/return_setter_test.dart
similarity index 100%
rename from tests/dart2js/return_setter_test.dart
rename to tests/web/return_setter_test.dart
diff --git a/tests/dart2js/round_constant_folding_test.dart b/tests/web/round_constant_folding_test.dart
similarity index 100%
rename from tests/dart2js/round_constant_folding_test.dart
rename to tests/web/round_constant_folding_test.dart
diff --git a/tests/dart2js/rti_need_for_closure_signature_test.dart b/tests/web/rti_need_for_closure_signature_test.dart
similarity index 100%
rename from tests/dart2js/rti_need_for_closure_signature_test.dart
rename to tests/web/rti_need_for_closure_signature_test.dart
diff --git a/tests/dart2js/rti_need_for_runtime_type_test.dart b/tests/web/rti_need_for_runtime_type_test.dart
similarity index 100%
rename from tests/dart2js/rti_need_for_runtime_type_test.dart
rename to tests/web/rti_need_for_runtime_type_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals1_test.dart b/tests/web/runtime_type_closure_equals1_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals1_test.dart
rename to tests/web/runtime_type_closure_equals1_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals2_test.dart b/tests/web/runtime_type_closure_equals2_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals2_test.dart
rename to tests/web/runtime_type_closure_equals2_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals3_test.dart b/tests/web/runtime_type_closure_equals3_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals3_test.dart
rename to tests/web/runtime_type_closure_equals3_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals4_test.dart b/tests/web/runtime_type_closure_equals4_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals4_test.dart
rename to tests/web/runtime_type_closure_equals4_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals5_test.dart b/tests/web/runtime_type_closure_equals5_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals5_test.dart
rename to tests/web/runtime_type_closure_equals5_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals6_test.dart b/tests/web/runtime_type_closure_equals6_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals6_test.dart
rename to tests/web/runtime_type_closure_equals6_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals7_test.dart b/tests/web/runtime_type_closure_equals7_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals7_test.dart
rename to tests/web/runtime_type_closure_equals7_test.dart
diff --git a/tests/dart2js/runtime_type_closure_equals8_test.dart b/tests/web/runtime_type_closure_equals8_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_closure_equals8_test.dart
rename to tests/web/runtime_type_closure_equals8_test.dart
diff --git a/tests/dart2js/runtime_type_equals1_test.dart b/tests/web/runtime_type_equals1_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals1_test.dart
rename to tests/web/runtime_type_equals1_test.dart
diff --git a/tests/dart2js/runtime_type_equals2_test.dart b/tests/web/runtime_type_equals2_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals2_test.dart
rename to tests/web/runtime_type_equals2_test.dart
diff --git a/tests/dart2js/runtime_type_equals3_test.dart b/tests/web/runtime_type_equals3_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals3_test.dart
rename to tests/web/runtime_type_equals3_test.dart
diff --git a/tests/dart2js/runtime_type_equals4_test.dart b/tests/web/runtime_type_equals4_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals4_test.dart
rename to tests/web/runtime_type_equals4_test.dart
diff --git a/tests/dart2js/runtime_type_equals5_test.dart b/tests/web/runtime_type_equals5_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals5_test.dart
rename to tests/web/runtime_type_equals5_test.dart
diff --git a/tests/dart2js/runtime_type_equals6_test.dart b/tests/web/runtime_type_equals6_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals6_test.dart
rename to tests/web/runtime_type_equals6_test.dart
diff --git a/tests/dart2js/runtime_type_equals7_test.dart b/tests/web/runtime_type_equals7_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals7_test.dart
rename to tests/web/runtime_type_equals7_test.dart
diff --git a/tests/dart2js/runtime_type_equals8_test.dart b/tests/web/runtime_type_equals8_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_equals8_test.dart
rename to tests/web/runtime_type_equals8_test.dart
diff --git a/tests/dart2js/runtime_type_int_test.dart b/tests/web/runtime_type_int_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_int_test.dart
rename to tests/web/runtime_type_int_test.dart
diff --git a/tests/dart2js/runtime_type_test.dart b/tests/web/runtime_type_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_test.dart
rename to tests/web/runtime_type_test.dart
diff --git a/tests/dart2js/runtime_type_to_string1_test.dart b/tests/web/runtime_type_to_string1_test.dart
similarity index 100%
rename from tests/dart2js/runtime_type_to_string1_test.dart
rename to tests/web/runtime_type_to_string1_test.dart
diff --git a/tests/dart2js/send_test.dart b/tests/web/send_test.dart
similarity index 100%
rename from tests/dart2js/send_test.dart
rename to tests/web/send_test.dart
diff --git a/tests/dart2js/simple_string_constant_test.dart b/tests/web/simple_string_constant_test.dart
similarity index 100%
rename from tests/dart2js/simple_string_constant_test.dart
rename to tests/web/simple_string_constant_test.dart
diff --git a/tests/dart2js/source_mapping_crash_source.dart b/tests/web/source_mapping_crash_source.dart
similarity index 100%
rename from tests/dart2js/source_mapping_crash_source.dart
rename to tests/web/source_mapping_crash_source.dart
diff --git a/tests/dart2js/source_mapping_crash_test.dart b/tests/web/source_mapping_crash_test.dart
similarity index 100%
rename from tests/dart2js/source_mapping_crash_test.dart
rename to tests/web/source_mapping_crash_test.dart
diff --git a/tests/dart2js/statements_test.dart b/tests/web/statements_test.dart
similarity index 100%
rename from tests/dart2js/statements_test.dart
rename to tests/web/statements_test.dart
diff --git a/tests/dart2js/static_field2_test.dart b/tests/web/static_field2_test.dart
similarity index 100%
rename from tests/dart2js/static_field2_test.dart
rename to tests/web/static_field2_test.dart
diff --git a/tests/dart2js/static_field_test.dart b/tests/web/static_field_test.dart
similarity index 100%
rename from tests/dart2js/static_field_test.dart
rename to tests/web/static_field_test.dart
diff --git a/tests/dart2js/static_method2_test.dart b/tests/web/static_method2_test.dart
similarity index 100%
rename from tests/dart2js/static_method2_test.dart
rename to tests/web/static_method2_test.dart
diff --git a/tests/dart2js/static_method_test.dart b/tests/web/static_method_test.dart
similarity index 100%
rename from tests/dart2js/static_method_test.dart
rename to tests/web/static_method_test.dart
diff --git a/tests/dart2js/static_var_no_initializer_test.dart b/tests/web/static_var_no_initializer_test.dart
similarity index 100%
rename from tests/dart2js/static_var_no_initializer_test.dart
rename to tests/web/static_var_no_initializer_test.dart
diff --git a/tests/dart2js/static_var_test.dart b/tests/web/static_var_test.dart
similarity index 100%
rename from tests/dart2js/static_var_test.dart
rename to tests/web/static_var_test.dart
diff --git a/tests/dart2js/string_escape_test.dart b/tests/web/string_escape_test.dart
similarity index 100%
rename from tests/dart2js/string_escape_test.dart
rename to tests/web/string_escape_test.dart
diff --git a/tests/dart2js/string_interpolation_dynamic_test.dart b/tests/web/string_interpolation_dynamic_test.dart
similarity index 100%
rename from tests/dart2js/string_interpolation_dynamic_test.dart
rename to tests/web/string_interpolation_dynamic_test.dart
Binary files differ
diff --git a/tests/dart2js/string_interpolation_opt1_test.dart b/tests/web/string_interpolation_opt1_test.dart
similarity index 100%
rename from tests/dart2js/string_interpolation_opt1_test.dart
rename to tests/web/string_interpolation_opt1_test.dart
diff --git a/tests/dart2js/string_interpolation_test.dart b/tests/web/string_interpolation_test.dart
similarity index 100%
rename from tests/dart2js/string_interpolation_test.dart
rename to tests/web/string_interpolation_test.dart
Binary files differ
diff --git a/tests/dart2js/super_call_test.dart b/tests/web/super_call_test.dart
similarity index 100%
rename from tests/dart2js/super_call_test.dart
rename to tests/web/super_call_test.dart
diff --git a/tests/dart2js/super_constructor1_test.dart b/tests/web/super_constructor1_test.dart
similarity index 100%
rename from tests/dart2js/super_constructor1_test.dart
rename to tests/web/super_constructor1_test.dart
diff --git a/tests/dart2js/super_constructor2_test.dart b/tests/web/super_constructor2_test.dart
similarity index 100%
rename from tests/dart2js/super_constructor2_test.dart
rename to tests/web/super_constructor2_test.dart
diff --git a/tests/dart2js/supermixin/supermixin10_test.dart b/tests/web/supermixin/supermixin10_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin10_test.dart
rename to tests/web/supermixin/supermixin10_test.dart
diff --git a/tests/dart2js/supermixin/supermixin11_test.dart b/tests/web/supermixin/supermixin11_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin11_test.dart
rename to tests/web/supermixin/supermixin11_test.dart
diff --git a/tests/dart2js/supermixin/supermixin12_test.dart b/tests/web/supermixin/supermixin12_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin12_test.dart
rename to tests/web/supermixin/supermixin12_test.dart
diff --git a/tests/dart2js/supermixin/supermixin13_test.dart b/tests/web/supermixin/supermixin13_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin13_test.dart
rename to tests/web/supermixin/supermixin13_test.dart
diff --git a/tests/dart2js/supermixin/supermixin14_test.dart b/tests/web/supermixin/supermixin14_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin14_test.dart
rename to tests/web/supermixin/supermixin14_test.dart
diff --git a/tests/dart2js/supermixin/supermixin15_test.dart b/tests/web/supermixin/supermixin15_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin15_test.dart
rename to tests/web/supermixin/supermixin15_test.dart
diff --git a/tests/dart2js/supermixin/supermixin16_test.dart b/tests/web/supermixin/supermixin16_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin16_test.dart
rename to tests/web/supermixin/supermixin16_test.dart
diff --git a/tests/dart2js/supermixin/supermixin17_test.dart b/tests/web/supermixin/supermixin17_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin17_test.dart
rename to tests/web/supermixin/supermixin17_test.dart
diff --git a/tests/dart2js/supermixin/supermixin18_test.dart b/tests/web/supermixin/supermixin18_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin18_test.dart
rename to tests/web/supermixin/supermixin18_test.dart
diff --git a/tests/dart2js/supermixin/supermixin1_test.dart b/tests/web/supermixin/supermixin1_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin1_test.dart
rename to tests/web/supermixin/supermixin1_test.dart
diff --git a/tests/dart2js/supermixin/supermixin2_test.dart b/tests/web/supermixin/supermixin2_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin2_test.dart
rename to tests/web/supermixin/supermixin2_test.dart
diff --git a/tests/dart2js/supermixin/supermixin3_test.dart b/tests/web/supermixin/supermixin3_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin3_test.dart
rename to tests/web/supermixin/supermixin3_test.dart
diff --git a/tests/dart2js/supermixin/supermixin4_test.dart b/tests/web/supermixin/supermixin4_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin4_test.dart
rename to tests/web/supermixin/supermixin4_test.dart
diff --git a/tests/dart2js/supermixin/supermixin5_test.dart b/tests/web/supermixin/supermixin5_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin5_test.dart
rename to tests/web/supermixin/supermixin5_test.dart
diff --git a/tests/dart2js/supermixin/supermixin6_test.dart b/tests/web/supermixin/supermixin6_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin6_test.dart
rename to tests/web/supermixin/supermixin6_test.dart
diff --git a/tests/dart2js/supermixin/supermixin7_test.dart b/tests/web/supermixin/supermixin7_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin7_test.dart
rename to tests/web/supermixin/supermixin7_test.dart
diff --git a/tests/dart2js/supermixin/supermixin8_test.dart b/tests/web/supermixin/supermixin8_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin8_test.dart
rename to tests/web/supermixin/supermixin8_test.dart
diff --git a/tests/dart2js/supermixin/supermixin9_test.dart b/tests/web/supermixin/supermixin9_test.dart
similarity index 100%
rename from tests/dart2js/supermixin/supermixin9_test.dart
rename to tests/web/supermixin/supermixin9_test.dart
diff --git a/tests/dart2js/switch_equals_test.dart b/tests/web/switch_equals_test.dart
similarity index 100%
rename from tests/dart2js/switch_equals_test.dart
rename to tests/web/switch_equals_test.dart
diff --git a/tests/dart2js/switch_test.dart b/tests/web/switch_test.dart
similarity index 100%
rename from tests/dart2js/switch_test.dart
rename to tests/web/switch_test.dart
diff --git a/tests/dart2js/sync_star_element_rti_need_test.dart b/tests/web/sync_star_element_rti_need_test.dart
similarity index 100%
rename from tests/dart2js/sync_star_element_rti_need_test.dart
rename to tests/web/sync_star_element_rti_need_test.dart
diff --git a/tests/dart2js/tear_off_types_test.dart b/tests/web/tear_off_types_test.dart
similarity index 100%
rename from tests/dart2js/tear_off_types_test.dart
rename to tests/web/tear_off_types_test.dart
diff --git a/tests/dart2js/this_phi_elimination_test.dart b/tests/web/this_phi_elimination_test.dart
similarity index 100%
rename from tests/dart2js/this_phi_elimination_test.dart
rename to tests/web/this_phi_elimination_test.dart
diff --git a/tests/dart2js/this_redirecting_constructor_test.dart b/tests/web/this_redirecting_constructor_test.dart
similarity index 100%
rename from tests/dart2js/this_redirecting_constructor_test.dart
rename to tests/web/this_redirecting_constructor_test.dart
diff --git a/tests/dart2js/this_test.dart b/tests/web/this_test.dart
similarity index 100%
rename from tests/dart2js/this_test.dart
rename to tests/web/this_test.dart
diff --git a/tests/dart2js/throw1_test.dart b/tests/web/throw1_test.dart
similarity index 100%
rename from tests/dart2js/throw1_test.dart
rename to tests/web/throw1_test.dart
diff --git a/tests/dart2js/throw2_test.dart b/tests/web/throw2_test.dart
similarity index 100%
rename from tests/dart2js/throw2_test.dart
rename to tests/web/throw2_test.dart
diff --git a/tests/dart2js/timer_test.dart b/tests/web/timer_test.dart
similarity index 100%
rename from tests/dart2js/timer_test.dart
rename to tests/web/timer_test.dart
diff --git a/tests/dart2js/to_string_test.dart b/tests/web/to_string_test.dart
similarity index 100%
rename from tests/dart2js/to_string_test.dart
rename to tests/web/to_string_test.dart
diff --git a/tests/dart2js/truncation_errors_test.dart b/tests/web/truncation_errors_test.dart
similarity index 100%
rename from tests/dart2js/truncation_errors_test.dart
rename to tests/web/truncation_errors_test.dart
diff --git a/tests/dart2js/type_argument_factory_crash_test.dart b/tests/web/type_argument_factory_crash_test.dart
similarity index 100%
rename from tests/dart2js/type_argument_factory_crash_test.dart
rename to tests/web/type_argument_factory_crash_test.dart
diff --git a/tests/dart2js/type_argument_factory_nocrash_test.dart b/tests/web/type_argument_factory_nocrash_test.dart
similarity index 100%
rename from tests/dart2js/type_argument_factory_nocrash_test.dart
rename to tests/web/type_argument_factory_nocrash_test.dart
diff --git a/tests/dart2js/type_argument_optimization_test.dart b/tests/web/type_argument_optimization_test.dart
similarity index 100%
rename from tests/dart2js/type_argument_optimization_test.dart
rename to tests/web/type_argument_optimization_test.dart
diff --git a/tests/dart2js/type_constant_switch_test.dart b/tests/web/type_constant_switch_test.dart
similarity index 100%
rename from tests/dart2js/type_constant_switch_test.dart
rename to tests/web/type_constant_switch_test.dart
diff --git a/tests/dart2js/type_error_message_test.dart b/tests/web/type_error_message_test.dart
similarity index 100%
rename from tests/dart2js/type_error_message_test.dart
rename to tests/web/type_error_message_test.dart
diff --git a/tests/dart2js/type_literal2_test.dart b/tests/web/type_literal2_test.dart
similarity index 100%
rename from tests/dart2js/type_literal2_test.dart
rename to tests/web/type_literal2_test.dart
diff --git a/tests/dart2js/type_literal_test.dart b/tests/web/type_literal_test.dart
similarity index 100%
rename from tests/dart2js/type_literal_test.dart
rename to tests/web/type_literal_test.dart
diff --git a/tests/dart2js/typevariable_factory_test.dart b/tests/web/typevariable_factory_test.dart
similarity index 100%
rename from tests/dart2js/typevariable_factory_test.dart
rename to tests/web/typevariable_factory_test.dart
diff --git a/tests/dart2js/typevariable_substitution_test.dart b/tests/web/typevariable_substitution_test.dart
similarity index 100%
rename from tests/dart2js/typevariable_substitution_test.dart
rename to tests/web/typevariable_substitution_test.dart
diff --git a/tests/dart2js/typevariable_typedef_test.dart b/tests/web/typevariable_typedef_test.dart
similarity index 100%
rename from tests/dart2js/typevariable_typedef_test.dart
rename to tests/web/typevariable_typedef_test.dart
diff --git a/tests/dart2js/unconditional_dartio_import_test.dart b/tests/web/unconditional_dartio_import_test.dart
similarity index 100%
rename from tests/dart2js/unconditional_dartio_import_test.dart
rename to tests/web/unconditional_dartio_import_test.dart
diff --git a/tests/dart2js/unused_local_const_test.dart b/tests/web/unused_local_const_test.dart
similarity index 100%
rename from tests/dart2js/unused_local_const_test.dart
rename to tests/web/unused_local_const_test.dart
diff --git a/tests/dart2js/useful_error_message_1_test.dart b/tests/web/useful_error_message_1_test.dart
similarity index 100%
rename from tests/dart2js/useful_error_message_1_test.dart
rename to tests/web/useful_error_message_1_test.dart
diff --git a/tests/dart2js/while_test.dart b/tests/web/while_test.dart
similarity index 100%
rename from tests/dart2js/while_test.dart
rename to tests/web/while_test.dart
diff --git a/tests/dart2js_2/10216a_test.dart b/tests/web_2/10216a_test.dart
similarity index 100%
rename from tests/dart2js_2/10216a_test.dart
rename to tests/web_2/10216a_test.dart
diff --git a/tests/dart2js_2/10216b_test.dart b/tests/web_2/10216b_test.dart
similarity index 100%
rename from tests/dart2js_2/10216b_test.dart
rename to tests/web_2/10216b_test.dart
diff --git a/tests/dart2js_2/11673_test.dart b/tests/web_2/11673_test.dart
similarity index 100%
rename from tests/dart2js_2/11673_test.dart
rename to tests/web_2/11673_test.dart
diff --git a/tests/dart2js_2/12320_test.dart b/tests/web_2/12320_test.dart
similarity index 100%
rename from tests/dart2js_2/12320_test.dart
rename to tests/web_2/12320_test.dart
diff --git a/tests/dart2js_2/12_test.dart b/tests/web_2/12_test.dart
similarity index 100%
rename from tests/dart2js_2/12_test.dart
rename to tests/web_2/12_test.dart
diff --git a/tests/dart2js_2/16400_test.dart b/tests/web_2/16400_test.dart
similarity index 100%
rename from tests/dart2js_2/16400_test.dart
rename to tests/web_2/16400_test.dart
diff --git a/tests/dart2js_2/16407_test.dart b/tests/web_2/16407_test.dart
similarity index 100%
rename from tests/dart2js_2/16407_test.dart
rename to tests/web_2/16407_test.dart
diff --git a/tests/dart2js_2/16967_test.dart b/tests/web_2/16967_test.dart
similarity index 100%
rename from tests/dart2js_2/16967_test.dart
rename to tests/web_2/16967_test.dart
diff --git a/tests/dart2js_2/17094_test.dart b/tests/web_2/17094_test.dart
similarity index 100%
rename from tests/dart2js_2/17094_test.dart
rename to tests/web_2/17094_test.dart
diff --git a/tests/dart2js_2/17645_test.dart b/tests/web_2/17645_test.dart
similarity index 100%
rename from tests/dart2js_2/17645_test.dart
rename to tests/web_2/17645_test.dart
diff --git a/tests/dart2js_2/17856_test.dart b/tests/web_2/17856_test.dart
similarity index 100%
rename from tests/dart2js_2/17856_test.dart
rename to tests/web_2/17856_test.dart
diff --git a/tests/dart2js_2/18383_test.dart b/tests/web_2/18383_test.dart
similarity index 100%
rename from tests/dart2js_2/18383_test.dart
rename to tests/web_2/18383_test.dart
diff --git a/tests/dart2js_2/19191_test.dart b/tests/web_2/19191_test.dart
similarity index 100%
rename from tests/dart2js_2/19191_test.dart
rename to tests/web_2/19191_test.dart
diff --git a/tests/dart2js_2/21351_test.dart b/tests/web_2/21351_test.dart
similarity index 100%
rename from tests/dart2js_2/21351_test.dart
rename to tests/web_2/21351_test.dart
diff --git a/tests/dart2js_2/21579_test.dart b/tests/web_2/21579_test.dart
similarity index 100%
rename from tests/dart2js_2/21579_test.dart
rename to tests/web_2/21579_test.dart
diff --git a/tests/dart2js_2/22487_test.dart b/tests/web_2/22487_test.dart
similarity index 100%
rename from tests/dart2js_2/22487_test.dart
rename to tests/web_2/22487_test.dart
diff --git a/tests/dart2js_2/22776_test.dart b/tests/web_2/22776_test.dart
similarity index 100%
rename from tests/dart2js_2/22776_test.dart
rename to tests/web_2/22776_test.dart
diff --git a/tests/dart2js_2/22868_test.dart b/tests/web_2/22868_test.dart
similarity index 100%
rename from tests/dart2js_2/22868_test.dart
rename to tests/web_2/22868_test.dart
diff --git a/tests/dart2js_2/22917_test.dart b/tests/web_2/22917_test.dart
similarity index 100%
rename from tests/dart2js_2/22917_test.dart
rename to tests/web_2/22917_test.dart
diff --git a/tests/dart2js_2/23404_test.dart b/tests/web_2/23404_test.dart
similarity index 100%
rename from tests/dart2js_2/23404_test.dart
rename to tests/web_2/23404_test.dart
diff --git a/tests/dart2js_2/23432_test.dart b/tests/web_2/23432_test.dart
similarity index 100%
rename from tests/dart2js_2/23432_test.dart
rename to tests/web_2/23432_test.dart
diff --git a/tests/dart2js_2/23486_helper.dart b/tests/web_2/23486_helper.dart
similarity index 100%
rename from tests/dart2js_2/23486_helper.dart
rename to tests/web_2/23486_helper.dart
diff --git a/tests/dart2js_2/23486_test.dart b/tests/web_2/23486_test.dart
similarity index 100%
rename from tests/dart2js_2/23486_test.dart
rename to tests/web_2/23486_test.dart
diff --git a/tests/dart2js_2/23804_test.dart b/tests/web_2/23804_test.dart
similarity index 100%
rename from tests/dart2js_2/23804_test.dart
rename to tests/web_2/23804_test.dart
diff --git a/tests/dart2js_2/23828_test.dart b/tests/web_2/23828_test.dart
similarity index 100%
rename from tests/dart2js_2/23828_test.dart
rename to tests/web_2/23828_test.dart
diff --git a/tests/dart2js_2/26243_test.dart b/tests/web_2/26243_test.dart
similarity index 100%
rename from tests/dart2js_2/26243_test.dart
rename to tests/web_2/26243_test.dart
diff --git a/tests/dart2js_2/27198_test.dart b/tests/web_2/27198_test.dart
similarity index 100%
rename from tests/dart2js_2/27198_test.dart
rename to tests/web_2/27198_test.dart
diff --git a/tests/dart2js_2/27199_test.dart b/tests/web_2/27199_test.dart
similarity index 100%
rename from tests/dart2js_2/27199_test.dart
rename to tests/web_2/27199_test.dart
diff --git a/tests/dart2js_2/27323_test.dart b/tests/web_2/27323_test.dart
similarity index 100%
rename from tests/dart2js_2/27323_test.dart
rename to tests/web_2/27323_test.dart
diff --git a/tests/dart2js_2/27354_test.dart b/tests/web_2/27354_test.dart
similarity index 100%
rename from tests/dart2js_2/27354_test.dart
rename to tests/web_2/27354_test.dart
diff --git a/tests/dart2js_2/28749_test.dart b/tests/web_2/28749_test.dart
similarity index 100%
rename from tests/dart2js_2/28749_test.dart
rename to tests/web_2/28749_test.dart
diff --git a/tests/dart2js_2/28919_test.dart b/tests/web_2/28919_test.dart
similarity index 100%
rename from tests/dart2js_2/28919_test.dart
rename to tests/web_2/28919_test.dart
diff --git a/tests/dart2js_2/29130_test.dart b/tests/web_2/29130_test.dart
similarity index 100%
rename from tests/dart2js_2/29130_test.dart
rename to tests/web_2/29130_test.dart
diff --git a/tests/dart2js_2/31803_test.dart b/tests/web_2/31803_test.dart
similarity index 100%
rename from tests/dart2js_2/31803_test.dart
rename to tests/web_2/31803_test.dart
diff --git a/tests/dart2js_2/32770a_test.dart b/tests/web_2/32770a_test.dart
similarity index 100%
rename from tests/dart2js_2/32770a_test.dart
rename to tests/web_2/32770a_test.dart
diff --git a/tests/dart2js_2/32770b_test.dart b/tests/web_2/32770b_test.dart
similarity index 100%
rename from tests/dart2js_2/32770b_test.dart
rename to tests/web_2/32770b_test.dart
diff --git a/tests/dart2js_2/32770c_test.dart b/tests/web_2/32770c_test.dart
similarity index 100%
rename from tests/dart2js_2/32770c_test.dart
rename to tests/web_2/32770c_test.dart
diff --git a/tests/dart2js_2/32774_test.dart b/tests/web_2/32774_test.dart
similarity index 100%
rename from tests/dart2js_2/32774_test.dart
rename to tests/web_2/32774_test.dart
diff --git a/tests/dart2js_2/32828_test.dart b/tests/web_2/32828_test.dart
similarity index 100%
rename from tests/dart2js_2/32828_test.dart
rename to tests/web_2/32828_test.dart
diff --git a/tests/dart2js_2/32853_test.dart b/tests/web_2/32853_test.dart
similarity index 100%
rename from tests/dart2js_2/32853_test.dart
rename to tests/web_2/32853_test.dart
diff --git a/tests/dart2js_2/32928_test.dart b/tests/web_2/32928_test.dart
similarity index 100%
rename from tests/dart2js_2/32928_test.dart
rename to tests/web_2/32928_test.dart
diff --git a/tests/dart2js_2/32969_test.dart b/tests/web_2/32969_test.dart
similarity index 100%
rename from tests/dart2js_2/32969_test.dart
rename to tests/web_2/32969_test.dart
diff --git a/tests/dart2js_2/32997a_lib.dart b/tests/web_2/32997a_lib.dart
similarity index 100%
rename from tests/dart2js_2/32997a_lib.dart
rename to tests/web_2/32997a_lib.dart
diff --git a/tests/dart2js_2/32997a_test.dart b/tests/web_2/32997a_test.dart
similarity index 100%
rename from tests/dart2js_2/32997a_test.dart
rename to tests/web_2/32997a_test.dart
diff --git a/tests/dart2js_2/32997b_lib.dart b/tests/web_2/32997b_lib.dart
similarity index 100%
rename from tests/dart2js_2/32997b_lib.dart
rename to tests/web_2/32997b_lib.dart
diff --git a/tests/dart2js_2/32997b_test.dart b/tests/web_2/32997b_test.dart
similarity index 100%
rename from tests/dart2js_2/32997b_test.dart
rename to tests/web_2/32997b_test.dart
diff --git a/tests/dart2js_2/33296_test.dart b/tests/web_2/33296_test.dart
similarity index 100%
rename from tests/dart2js_2/33296_test.dart
rename to tests/web_2/33296_test.dart
diff --git a/tests/dart2js_2/33572_test.dart b/tests/web_2/33572_test.dart
similarity index 100%
rename from tests/dart2js_2/33572_test.dart
rename to tests/web_2/33572_test.dart
diff --git a/tests/dart2js_2/33_test.dart b/tests/web_2/33_test.dart
similarity index 100%
rename from tests/dart2js_2/33_test.dart
rename to tests/web_2/33_test.dart
diff --git a/tests/dart2js_2/34156_test.dart b/tests/web_2/34156_test.dart
similarity index 100%
rename from tests/dart2js_2/34156_test.dart
rename to tests/web_2/34156_test.dart
diff --git a/tests/dart2js_2/34701_test.dart b/tests/web_2/34701_test.dart
similarity index 100%
rename from tests/dart2js_2/34701_test.dart
rename to tests/web_2/34701_test.dart
diff --git a/tests/dart2js_2/35341_test.dart b/tests/web_2/35341_test.dart
similarity index 100%
rename from tests/dart2js_2/35341_test.dart
rename to tests/web_2/35341_test.dart
diff --git a/tests/dart2js_2/35356_test.dart b/tests/web_2/35356_test.dart
similarity index 100%
rename from tests/dart2js_2/35356_test.dart
rename to tests/web_2/35356_test.dart
diff --git a/tests/dart2js_2/35853_test.dart b/tests/web_2/35853_test.dart
similarity index 100%
rename from tests/dart2js_2/35853_test.dart
rename to tests/web_2/35853_test.dart
diff --git a/tests/dart2js_2/35965a_test.dart b/tests/web_2/35965a_test.dart
similarity index 100%
rename from tests/dart2js_2/35965a_test.dart
rename to tests/web_2/35965a_test.dart
diff --git a/tests/dart2js_2/37494_test.dart b/tests/web_2/37494_test.dart
similarity index 100%
rename from tests/dart2js_2/37494_test.dart
rename to tests/web_2/37494_test.dart
diff --git a/tests/dart2js_2/37576_test.dart b/tests/web_2/37576_test.dart
similarity index 100%
rename from tests/dart2js_2/37576_test.dart
rename to tests/web_2/37576_test.dart
diff --git a/tests/dart2js_2/38005_test.dart b/tests/web_2/38005_test.dart
similarity index 100%
rename from tests/dart2js_2/38005_test.dart
rename to tests/web_2/38005_test.dart
diff --git a/tests/dart2js_2/38949_test.dart b/tests/web_2/38949_test.dart
similarity index 100%
rename from tests/dart2js_2/38949_test.dart
rename to tests/web_2/38949_test.dart
diff --git a/tests/dart2js_2/3_test.dart b/tests/web_2/3_test.dart
similarity index 100%
rename from tests/dart2js_2/3_test.dart
rename to tests/web_2/3_test.dart
diff --git a/tests/dart2js_2/40152a_test.dart b/tests/web_2/40152a_test.dart
similarity index 100%
rename from tests/dart2js_2/40152a_test.dart
rename to tests/web_2/40152a_test.dart
diff --git a/tests/dart2js_2/40902_test.dart b/tests/web_2/40902_test.dart
similarity index 100%
rename from tests/dart2js_2/40902_test.dart
rename to tests/web_2/40902_test.dart
diff --git a/tests/dart2js_2/41449a_test.dart b/tests/web_2/41449a_test.dart
similarity index 100%
rename from tests/dart2js_2/41449a_test.dart
rename to tests/web_2/41449a_test.dart
diff --git a/tests/dart2js_2/41449b_test.dart b/tests/web_2/41449b_test.dart
similarity index 100%
rename from tests/dart2js_2/41449b_test.dart
rename to tests/web_2/41449b_test.dart
diff --git a/tests/dart2js_2/41449c_test.dart b/tests/web_2/41449c_test.dart
similarity index 100%
rename from tests/dart2js_2/41449c_test.dart
rename to tests/web_2/41449c_test.dart
diff --git a/tests/dart2js_2/42088_test.dart b/tests/web_2/42088_test.dart
similarity index 100%
rename from tests/dart2js_2/42088_test.dart
rename to tests/web_2/42088_test.dart
diff --git a/tests/dart2js_2/42189_test.dart b/tests/web_2/42189_test.dart
similarity index 100%
rename from tests/dart2js_2/42189_test.dart
rename to tests/web_2/42189_test.dart
diff --git a/tests/dart2js_2/42501_test.dart b/tests/web_2/42501_test.dart
similarity index 100%
rename from tests/dart2js_2/42501_test.dart
rename to tests/web_2/42501_test.dart
diff --git a/tests/dart2js_2/42531_test.dart b/tests/web_2/42531_test.dart
similarity index 100%
rename from tests/dart2js_2/42531_test.dart
rename to tests/web_2/42531_test.dart
diff --git a/tests/dart2js_2/43_test.dart b/tests/web_2/43_test.dart
similarity index 100%
rename from tests/dart2js_2/43_test.dart
rename to tests/web_2/43_test.dart
diff --git a/tests/dart2js_2/7_test.dart b/tests/web_2/7_test.dart
similarity index 100%
rename from tests/dart2js_2/7_test.dart
rename to tests/web_2/7_test.dart
diff --git a/tests/dart2js_2/881_test.dart b/tests/web_2/881_test.dart
similarity index 100%
rename from tests/dart2js_2/881_test.dart
rename to tests/web_2/881_test.dart
diff --git a/tests/dart2js_2/LayoutTests_fast_mediastream_getusermedia_t01_test.dart b/tests/web_2/LayoutTests_fast_mediastream_getusermedia_t01_test.dart
similarity index 100%
rename from tests/dart2js_2/LayoutTests_fast_mediastream_getusermedia_t01_test.dart
rename to tests/web_2/LayoutTests_fast_mediastream_getusermedia_t01_test.dart
diff --git a/tests/dart2js_2/assert_with_message_test.dart b/tests/web_2/assert_with_message_test.dart
similarity index 100%
rename from tests/dart2js_2/assert_with_message_test.dart
rename to tests/web_2/assert_with_message_test.dart
diff --git a/tests/dart2js_2/async_helper.dart b/tests/web_2/async_helper.dart
similarity index 100%
rename from tests/dart2js_2/async_helper.dart
rename to tests/web_2/async_helper.dart
diff --git a/tests/dart2js_2/async_stacktrace_test.dart b/tests/web_2/async_stacktrace_test.dart
similarity index 100%
rename from tests/dart2js_2/async_stacktrace_test.dart
rename to tests/web_2/async_stacktrace_test.dart
diff --git a/tests/dart2js_2/big_allocation_expression_test.dart b/tests/web_2/big_allocation_expression_test.dart
similarity index 100%
rename from tests/dart2js_2/big_allocation_expression_test.dart
rename to tests/web_2/big_allocation_expression_test.dart
diff --git a/tests/dart2js_2/block_expression_on_field_test.dart b/tests/web_2/block_expression_on_field_test.dart
similarity index 100%
rename from tests/dart2js_2/block_expression_on_field_test.dart
rename to tests/web_2/block_expression_on_field_test.dart
diff --git a/tests/dart2js_2/boolean_conversion_test.dart b/tests/web_2/boolean_conversion_test.dart
similarity index 100%
rename from tests/dart2js_2/boolean_conversion_test.dart
rename to tests/web_2/boolean_conversion_test.dart
diff --git a/tests/dart2js_2/bound_closure_interceptor_methods_test.dart b/tests/web_2/bound_closure_interceptor_methods_test.dart
similarity index 100%
rename from tests/dart2js_2/bound_closure_interceptor_methods_test.dart
rename to tests/web_2/bound_closure_interceptor_methods_test.dart
diff --git a/tests/dart2js_2/bound_closure_interceptor_type_test.dart b/tests/web_2/bound_closure_interceptor_type_test.dart
similarity index 100%
rename from tests/dart2js_2/bound_closure_interceptor_type_test.dart
rename to tests/web_2/bound_closure_interceptor_type_test.dart
diff --git a/tests/dart2js_2/bounded_type_literal_test.dart b/tests/web_2/bounded_type_literal_test.dart
similarity index 100%
rename from tests/dart2js_2/bounded_type_literal_test.dart
rename to tests/web_2/bounded_type_literal_test.dart
diff --git a/tests/dart2js_2/bounds_check1a_test.dart b/tests/web_2/bounds_check1a_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check1a_test.dart
rename to tests/web_2/bounds_check1a_test.dart
diff --git a/tests/dart2js_2/bounds_check1b_test.dart b/tests/web_2/bounds_check1b_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check1b_test.dart
rename to tests/web_2/bounds_check1b_test.dart
diff --git a/tests/dart2js_2/bounds_check2a_test.dart b/tests/web_2/bounds_check2a_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check2a_test.dart
rename to tests/web_2/bounds_check2a_test.dart
diff --git a/tests/dart2js_2/bounds_check2b_test.dart b/tests/web_2/bounds_check2b_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check2b_test.dart
rename to tests/web_2/bounds_check2b_test.dart
diff --git a/tests/dart2js_2/bounds_check3a_test.dart b/tests/web_2/bounds_check3a_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check3a_test.dart
rename to tests/web_2/bounds_check3a_test.dart
diff --git a/tests/dart2js_2/bounds_check3b_test.dart b/tests/web_2/bounds_check3b_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check3b_test.dart
rename to tests/web_2/bounds_check3b_test.dart
diff --git a/tests/dart2js_2/bounds_check3c_test.dart b/tests/web_2/bounds_check3c_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check3c_test.dart
rename to tests/web_2/bounds_check3c_test.dart
diff --git a/tests/dart2js_2/bounds_check4a_test.dart b/tests/web_2/bounds_check4a_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check4a_test.dart
rename to tests/web_2/bounds_check4a_test.dart
diff --git a/tests/dart2js_2/bounds_check4b_test.dart b/tests/web_2/bounds_check4b_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check4b_test.dart
rename to tests/web_2/bounds_check4b_test.dart
diff --git a/tests/dart2js_2/bounds_check_test.dart b/tests/web_2/bounds_check_test.dart
similarity index 100%
rename from tests/dart2js_2/bounds_check_test.dart
rename to tests/web_2/bounds_check_test.dart
diff --git a/tests/dart2js_2/break_test.dart b/tests/web_2/break_test.dart
similarity index 100%
rename from tests/dart2js_2/break_test.dart
rename to tests/web_2/break_test.dart
diff --git a/tests/dart2js_2/call_is_function_test.dart b/tests/web_2/call_is_function_test.dart
similarity index 100%
rename from tests/dart2js_2/call_is_function_test.dart
rename to tests/web_2/call_is_function_test.dart
diff --git a/tests/dart2js_2/call_signature_test.dart b/tests/web_2/call_signature_test.dart
similarity index 100%
rename from tests/dart2js_2/call_signature_test.dart
rename to tests/web_2/call_signature_test.dart
diff --git a/tests/dart2js_2/call_uninlined_test.dart b/tests/web_2/call_uninlined_test.dart
similarity index 100%
rename from tests/dart2js_2/call_uninlined_test.dart
rename to tests/web_2/call_uninlined_test.dart
diff --git a/tests/dart2js_2/cfe_instance_constant_test.dart b/tests/web_2/cfe_instance_constant_test.dart
similarity index 100%
rename from tests/dart2js_2/cfe_instance_constant_test.dart
rename to tests/web_2/cfe_instance_constant_test.dart
diff --git a/tests/dart2js_2/checked_setter_test.dart b/tests/web_2/checked_setter_test.dart
similarity index 100%
rename from tests/dart2js_2/checked_setter_test.dart
rename to tests/web_2/checked_setter_test.dart
diff --git a/tests/dart2js_2/class_hierarchy_extends_clause_test.dart b/tests/web_2/class_hierarchy_extends_clause_test.dart
similarity index 100%
rename from tests/dart2js_2/class_hierarchy_extends_clause_test.dart
rename to tests/web_2/class_hierarchy_extends_clause_test.dart
diff --git a/tests/dart2js_2/closure2_test.dart b/tests/web_2/closure2_test.dart
similarity index 100%
rename from tests/dart2js_2/closure2_test.dart
rename to tests/web_2/closure2_test.dart
diff --git a/tests/dart2js_2/closure3_test.dart b/tests/web_2/closure3_test.dart
similarity index 100%
rename from tests/dart2js_2/closure3_test.dart
rename to tests/web_2/closure3_test.dart
diff --git a/tests/dart2js_2/closure4_test.dart b/tests/web_2/closure4_test.dart
similarity index 100%
rename from tests/dart2js_2/closure4_test.dart
rename to tests/web_2/closure4_test.dart
diff --git a/tests/dart2js_2/closure5_test.dart b/tests/web_2/closure5_test.dart
similarity index 100%
rename from tests/dart2js_2/closure5_test.dart
rename to tests/web_2/closure5_test.dart
diff --git a/tests/dart2js_2/closure6_test.dart b/tests/web_2/closure6_test.dart
similarity index 100%
rename from tests/dart2js_2/closure6_test.dart
rename to tests/web_2/closure6_test.dart
diff --git a/tests/dart2js_2/closure7_test.dart b/tests/web_2/closure7_test.dart
similarity index 100%
rename from tests/dart2js_2/closure7_test.dart
rename to tests/web_2/closure7_test.dart
diff --git a/tests/dart2js_2/closure_capture2_test.dart b/tests/web_2/closure_capture2_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_capture2_test.dart
rename to tests/web_2/closure_capture2_test.dart
diff --git a/tests/dart2js_2/closure_capture3_test.dart b/tests/web_2/closure_capture3_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_capture3_test.dart
rename to tests/web_2/closure_capture3_test.dart
diff --git a/tests/dart2js_2/closure_capture4_test.dart b/tests/web_2/closure_capture4_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_capture4_test.dart
rename to tests/web_2/closure_capture4_test.dart
diff --git a/tests/dart2js_2/closure_capture5_test.dart b/tests/web_2/closure_capture5_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_capture5_test.dart
rename to tests/web_2/closure_capture5_test.dart
diff --git a/tests/dart2js_2/closure_capture6_test.dart b/tests/web_2/closure_capture6_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_capture6_test.dart
rename to tests/web_2/closure_capture6_test.dart
diff --git a/tests/dart2js_2/closure_capture7_test.dart b/tests/web_2/closure_capture7_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_capture7_test.dart
rename to tests/web_2/closure_capture7_test.dart
diff --git a/tests/dart2js_2/closure_capture_test.dart b/tests/web_2/closure_capture_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_capture_test.dart
rename to tests/web_2/closure_capture_test.dart
diff --git a/tests/dart2js_2/closure_signature_unneeded_test.dart b/tests/web_2/closure_signature_unneeded_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_signature_unneeded_test.dart
rename to tests/web_2/closure_signature_unneeded_test.dart
diff --git a/tests/dart2js_2/closure_test.dart b/tests/web_2/closure_test.dart
similarity index 100%
rename from tests/dart2js_2/closure_test.dart
rename to tests/web_2/closure_test.dart
diff --git a/tests/dart2js_2/code_motion_exception_test.dart b/tests/web_2/code_motion_exception_test.dart
similarity index 100%
rename from tests/dart2js_2/code_motion_exception_test.dart
rename to tests/web_2/code_motion_exception_test.dart
diff --git a/tests/dart2js_2/compile_time_constant4_test.dart b/tests/web_2/compile_time_constant4_test.dart
similarity index 100%
rename from tests/dart2js_2/compile_time_constant4_test.dart
rename to tests/web_2/compile_time_constant4_test.dart
diff --git a/tests/dart2js_2/compound_operator_index_test.dart b/tests/web_2/compound_operator_index_test.dart
similarity index 100%
rename from tests/dart2js_2/compound_operator_index_test.dart
rename to tests/web_2/compound_operator_index_test.dart
diff --git a/tests/dart2js_2/conditional_rewrite_test.dart b/tests/web_2/conditional_rewrite_test.dart
similarity index 100%
rename from tests/dart2js_2/conditional_rewrite_test.dart
rename to tests/web_2/conditional_rewrite_test.dart
diff --git a/tests/dart2js_2/conditional_send_test.dart b/tests/web_2/conditional_send_test.dart
similarity index 100%
rename from tests/dart2js_2/conditional_send_test.dart
rename to tests/web_2/conditional_send_test.dart
diff --git a/tests/dart2js_2/conditional_test.dart b/tests/web_2/conditional_test.dart
similarity index 100%
rename from tests/dart2js_2/conditional_test.dart
rename to tests/web_2/conditional_test.dart
diff --git a/tests/dart2js_2/conflict_index_test.dart b/tests/web_2/conflict_index_test.dart
similarity index 100%
rename from tests/dart2js_2/conflict_index_test.dart
rename to tests/web_2/conflict_index_test.dart
diff --git a/tests/dart2js_2/consistent_add_error_test.dart b/tests/web_2/consistent_add_error_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_add_error_test.dart
rename to tests/web_2/consistent_add_error_test.dart
diff --git a/tests/dart2js_2/consistent_codeUnitAt_error_test.dart b/tests/web_2/consistent_codeUnitAt_error_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_codeUnitAt_error_test.dart
rename to tests/web_2/consistent_codeUnitAt_error_test.dart
diff --git a/tests/dart2js_2/consistent_index_error_array_test.dart b/tests/web_2/consistent_index_error_array_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_index_error_array_test.dart
rename to tests/web_2/consistent_index_error_array_test.dart
diff --git a/tests/dart2js_2/consistent_index_error_string_test.dart b/tests/web_2/consistent_index_error_string_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_index_error_string_test.dart
rename to tests/web_2/consistent_index_error_string_test.dart
diff --git a/tests/dart2js_2/consistent_index_error_typed_list_test.dart b/tests/web_2/consistent_index_error_typed_list_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_index_error_typed_list_test.dart
rename to tests/web_2/consistent_index_error_typed_list_test.dart
diff --git a/tests/dart2js_2/consistent_null_add_error_test.dart b/tests/web_2/consistent_null_add_error_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_null_add_error_test.dart
rename to tests/web_2/consistent_null_add_error_test.dart
diff --git a/tests/dart2js_2/consistent_subtract_error_test.dart b/tests/web_2/consistent_subtract_error_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_subtract_error_test.dart
rename to tests/web_2/consistent_subtract_error_test.dart
diff --git a/tests/dart2js_2/consistent_type_error_test.dart b/tests/web_2/consistent_type_error_test.dart
similarity index 100%
rename from tests/dart2js_2/consistent_type_error_test.dart
rename to tests/web_2/consistent_type_error_test.dart
diff --git a/tests/dart2js_2/constant_fold_number_dart2_j_s_test.dart b/tests/web_2/constant_fold_number_dart2_j_s_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_fold_number_dart2_j_s_test.dart
rename to tests/web_2/constant_fold_number_dart2_j_s_test.dart
diff --git a/tests/dart2js_2/constant_folding2_test.dart b/tests/web_2/constant_folding2_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_folding2_test.dart
rename to tests/web_2/constant_folding2_test.dart
diff --git a/tests/dart2js_2/constant_folding_test.dart b/tests/web_2/constant_folding_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_folding_test.dart
rename to tests/web_2/constant_folding_test.dart
diff --git a/tests/dart2js_2/constant_javascript_semantics2_test.dart b/tests/web_2/constant_javascript_semantics2_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_javascript_semantics2_test.dart
rename to tests/web_2/constant_javascript_semantics2_test.dart
diff --git a/tests/dart2js_2/constant_javascript_semantics3_test.dart b/tests/web_2/constant_javascript_semantics3_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_javascript_semantics3_test.dart
rename to tests/web_2/constant_javascript_semantics3_test.dart
diff --git a/tests/dart2js_2/constant_javascript_semantics4_test.dart b/tests/web_2/constant_javascript_semantics4_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_javascript_semantics4_test.dart
rename to tests/web_2/constant_javascript_semantics4_test.dart
diff --git a/tests/dart2js_2/constant_javascript_semantics_test.dart b/tests/web_2/constant_javascript_semantics_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_javascript_semantics_test.dart
rename to tests/web_2/constant_javascript_semantics_test.dart
diff --git a/tests/dart2js_2/constant_javascript_semantics_test5.dart b/tests/web_2/constant_javascript_semantics_test5.dart
similarity index 100%
rename from tests/dart2js_2/constant_javascript_semantics_test5.dart
rename to tests/web_2/constant_javascript_semantics_test5.dart
diff --git a/tests/dart2js_2/constant_truncate_test.dart b/tests/web_2/constant_truncate_test.dart
similarity index 100%
rename from tests/dart2js_2/constant_truncate_test.dart
rename to tests/web_2/constant_truncate_test.dart
diff --git a/tests/dart2js_2/crash_library_metadata.dart b/tests/web_2/crash_library_metadata.dart
similarity index 100%
rename from tests/dart2js_2/crash_library_metadata.dart
rename to tests/web_2/crash_library_metadata.dart
diff --git a/tests/dart2js_2/dart2js_2.status b/tests/web_2/dart2js_2.status
similarity index 100%
rename from tests/dart2js_2/dart2js_2.status
rename to tests/web_2/dart2js_2.status
diff --git a/tests/dart2js_2/data_uri_test.dart b/tests/web_2/data_uri_test.dart
similarity index 100%
rename from tests/dart2js_2/data_uri_test.dart
rename to tests/web_2/data_uri_test.dart
diff --git a/tests/dart2js_2/deferred/34219_bounds_lib1.dart b/tests/web_2/deferred/34219_bounds_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_bounds_lib1.dart
rename to tests/web_2/deferred/34219_bounds_lib1.dart
diff --git a/tests/dart2js_2/deferred/34219_bounds_lib2.dart b/tests/web_2/deferred/34219_bounds_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_bounds_lib2.dart
rename to tests/web_2/deferred/34219_bounds_lib2.dart
diff --git a/tests/dart2js_2/deferred/34219_bounds_lib3.dart b/tests/web_2/deferred/34219_bounds_lib3.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_bounds_lib3.dart
rename to tests/web_2/deferred/34219_bounds_lib3.dart
diff --git a/tests/dart2js_2/deferred/34219_bounds_test.dart b/tests/web_2/deferred/34219_bounds_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_bounds_test.dart
rename to tests/web_2/deferred/34219_bounds_test.dart
diff --git a/tests/dart2js_2/deferred/34219_signature_lib1.dart b/tests/web_2/deferred/34219_signature_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_signature_lib1.dart
rename to tests/web_2/deferred/34219_signature_lib1.dart
diff --git a/tests/dart2js_2/deferred/34219_signature_lib2.dart b/tests/web_2/deferred/34219_signature_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_signature_lib2.dart
rename to tests/web_2/deferred/34219_signature_lib2.dart
diff --git a/tests/dart2js_2/deferred/34219_signature_lib3.dart b/tests/web_2/deferred/34219_signature_lib3.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_signature_lib3.dart
rename to tests/web_2/deferred/34219_signature_lib3.dart
diff --git a/tests/dart2js_2/deferred/34219_signature_test.dart b/tests/web_2/deferred/34219_signature_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/34219_signature_test.dart
rename to tests/web_2/deferred/34219_signature_test.dart
diff --git a/tests/dart2js_2/deferred/default_arg_is_tearoff_lib.dart b/tests/web_2/deferred/default_arg_is_tearoff_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred/default_arg_is_tearoff_lib.dart
rename to tests/web_2/deferred/default_arg_is_tearoff_lib.dart
diff --git a/tests/dart2js_2/deferred/default_arg_is_tearoff_test.dart b/tests/web_2/deferred/default_arg_is_tearoff_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/default_arg_is_tearoff_test.dart
rename to tests/web_2/deferred/default_arg_is_tearoff_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_class_library.dart b/tests/web_2/deferred/deferred_class_library.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_class_library.dart
rename to tests/web_2/deferred/deferred_class_library.dart
diff --git a/tests/dart2js_2/deferred/deferred_class_library2.dart b/tests/web_2/deferred/deferred_class_library2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_class_library2.dart
rename to tests/web_2/deferred/deferred_class_library2.dart
diff --git a/tests/dart2js_2/deferred/deferred_class_test.dart b/tests/web_2/deferred/deferred_class_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_class_test.dart
rename to tests/web_2/deferred/deferred_class_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_constant2_test.dart b/tests/web_2/deferred/deferred_constant2_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_constant2_test.dart
rename to tests/web_2/deferred/deferred_constant2_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_constant3_test.dart b/tests/web_2/deferred/deferred_constant3_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_constant3_test.dart
rename to tests/web_2/deferred/deferred_constant3_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_constant4_test.dart b/tests/web_2/deferred/deferred_constant4_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_constant4_test.dart
rename to tests/web_2/deferred/deferred_constant4_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_constant_dependency_evaluation_test.dart b/tests/web_2/deferred/deferred_constant_dependency_evaluation_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_constant_dependency_evaluation_test.dart
rename to tests/web_2/deferred/deferred_constant_dependency_evaluation_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_function_library.dart b/tests/web_2/deferred/deferred_function_library.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_function_library.dart
rename to tests/web_2/deferred/deferred_function_library.dart
diff --git a/tests/dart2js_2/deferred/deferred_function_test.dart b/tests/web_2/deferred/deferred_function_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_function_test.dart
rename to tests/web_2/deferred/deferred_function_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_metadata_lib.dart b/tests/web_2/deferred/deferred_metadata_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_metadata_lib.dart
rename to tests/web_2/deferred/deferred_metadata_lib.dart
diff --git a/tests/dart2js_2/deferred/deferred_metadata_test.dart b/tests/web_2/deferred/deferred_metadata_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_metadata_test.dart
rename to tests/web_2/deferred/deferred_metadata_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_mirrors2_lib2.dart b/tests/web_2/deferred/deferred_mirrors2_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_mirrors2_lib2.dart
rename to tests/web_2/deferred/deferred_mirrors2_lib2.dart
diff --git a/tests/dart2js_2/deferred/deferred_mirrors2_lib4.dart b/tests/web_2/deferred/deferred_mirrors2_lib4.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_mirrors2_lib4.dart
rename to tests/web_2/deferred/deferred_mirrors2_lib4.dart
diff --git a/tests/dart2js_2/deferred/deferred_mirrors2_lib5.dart b/tests/web_2/deferred/deferred_mirrors2_lib5.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_mirrors2_lib5.dart
rename to tests/web_2/deferred/deferred_mirrors2_lib5.dart
diff --git a/tests/dart2js_2/deferred/deferred_overlapping_lib1.dart b/tests/web_2/deferred/deferred_overlapping_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_overlapping_lib1.dart
rename to tests/web_2/deferred/deferred_overlapping_lib1.dart
diff --git a/tests/dart2js_2/deferred/deferred_overlapping_lib2.dart b/tests/web_2/deferred/deferred_overlapping_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_overlapping_lib2.dart
rename to tests/web_2/deferred/deferred_overlapping_lib2.dart
diff --git a/tests/dart2js_2/deferred/deferred_overlapping_lib3.dart b/tests/web_2/deferred/deferred_overlapping_lib3.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_overlapping_lib3.dart
rename to tests/web_2/deferred/deferred_overlapping_lib3.dart
diff --git a/tests/dart2js_2/deferred/deferred_overlapping_test.dart b/tests/web_2/deferred/deferred_overlapping_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_overlapping_test.dart
rename to tests/web_2/deferred/deferred_overlapping_test.dart
diff --git a/tests/dart2js_2/deferred/deferred_unused_classes_test.dart b/tests/web_2/deferred/deferred_unused_classes_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/deferred_unused_classes_test.dart
rename to tests/web_2/deferred/deferred_unused_classes_test.dart
diff --git a/tests/dart2js_2/deferred/interface_type_variable_lib.dart b/tests/web_2/deferred/interface_type_variable_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred/interface_type_variable_lib.dart
rename to tests/web_2/deferred/interface_type_variable_lib.dart
diff --git a/tests/dart2js_2/deferred/interface_type_variable_test.dart b/tests/web_2/deferred/interface_type_variable_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/interface_type_variable_test.dart
rename to tests/web_2/deferred/interface_type_variable_test.dart
diff --git a/tests/dart2js_2/deferred/multiple_default_arg_lib1.dart b/tests/web_2/deferred/multiple_default_arg_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred/multiple_default_arg_lib1.dart
rename to tests/web_2/deferred/multiple_default_arg_lib1.dart
diff --git a/tests/dart2js_2/deferred/multiple_default_arg_lib2.dart b/tests/web_2/deferred/multiple_default_arg_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/multiple_default_arg_lib2.dart
rename to tests/web_2/deferred/multiple_default_arg_lib2.dart
diff --git a/tests/dart2js_2/deferred/multiple_default_arg_lib3.dart b/tests/web_2/deferred/multiple_default_arg_lib3.dart
similarity index 100%
rename from tests/dart2js_2/deferred/multiple_default_arg_lib3.dart
rename to tests/web_2/deferred/multiple_default_arg_lib3.dart
diff --git a/tests/dart2js_2/deferred/multiple_default_arg_test.dart b/tests/web_2/deferred/multiple_default_arg_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/multiple_default_arg_test.dart
rename to tests/web_2/deferred/multiple_default_arg_test.dart
diff --git a/tests/dart2js_2/deferred/reflect_multiple_annotations_lib1.dart b/tests/web_2/deferred/reflect_multiple_annotations_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred/reflect_multiple_annotations_lib1.dart
rename to tests/web_2/deferred/reflect_multiple_annotations_lib1.dart
diff --git a/tests/dart2js_2/deferred/reflect_multiple_annotations_lib2.dart b/tests/web_2/deferred/reflect_multiple_annotations_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/reflect_multiple_annotations_lib2.dart
rename to tests/web_2/deferred/reflect_multiple_annotations_lib2.dart
diff --git a/tests/dart2js_2/deferred/reflect_multiple_default_arg_lib1.dart b/tests/web_2/deferred/reflect_multiple_default_arg_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred/reflect_multiple_default_arg_lib1.dart
rename to tests/web_2/deferred/reflect_multiple_default_arg_lib1.dart
diff --git a/tests/dart2js_2/deferred/reflect_multiple_default_arg_lib2.dart b/tests/web_2/deferred/reflect_multiple_default_arg_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred/reflect_multiple_default_arg_lib2.dart
rename to tests/web_2/deferred/reflect_multiple_default_arg_lib2.dart
diff --git a/tests/dart2js_2/deferred/shared_constant_a.dart b/tests/web_2/deferred/shared_constant_a.dart
similarity index 100%
rename from tests/dart2js_2/deferred/shared_constant_a.dart
rename to tests/web_2/deferred/shared_constant_a.dart
diff --git a/tests/dart2js_2/deferred/shared_constant_b.dart b/tests/web_2/deferred/shared_constant_b.dart
similarity index 100%
rename from tests/dart2js_2/deferred/shared_constant_b.dart
rename to tests/web_2/deferred/shared_constant_b.dart
diff --git a/tests/dart2js_2/deferred/shared_constant_c.dart b/tests/web_2/deferred/shared_constant_c.dart
similarity index 100%
rename from tests/dart2js_2/deferred/shared_constant_c.dart
rename to tests/web_2/deferred/shared_constant_c.dart
diff --git a/tests/dart2js_2/deferred/shared_constant_shared.dart b/tests/web_2/deferred/shared_constant_shared.dart
similarity index 100%
rename from tests/dart2js_2/deferred/shared_constant_shared.dart
rename to tests/web_2/deferred/shared_constant_shared.dart
diff --git a/tests/dart2js_2/deferred/shared_constant_test.dart b/tests/web_2/deferred/shared_constant_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/shared_constant_test.dart
rename to tests/web_2/deferred/shared_constant_test.dart
diff --git a/tests/dart2js_2/deferred/type_literal_lib.dart b/tests/web_2/deferred/type_literal_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred/type_literal_lib.dart
rename to tests/web_2/deferred/type_literal_lib.dart
diff --git a/tests/dart2js_2/deferred/type_literal_test.dart b/tests/web_2/deferred/type_literal_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/type_literal_test.dart
rename to tests/web_2/deferred/type_literal_test.dart
diff --git a/tests/dart2js_2/deferred/typedef_lib.dart b/tests/web_2/deferred/typedef_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred/typedef_lib.dart
rename to tests/web_2/deferred/typedef_lib.dart
diff --git a/tests/dart2js_2/deferred/typedef_test.dart b/tests/web_2/deferred/typedef_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/typedef_test.dart
rename to tests/web_2/deferred/typedef_test.dart
diff --git a/tests/dart2js_2/deferred/uninstantiated_type_variable_lib.dart b/tests/web_2/deferred/uninstantiated_type_variable_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred/uninstantiated_type_variable_lib.dart
rename to tests/web_2/deferred/uninstantiated_type_variable_lib.dart
diff --git a/tests/dart2js_2/deferred/uninstantiated_type_variable_test.dart b/tests/web_2/deferred/uninstantiated_type_variable_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred/uninstantiated_type_variable_test.dart
rename to tests/web_2/deferred/uninstantiated_type_variable_test.dart
diff --git a/tests/dart2js_2/deferred_fail_and_retry_lib.dart b/tests/web_2/deferred_fail_and_retry_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred_fail_and_retry_lib.dart
rename to tests/web_2/deferred_fail_and_retry_lib.dart
diff --git a/tests/dart2js_2/deferred_fail_and_retry_test.dart b/tests/web_2/deferred_fail_and_retry_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_fail_and_retry_test.dart
rename to tests/web_2/deferred_fail_and_retry_test.dart
diff --git a/tests/dart2js_2/deferred_function_types1_test.dart b/tests/web_2/deferred_function_types1_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types1_test.dart
rename to tests/web_2/deferred_function_types1_test.dart
diff --git a/tests/dart2js_2/deferred_function_types2_test.dart b/tests/web_2/deferred_function_types2_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types2_test.dart
rename to tests/web_2/deferred_function_types2_test.dart
diff --git a/tests/dart2js_2/deferred_function_types3_test.dart b/tests/web_2/deferred_function_types3_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types3_test.dart
rename to tests/web_2/deferred_function_types3_test.dart
diff --git a/tests/dart2js_2/deferred_function_types4_test.dart b/tests/web_2/deferred_function_types4_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types4_test.dart
rename to tests/web_2/deferred_function_types4_test.dart
diff --git a/tests/dart2js_2/deferred_function_types5_test.dart b/tests/web_2/deferred_function_types5_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types5_test.dart
rename to tests/web_2/deferred_function_types5_test.dart
diff --git a/tests/dart2js_2/deferred_function_types6_test.dart b/tests/web_2/deferred_function_types6_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types6_test.dart
rename to tests/web_2/deferred_function_types6_test.dart
diff --git a/tests/dart2js_2/deferred_function_types7_test.dart b/tests/web_2/deferred_function_types7_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types7_test.dart
rename to tests/web_2/deferred_function_types7_test.dart
diff --git a/tests/dart2js_2/deferred_function_types8_test.dart b/tests/web_2/deferred_function_types8_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types8_test.dart
rename to tests/web_2/deferred_function_types8_test.dart
diff --git a/tests/dart2js_2/deferred_function_types_lib1.dart b/tests/web_2/deferred_function_types_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types_lib1.dart
rename to tests/web_2/deferred_function_types_lib1.dart
diff --git a/tests/dart2js_2/deferred_function_types_lib2.dart b/tests/web_2/deferred_function_types_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred_function_types_lib2.dart
rename to tests/web_2/deferred_function_types_lib2.dart
diff --git a/tests/dart2js_2/deferred_inheritance_lib1.dart b/tests/web_2/deferred_inheritance_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred_inheritance_lib1.dart
rename to tests/web_2/deferred_inheritance_lib1.dart
diff --git a/tests/dart2js_2/deferred_inheritance_lib2.dart b/tests/web_2/deferred_inheritance_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred_inheritance_lib2.dart
rename to tests/web_2/deferred_inheritance_lib2.dart
diff --git a/tests/dart2js_2/deferred_inheritance_test.dart b/tests/web_2/deferred_inheritance_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_inheritance_test.dart
rename to tests/web_2/deferred_inheritance_test.dart
diff --git a/tests/dart2js_2/deferred_split_lib1.dart b/tests/web_2/deferred_split_lib1.dart
similarity index 100%
rename from tests/dart2js_2/deferred_split_lib1.dart
rename to tests/web_2/deferred_split_lib1.dart
diff --git a/tests/dart2js_2/deferred_split_lib2.dart b/tests/web_2/deferred_split_lib2.dart
similarity index 100%
rename from tests/dart2js_2/deferred_split_lib2.dart
rename to tests/web_2/deferred_split_lib2.dart
diff --git a/tests/dart2js_2/deferred_split_test.dart b/tests/web_2/deferred_split_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_split_test.dart
rename to tests/web_2/deferred_split_test.dart
diff --git a/tests/dart2js_2/deferred_tearoff_load_library_lib.dart b/tests/web_2/deferred_tearoff_load_library_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred_tearoff_load_library_lib.dart
rename to tests/web_2/deferred_tearoff_load_library_lib.dart
diff --git a/tests/dart2js_2/deferred_tearoff_load_library_test.dart b/tests/web_2/deferred_tearoff_load_library_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_tearoff_load_library_test.dart
rename to tests/web_2/deferred_tearoff_load_library_test.dart
diff --git a/tests/dart2js_2/deferred_with_cross_origin_lib.dart b/tests/web_2/deferred_with_cross_origin_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred_with_cross_origin_lib.dart
rename to tests/web_2/deferred_with_cross_origin_lib.dart
diff --git a/tests/dart2js_2/deferred_with_cross_origin_test.dart b/tests/web_2/deferred_with_cross_origin_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_with_cross_origin_test.dart
rename to tests/web_2/deferred_with_cross_origin_test.dart
diff --git a/tests/dart2js_2/deferred_with_csp_nonce2_test.dart b/tests/web_2/deferred_with_csp_nonce2_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_with_csp_nonce2_test.dart
rename to tests/web_2/deferred_with_csp_nonce2_test.dart
diff --git a/tests/dart2js_2/deferred_with_csp_nonce_lib.dart b/tests/web_2/deferred_with_csp_nonce_lib.dart
similarity index 100%
rename from tests/dart2js_2/deferred_with_csp_nonce_lib.dart
rename to tests/web_2/deferred_with_csp_nonce_lib.dart
diff --git a/tests/dart2js_2/deferred_with_csp_nonce_test.dart b/tests/web_2/deferred_with_csp_nonce_test.dart
similarity index 100%
rename from tests/dart2js_2/deferred_with_csp_nonce_test.dart
rename to tests/web_2/deferred_with_csp_nonce_test.dart
diff --git a/tests/dart2js_2/do_test.dart b/tests/web_2/do_test.dart
similarity index 100%
rename from tests/dart2js_2/do_test.dart
rename to tests/web_2/do_test.dart
diff --git a/tests/dart2js_2/dummy_compiler_test.dart b/tests/web_2/dummy_compiler_test.dart
similarity index 100%
rename from tests/dart2js_2/dummy_compiler_test.dart
rename to tests/web_2/dummy_compiler_test.dart
diff --git a/tests/dart2js_2/dynamic_bounds_check_test.dart b/tests/web_2/dynamic_bounds_check_test.dart
similarity index 100%
rename from tests/dart2js_2/dynamic_bounds_check_test.dart
rename to tests/web_2/dynamic_bounds_check_test.dart
diff --git a/tests/dart2js_2/dynamic_invocation_test.dart b/tests/web_2/dynamic_invocation_test.dart
similarity index 100%
rename from tests/dart2js_2/dynamic_invocation_test.dart
rename to tests/web_2/dynamic_invocation_test.dart
diff --git a/tests/dart2js_2/dynamic_type_literal_test.dart b/tests/web_2/dynamic_type_literal_test.dart
similarity index 100%
rename from tests/dart2js_2/dynamic_type_literal_test.dart
rename to tests/web_2/dynamic_type_literal_test.dart
diff --git a/tests/dart2js_2/effectively_constant_fields_test.dart b/tests/web_2/effectively_constant_fields_test.dart
similarity index 100%
rename from tests/dart2js_2/effectively_constant_fields_test.dart
rename to tests/web_2/effectively_constant_fields_test.dart
diff --git a/tests/dart2js_2/effectively_constant_instance_field_test.dart b/tests/web_2/effectively_constant_instance_field_test.dart
similarity index 100%
rename from tests/dart2js_2/effectively_constant_instance_field_test.dart
rename to tests/web_2/effectively_constant_instance_field_test.dart
diff --git a/tests/dart2js_2/empty_method_test.dart b/tests/web_2/empty_method_test.dart
similarity index 100%
rename from tests/dart2js_2/empty_method_test.dart
rename to tests/web_2/empty_method_test.dart
diff --git a/tests/dart2js_2/eof_line_ending_test.dart b/tests/web_2/eof_line_ending_test.dart
similarity index 100%
rename from tests/dart2js_2/eof_line_ending_test.dart
rename to tests/web_2/eof_line_ending_test.dart
diff --git a/tests/dart2js_2/equals_test.dart b/tests/web_2/equals_test.dart
similarity index 100%
rename from tests/dart2js_2/equals_test.dart
rename to tests/web_2/equals_test.dart
diff --git a/tests/dart2js_2/expose_this1_test.dart b/tests/web_2/expose_this1_test.dart
similarity index 100%
rename from tests/dart2js_2/expose_this1_test.dart
rename to tests/web_2/expose_this1_test.dart
diff --git a/tests/dart2js_2/expose_this2_test.dart b/tests/web_2/expose_this2_test.dart
similarity index 100%
rename from tests/dart2js_2/expose_this2_test.dart
rename to tests/web_2/expose_this2_test.dart
diff --git a/tests/dart2js_2/field_access_test.dart b/tests/web_2/field_access_test.dart
similarity index 100%
rename from tests/dart2js_2/field_access_test.dart
rename to tests/web_2/field_access_test.dart
diff --git a/tests/dart2js_2/field_in_constructor_test.dart b/tests/web_2/field_in_constructor_test.dart
similarity index 100%
rename from tests/dart2js_2/field_in_constructor_test.dart
rename to tests/web_2/field_in_constructor_test.dart
diff --git a/tests/dart2js_2/field_initializer_test.dart b/tests/web_2/field_initializer_test.dart
similarity index 100%
rename from tests/dart2js_2/field_initializer_test.dart
rename to tests/web_2/field_initializer_test.dart
diff --git a/tests/dart2js_2/fields_test.dart b/tests/web_2/fields_test.dart
similarity index 100%
rename from tests/dart2js_2/fields_test.dart
rename to tests/web_2/fields_test.dart
diff --git a/tests/dart2js_2/first_class_types_hashcode_test.dart b/tests/web_2/first_class_types_hashcode_test.dart
similarity index 100%
rename from tests/dart2js_2/first_class_types_hashcode_test.dart
rename to tests/web_2/first_class_types_hashcode_test.dart
diff --git a/tests/dart2js_2/fixed_type_argument_implements_test.dart b/tests/web_2/fixed_type_argument_implements_test.dart
similarity index 100%
rename from tests/dart2js_2/fixed_type_argument_implements_test.dart
rename to tests/web_2/fixed_type_argument_implements_test.dart
diff --git a/tests/dart2js_2/fixed_type_argument_test.dart b/tests/web_2/fixed_type_argument_test.dart
similarity index 100%
rename from tests/dart2js_2/fixed_type_argument_test.dart
rename to tests/web_2/fixed_type_argument_test.dart
diff --git a/tests/dart2js_2/foo7_test.dart b/tests/web_2/foo7_test.dart
similarity index 100%
rename from tests/dart2js_2/foo7_test.dart
rename to tests/web_2/foo7_test.dart
diff --git a/tests/dart2js_2/for_in_test.dart b/tests/web_2/for_in_test.dart
similarity index 100%
rename from tests/dart2js_2/for_in_test.dart
rename to tests/web_2/for_in_test.dart
diff --git a/tests/dart2js_2/for_test.dart b/tests/web_2/for_test.dart
similarity index 100%
rename from tests/dart2js_2/for_test.dart
rename to tests/web_2/for_test.dart
diff --git a/tests/dart2js_2/function_parameters_test.dart b/tests/web_2/function_parameters_test.dart
similarity index 100%
rename from tests/dart2js_2/function_parameters_test.dart
rename to tests/web_2/function_parameters_test.dart
diff --git a/tests/dart2js_2/function_typed_arguments_test.dart b/tests/web_2/function_typed_arguments_test.dart
similarity index 100%
rename from tests/dart2js_2/function_typed_arguments_test.dart
rename to tests/web_2/function_typed_arguments_test.dart
diff --git a/tests/dart2js_2/generator_elided_parameter_test.dart b/tests/web_2/generator_elided_parameter_test.dart
similarity index 100%
rename from tests/dart2js_2/generator_elided_parameter_test.dart
rename to tests/web_2/generator_elided_parameter_test.dart
diff --git a/tests/dart2js_2/generic_bounds_test.dart b/tests/web_2/generic_bounds_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_bounds_test.dart
rename to tests/web_2/generic_bounds_test.dart
diff --git a/tests/dart2js_2/generic_class_is_test.dart b/tests/web_2/generic_class_is_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_class_is_test.dart
rename to tests/web_2/generic_class_is_test.dart
diff --git a/tests/dart2js_2/generic_in_mixin_field_test.dart b/tests/web_2/generic_in_mixin_field_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_in_mixin_field_test.dart
rename to tests/web_2/generic_in_mixin_field_test.dart
diff --git a/tests/dart2js_2/generic_in_redirect_test.dart b/tests/web_2/generic_in_redirect_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_in_redirect_test.dart
rename to tests/web_2/generic_in_redirect_test.dart
diff --git a/tests/dart2js_2/generic_in_super_test.dart b/tests/web_2/generic_in_super_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_in_super_test.dart
rename to tests/web_2/generic_in_super_test.dart
diff --git a/tests/dart2js_2/generic_instantiation1_test.dart b/tests/web_2/generic_instantiation1_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_instantiation1_test.dart
rename to tests/web_2/generic_instantiation1_test.dart
diff --git a/tests/dart2js_2/generic_instantiation2_test.dart b/tests/web_2/generic_instantiation2_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_instantiation2_test.dart
rename to tests/web_2/generic_instantiation2_test.dart
diff --git a/tests/dart2js_2/generic_instantiation3_test.dart b/tests/web_2/generic_instantiation3_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_instantiation3_test.dart
rename to tests/web_2/generic_instantiation3_test.dart
diff --git a/tests/dart2js_2/generic_instantiation4_test.dart b/tests/web_2/generic_instantiation4_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_instantiation4_test.dart
rename to tests/web_2/generic_instantiation4_test.dart
diff --git a/tests/dart2js_2/generic_method_dynamic_is_test.dart b/tests/web_2/generic_method_dynamic_is_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_method_dynamic_is_test.dart
rename to tests/web_2/generic_method_dynamic_is_test.dart
diff --git a/tests/dart2js_2/generic_method_dynamic_type_test.dart b/tests/web_2/generic_method_dynamic_type_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_method_dynamic_type_test.dart
rename to tests/web_2/generic_method_dynamic_type_test.dart
diff --git a/tests/dart2js_2/generic_method_static_is_test.dart b/tests/web_2/generic_method_static_is_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_method_static_is_test.dart
rename to tests/web_2/generic_method_static_is_test.dart
diff --git a/tests/dart2js_2/generic_type_error_message_test.dart b/tests/web_2/generic_type_error_message_test.dart
similarity index 100%
rename from tests/dart2js_2/generic_type_error_message_test.dart
rename to tests/web_2/generic_type_error_message_test.dart
diff --git a/tests/dart2js_2/generics_factories_test.dart b/tests/web_2/generics_factories_test.dart
similarity index 100%
rename from tests/dart2js_2/generics_factories_test.dart
rename to tests/web_2/generics_factories_test.dart
diff --git a/tests/dart2js_2/generics_is_check1_test.dart b/tests/web_2/generics_is_check1_test.dart
similarity index 100%
rename from tests/dart2js_2/generics_is_check1_test.dart
rename to tests/web_2/generics_is_check1_test.dart
diff --git a/tests/dart2js_2/getter_element_test.dart b/tests/web_2/getter_element_test.dart
similarity index 100%
rename from tests/dart2js_2/getter_element_test.dart
rename to tests/web_2/getter_element_test.dart
diff --git a/tests/dart2js_2/getters_setters_test.dart b/tests/web_2/getters_setters_test.dart
similarity index 100%
rename from tests/dart2js_2/getters_setters_test.dart
rename to tests/web_2/getters_setters_test.dart
diff --git a/tests/dart2js_2/hash_code_test.dart b/tests/web_2/hash_code_test.dart
similarity index 100%
rename from tests/dart2js_2/hash_code_test.dart
rename to tests/web_2/hash_code_test.dart
diff --git a/tests/dart2js_2/identical_trace_test.dart b/tests/web_2/identical_trace_test.dart
similarity index 100%
rename from tests/dart2js_2/identical_trace_test.dart
rename to tests/web_2/identical_trace_test.dart
diff --git a/tests/dart2js_2/if_in_loop_test.dart b/tests/web_2/if_in_loop_test.dart
similarity index 100%
rename from tests/dart2js_2/if_in_loop_test.dart
rename to tests/web_2/if_in_loop_test.dart
diff --git a/tests/dart2js_2/if_null2_test.dart b/tests/web_2/if_null2_test.dart
similarity index 92%
rename from tests/dart2js_2/if_null2_test.dart
rename to tests/web_2/if_null2_test.dart
index 04e1149..c423457 100644
--- a/tests/dart2js_2/if_null2_test.dart
+++ b/tests/web_2/if_null2_test.dart
@@ -5,7 +5,7 @@
 // @dart = 2.7
 
 /// Regression for #24134: inference was not tracking ??= correctly.
-library dart2js_2.if_null2_test;
+library web_2.if_null2_test;
 
 import "package:expect/expect.dart";
 
diff --git a/tests/dart2js_2/if_null3_test.dart b/tests/web_2/if_null3_test.dart
similarity index 93%
rename from tests/dart2js_2/if_null3_test.dart
rename to tests/web_2/if_null3_test.dart
index 29c4c77..0344b9f 100644
--- a/tests/dart2js_2/if_null3_test.dart
+++ b/tests/web_2/if_null3_test.dart
@@ -5,7 +5,7 @@
 // @dart = 2.7
 
 /// Regression for #24135: inference was not tracking `[]??=` correctly.
-library dart2js_2.if_null3_test;
+library web_2.if_null3_test;
 
 import "package:expect/expect.dart";
 
diff --git a/tests/dart2js_2/if_null_test.dart b/tests/web_2/if_null_test.dart
similarity index 100%
rename from tests/dart2js_2/if_null_test.dart
rename to tests/web_2/if_null_test.dart
diff --git a/tests/dart2js_2/if_test.dart b/tests/web_2/if_test.dart
similarity index 100%
rename from tests/dart2js_2/if_test.dart
rename to tests/web_2/if_test.dart
diff --git a/tests/dart2js_2/index_test.dart b/tests/web_2/index_test.dart
similarity index 100%
rename from tests/dart2js_2/index_test.dart
rename to tests/web_2/index_test.dart
diff --git a/tests/dart2js_2/indirect_type_literal_test.dart b/tests/web_2/indirect_type_literal_test.dart
similarity index 100%
rename from tests/dart2js_2/indirect_type_literal_test.dart
rename to tests/web_2/indirect_type_literal_test.dart
diff --git a/tests/dart2js_2/inference_super_set_call_test.dart b/tests/web_2/inference_super_set_call_test.dart
similarity index 100%
rename from tests/dart2js_2/inference_super_set_call_test.dart
rename to tests/web_2/inference_super_set_call_test.dart
diff --git a/tests/dart2js_2/inferrer_is_int_test.dart b/tests/web_2/inferrer_is_int_test.dart
similarity index 100%
rename from tests/dart2js_2/inferrer_is_int_test.dart
rename to tests/web_2/inferrer_is_int_test.dart
diff --git a/tests/dart2js_2/injected_cast_test.dart b/tests/web_2/injected_cast_test.dart
similarity index 100%
rename from tests/dart2js_2/injected_cast_test.dart
rename to tests/web_2/injected_cast_test.dart
diff --git a/tests/dart2js_2/inline_generic_test.dart b/tests/web_2/inline_generic_test.dart
similarity index 100%
rename from tests/dart2js_2/inline_generic_test.dart
rename to tests/web_2/inline_generic_test.dart
diff --git a/tests/dart2js_2/inline_position_crash_source.dart b/tests/web_2/inline_position_crash_source.dart
similarity index 100%
rename from tests/dart2js_2/inline_position_crash_source.dart
rename to tests/web_2/inline_position_crash_source.dart
diff --git a/tests/dart2js_2/inline_position_crash_test.dart b/tests/web_2/inline_position_crash_test.dart
similarity index 100%
rename from tests/dart2js_2/inline_position_crash_test.dart
rename to tests/web_2/inline_position_crash_test.dart
diff --git a/tests/dart2js_2/instantiation_stub_2_test.dart b/tests/web_2/instantiation_stub_2_test.dart
similarity index 100%
rename from tests/dart2js_2/instantiation_stub_2_test.dart
rename to tests/web_2/instantiation_stub_2_test.dart
diff --git a/tests/dart2js_2/instantiation_stub_test.dart b/tests/web_2/instantiation_stub_test.dart
similarity index 100%
rename from tests/dart2js_2/instantiation_stub_test.dart
rename to tests/web_2/instantiation_stub_test.dart
diff --git a/tests/dart2js_2/int_index_test.dart b/tests/web_2/int_index_test.dart
similarity index 100%
rename from tests/dart2js_2/int_index_test.dart
rename to tests/web_2/int_index_test.dart
diff --git a/tests/dart2js_2/interceptor_named_arguments_test.dart b/tests/web_2/interceptor_named_arguments_test.dart
similarity index 100%
rename from tests/dart2js_2/interceptor_named_arguments_test.dart
rename to tests/web_2/interceptor_named_arguments_test.dart
diff --git a/tests/dart2js_2/interface_type_optimization_test.dart b/tests/web_2/interface_type_optimization_test.dart
similarity index 100%
rename from tests/dart2js_2/interface_type_optimization_test.dart
rename to tests/web_2/interface_type_optimization_test.dart
diff --git a/tests/dart2js_2/internal/40296_test.dart b/tests/web_2/internal/40296_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/40296_test.dart
rename to tests/web_2/internal/40296_test.dart
diff --git a/tests/dart2js_2/internal/deferred/deferred_custom_loader_lib.dart b/tests/web_2/internal/deferred/deferred_custom_loader_lib.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/deferred_custom_loader_lib.dart
rename to tests/web_2/internal/deferred/deferred_custom_loader_lib.dart
diff --git a/tests/dart2js_2/internal/deferred/deferred_custom_loader_test.dart b/tests/web_2/internal/deferred/deferred_custom_loader_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/deferred_custom_loader_test.dart
rename to tests/web_2/internal/deferred/deferred_custom_loader_test.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_lib1.dart b/tests/web_2/internal/deferred/load_in_correct_order_lib1.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_lib1.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_lib1.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_lib2.dart b/tests/web_2/internal/deferred/load_in_correct_order_lib2.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_lib2.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_lib2.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_lib3.dart b/tests/web_2/internal/deferred/load_in_correct_order_lib3.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_lib3.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_lib3.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_lib4.dart b/tests/web_2/internal/deferred/load_in_correct_order_lib4.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_lib4.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_lib4.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_lib5.dart b/tests/web_2/internal/deferred/load_in_correct_order_lib5.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_lib5.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_lib5.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_lib6.dart b/tests/web_2/internal/deferred/load_in_correct_order_lib6.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_lib6.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_lib6.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_lib7.dart b/tests/web_2/internal/deferred/load_in_correct_order_lib7.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_lib7.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_lib7.dart
diff --git a/tests/dart2js_2/internal/deferred/load_in_correct_order_test.dart b/tests/web_2/internal/deferred/load_in_correct_order_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/deferred/load_in_correct_order_test.dart
rename to tests/web_2/internal/deferred/load_in_correct_order_test.dart
diff --git a/tests/dart2js_2/internal/extract_type_arguments_1_test.dart b/tests/web_2/internal/extract_type_arguments_1_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/extract_type_arguments_1_test.dart
rename to tests/web_2/internal/extract_type_arguments_1_test.dart
diff --git a/tests/dart2js_2/internal/extract_type_arguments_2_test.dart b/tests/web_2/internal/extract_type_arguments_2_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/extract_type_arguments_2_test.dart
rename to tests/web_2/internal/extract_type_arguments_2_test.dart
diff --git a/tests/dart2js_2/internal/extract_type_arguments_3_test.dart b/tests/web_2/internal/extract_type_arguments_3_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/extract_type_arguments_3_test.dart
rename to tests/web_2/internal/extract_type_arguments_3_test.dart
diff --git a/tests/dart2js_2/internal/lax_runtime_type_closure_to_string1_test.dart b/tests/web_2/internal/lax_runtime_type_closure_to_string1_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/lax_runtime_type_closure_to_string1_test.dart
rename to tests/web_2/internal/lax_runtime_type_closure_to_string1_test.dart
diff --git a/tests/dart2js_2/internal/lax_runtime_type_closure_to_string2_test.dart b/tests/web_2/internal/lax_runtime_type_closure_to_string2_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/lax_runtime_type_closure_to_string2_test.dart
rename to tests/web_2/internal/lax_runtime_type_closure_to_string2_test.dart
diff --git a/tests/dart2js_2/internal/lax_runtime_type_closure_to_string7_test.dart b/tests/web_2/internal/lax_runtime_type_closure_to_string7_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/lax_runtime_type_closure_to_string7_test.dart
rename to tests/web_2/internal/lax_runtime_type_closure_to_string7_test.dart
diff --git a/tests/dart2js_2/internal/mock_libraries.dart b/tests/web_2/internal/mock_libraries.dart
similarity index 100%
rename from tests/dart2js_2/internal/mock_libraries.dart
rename to tests/web_2/internal/mock_libraries.dart
diff --git a/tests/dart2js_2/internal/platform_environment_variable1_test.dart b/tests/web_2/internal/platform_environment_variable1_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/platform_environment_variable1_test.dart
rename to tests/web_2/internal/platform_environment_variable1_test.dart
diff --git a/tests/dart2js_2/internal/platform_environment_variable2_test.dart b/tests/web_2/internal/platform_environment_variable2_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/platform_environment_variable2_test.dart
rename to tests/web_2/internal/platform_environment_variable2_test.dart
diff --git a/tests/dart2js_2/internal/rti/bind_test.dart b/tests/web_2/internal/rti/bind_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/bind_test.dart
rename to tests/web_2/internal/rti/bind_test.dart
diff --git a/tests/dart2js_2/internal/rti/bound_environment_test.dart b/tests/web_2/internal/rti/bound_environment_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/bound_environment_test.dart
rename to tests/web_2/internal/rti/bound_environment_test.dart
diff --git a/tests/dart2js_2/internal/rti/canonical_recipe_test.dart b/tests/web_2/internal/rti/canonical_recipe_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/canonical_recipe_test.dart
rename to tests/web_2/internal/rti/canonical_recipe_test.dart
diff --git a/tests/dart2js_2/internal/rti/class_environment_test.dart b/tests/web_2/internal/rti/class_environment_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/class_environment_test.dart
rename to tests/web_2/internal/rti/class_environment_test.dart
diff --git a/tests/dart2js_2/internal/rti/constant_type_test.dart b/tests/web_2/internal/rti/constant_type_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/constant_type_test.dart
rename to tests/web_2/internal/rti/constant_type_test.dart
diff --git a/tests/dart2js_2/internal/rti/recipe_syntax_test.dart b/tests/web_2/internal/rti/recipe_syntax_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/recipe_syntax_test.dart
rename to tests/web_2/internal/rti/recipe_syntax_test.dart
diff --git a/tests/dart2js/internal/rti/required_named_parameters_test.dart b/tests/web_2/internal/rti/required_named_parameters_test.dart
similarity index 100%
copy from tests/dart2js/internal/rti/required_named_parameters_test.dart
copy to tests/web_2/internal/rti/required_named_parameters_test.dart
diff --git a/tests/dart2js_2/internal/rti/runtime_type_1_test.dart b/tests/web_2/internal/rti/runtime_type_1_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/runtime_type_1_test.dart
rename to tests/web_2/internal/rti/runtime_type_1_test.dart
diff --git a/tests/dart2js_2/internal/rti/runtime_type_2_test.dart b/tests/web_2/internal/rti/runtime_type_2_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/runtime_type_2_test.dart
rename to tests/web_2/internal/rti/runtime_type_2_test.dart
diff --git a/tests/dart2js_2/internal/rti/runtime_type_3_test.dart b/tests/web_2/internal/rti/runtime_type_3_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/runtime_type_3_test.dart
rename to tests/web_2/internal/rti/runtime_type_3_test.dart
diff --git a/tests/dart2js_2/internal/rti/simple_2_test.dart b/tests/web_2/internal/rti/simple_2_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/simple_2_test.dart
rename to tests/web_2/internal/rti/simple_2_test.dart
diff --git a/tests/dart2js_2/internal/rti/simple_is_function_type2_test.dart b/tests/web_2/internal/rti/simple_is_function_type2_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/simple_is_function_type2_test.dart
rename to tests/web_2/internal/rti/simple_is_function_type2_test.dart
diff --git a/tests/dart2js_2/internal/rti/simple_is_function_type3_test.dart b/tests/web_2/internal/rti/simple_is_function_type3_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/simple_is_function_type3_test.dart
rename to tests/web_2/internal/rti/simple_is_function_type3_test.dart
diff --git a/tests/dart2js_2/internal/rti/simple_is_function_type_test.dart b/tests/web_2/internal/rti/simple_is_function_type_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/simple_is_function_type_test.dart
rename to tests/web_2/internal/rti/simple_is_function_type_test.dart
diff --git a/tests/dart2js_2/internal/rti/simple_is_test.dart b/tests/web_2/internal/rti/simple_is_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/simple_is_test.dart
rename to tests/web_2/internal/rti/simple_is_test.dart
diff --git a/tests/dart2js_2/internal/rti/simple_test.dart b/tests/web_2/internal/rti/simple_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/simple_test.dart
rename to tests/web_2/internal/rti/simple_test.dart
diff --git a/tests/dart2js_2/internal/rti/simple_type_bound_test.dart b/tests/web_2/internal/rti/simple_type_bound_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/simple_type_bound_test.dart
rename to tests/web_2/internal/rti/simple_type_bound_test.dart
diff --git a/tests/dart2js_2/internal/rti/subtype_test.dart b/tests/web_2/internal/rti/subtype_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/subtype_test.dart
rename to tests/web_2/internal/rti/subtype_test.dart
diff --git a/tests/dart2js_2/internal/rti/subtype_utils.dart b/tests/web_2/internal/rti/subtype_utils.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/subtype_utils.dart
rename to tests/web_2/internal/rti/subtype_utils.dart
diff --git a/tests/dart2js_2/internal/rti/variance_subtype_test.dart b/tests/web_2/internal/rti/variance_subtype_test.dart
similarity index 100%
rename from tests/dart2js_2/internal/rti/variance_subtype_test.dart
rename to tests/web_2/internal/rti/variance_subtype_test.dart
diff --git a/tests/dart2js_2/invalid_annotation_test.dart b/tests/web_2/invalid_annotation_test.dart
similarity index 100%
rename from tests/dart2js_2/invalid_annotation_test.dart
rename to tests/web_2/invalid_annotation_test.dart
diff --git a/tests/dart2js_2/invoke_dynamic_test.dart b/tests/web_2/invoke_dynamic_test.dart
similarity index 100%
rename from tests/dart2js_2/invoke_dynamic_test.dart
rename to tests/web_2/invoke_dynamic_test.dart
diff --git a/tests/dart2js_2/is_check_instanceof_test.dart b/tests/web_2/is_check_instanceof_test.dart
similarity index 100%
rename from tests/dart2js_2/is_check_instanceof_test.dart
rename to tests/web_2/is_check_instanceof_test.dart
diff --git a/tests/dart2js_2/is_operator_test.dart b/tests/web_2/is_operator_test.dart
similarity index 100%
rename from tests/dart2js_2/is_operator_test.dart
rename to tests/web_2/is_operator_test.dart
diff --git a/tests/dart2js_2/issue36562_test.dart b/tests/web_2/issue36562_test.dart
similarity index 100%
rename from tests/dart2js_2/issue36562_test.dart
rename to tests/web_2/issue36562_test.dart
diff --git a/tests/dart2js_2/js_array_index_error_test.dart b/tests/web_2/js_array_index_error_test.dart
similarity index 100%
rename from tests/dart2js_2/js_array_index_error_test.dart
rename to tests/web_2/js_array_index_error_test.dart
diff --git a/tests/dart2js_2/js_array_removeLast_error_test.dart b/tests/web_2/js_array_removeLast_error_test.dart
similarity index 100%
rename from tests/dart2js_2/js_array_removeLast_error_test.dart
rename to tests/web_2/js_array_removeLast_error_test.dart
diff --git a/tests/dart2js_2/js_array_sort_default_test.dart b/tests/web_2/js_array_sort_default_test.dart
similarity index 100%
rename from tests/dart2js_2/js_array_sort_default_test.dart
rename to tests/web_2/js_array_sort_default_test.dart
diff --git a/tests/dart2js_2/js_interop_cast_test.dart b/tests/web_2/js_interop_cast_test.dart
similarity index 100%
rename from tests/dart2js_2/js_interop_cast_test.dart
rename to tests/web_2/js_interop_cast_test.dart
diff --git a/tests/dart2js_2/js_interop_implements_test.dart b/tests/web_2/js_interop_implements_test.dart
similarity index 100%
rename from tests/dart2js_2/js_interop_implements_test.dart
rename to tests/web_2/js_interop_implements_test.dart
diff --git a/tests/dart2js_2/js_interop_no_elide_optional_arg_test.dart b/tests/web_2/js_interop_no_elide_optional_arg_test.dart
similarity index 100%
rename from tests/dart2js_2/js_interop_no_elide_optional_arg_test.dart
rename to tests/web_2/js_interop_no_elide_optional_arg_test.dart
diff --git a/tests/dart2js_2/js_interop_optional_arg_test.dart b/tests/web_2/js_interop_optional_arg_test.dart
similarity index 100%
rename from tests/dart2js_2/js_interop_optional_arg_test.dart
rename to tests/web_2/js_interop_optional_arg_test.dart
diff --git a/tests/dart2js_2/js_interop_test.dart b/tests/web_2/js_interop_test.dart
similarity index 100%
rename from tests/dart2js_2/js_interop_test.dart
rename to tests/web_2/js_interop_test.dart
diff --git a/tests/dart2js_2/jsinterop_test.dart b/tests/web_2/jsinterop_test.dart
similarity index 100%
rename from tests/dart2js_2/jsinterop_test.dart
rename to tests/web_2/jsinterop_test.dart
diff --git a/tests/dart2js_2/label_test.dart b/tests/web_2/label_test.dart
similarity index 100%
rename from tests/dart2js_2/label_test.dart
rename to tests/web_2/label_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals1_test.dart b/tests/web_2/lax_runtime_type_closure_equals1_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals1_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals1_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals2_test.dart b/tests/web_2/lax_runtime_type_closure_equals2_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals2_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals2_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals3_test.dart b/tests/web_2/lax_runtime_type_closure_equals3_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals3_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals3_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals4_test.dart b/tests/web_2/lax_runtime_type_closure_equals4_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals4_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals4_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals5_test.dart b/tests/web_2/lax_runtime_type_closure_equals5_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals5_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals5_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals6_test.dart b/tests/web_2/lax_runtime_type_closure_equals6_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals6_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals6_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals7_test.dart b/tests/web_2/lax_runtime_type_closure_equals7_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals7_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals7_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_equals8_test.dart b/tests/web_2/lax_runtime_type_closure_equals8_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_equals8_test.dart
rename to tests/web_2/lax_runtime_type_closure_equals8_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_to_string3_test.dart b/tests/web_2/lax_runtime_type_closure_to_string3_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_to_string3_test.dart
rename to tests/web_2/lax_runtime_type_closure_to_string3_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_to_string4_test.dart b/tests/web_2/lax_runtime_type_closure_to_string4_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_to_string4_test.dart
rename to tests/web_2/lax_runtime_type_closure_to_string4_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_to_string5_test.dart b/tests/web_2/lax_runtime_type_closure_to_string5_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_to_string5_test.dart
rename to tests/web_2/lax_runtime_type_closure_to_string5_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_closure_to_string6_test.dart b/tests/web_2/lax_runtime_type_closure_to_string6_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_closure_to_string6_test.dart
rename to tests/web_2/lax_runtime_type_closure_to_string6_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_equals1_test.dart b/tests/web_2/lax_runtime_type_equals1_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_equals1_test.dart
rename to tests/web_2/lax_runtime_type_equals1_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_equals2_test.dart b/tests/web_2/lax_runtime_type_equals2_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_equals2_test.dart
rename to tests/web_2/lax_runtime_type_equals2_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_equals3_test.dart b/tests/web_2/lax_runtime_type_equals3_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_equals3_test.dart
rename to tests/web_2/lax_runtime_type_equals3_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_equals4_test.dart b/tests/web_2/lax_runtime_type_equals4_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_equals4_test.dart
rename to tests/web_2/lax_runtime_type_equals4_test.dart
diff --git a/tests/dart2js_2/lax_runtime_type_instantiate_to_string_test.dart b/tests/web_2/lax_runtime_type_instantiate_to_string_test.dart
similarity index 100%
rename from tests/dart2js_2/lax_runtime_type_instantiate_to_string_test.dart
rename to tests/web_2/lax_runtime_type_instantiate_to_string_test.dart
diff --git a/tests/dart2js_2/list_factory_test.dart b/tests/web_2/list_factory_test.dart
similarity index 100%
rename from tests/dart2js_2/list_factory_test.dart
rename to tests/web_2/list_factory_test.dart
diff --git a/tests/dart2js_2/literal_string_juxtaposition_test.dart b/tests/web_2/literal_string_juxtaposition_test.dart
similarity index 100%
rename from tests/dart2js_2/literal_string_juxtaposition_test.dart
rename to tests/web_2/literal_string_juxtaposition_test.dart
diff --git a/tests/dart2js_2/literals_test.dart b/tests/web_2/literals_test.dart
similarity index 100%
rename from tests/dart2js_2/literals_test.dart
rename to tests/web_2/literals_test.dart
diff --git a/tests/dart2js_2/local_function_call2_test.dart b/tests/web_2/local_function_call2_test.dart
similarity index 100%
rename from tests/dart2js_2/local_function_call2_test.dart
rename to tests/web_2/local_function_call2_test.dart
diff --git a/tests/dart2js_2/local_function_call_test.dart b/tests/web_2/local_function_call_test.dart
similarity index 100%
rename from tests/dart2js_2/local_function_call_test.dart
rename to tests/web_2/local_function_call_test.dart
diff --git a/tests/dart2js_2/local_function_generic_strong_test.dart b/tests/web_2/local_function_generic_strong_test.dart
similarity index 100%
rename from tests/dart2js_2/local_function_generic_strong_test.dart
rename to tests/web_2/local_function_generic_strong_test.dart
diff --git a/tests/dart2js_2/local_function_signatures_strong_test.dart b/tests/web_2/local_function_signatures_strong_test.dart
similarity index 100%
rename from tests/dart2js_2/local_function_signatures_strong_test.dart
rename to tests/web_2/local_function_signatures_strong_test.dart
diff --git a/tests/dart2js_2/local_function_signatures_test.dart b/tests/web_2/local_function_signatures_test.dart
similarity index 100%
rename from tests/dart2js_2/local_function_signatures_test.dart
rename to tests/web_2/local_function_signatures_test.dart
diff --git a/tests/dart2js_2/local_signature_test.dart b/tests/web_2/local_signature_test.dart
similarity index 100%
rename from tests/dart2js_2/local_signature_test.dart
rename to tests/web_2/local_signature_test.dart
diff --git a/tests/dart2js_2/locals_test.dart b/tests/web_2/locals_test.dart
similarity index 100%
rename from tests/dart2js_2/locals_test.dart
rename to tests/web_2/locals_test.dart
diff --git a/tests/dart2js_2/logical_and_test.dart b/tests/web_2/logical_and_test.dart
similarity index 100%
rename from tests/dart2js_2/logical_and_test.dart
rename to tests/web_2/logical_and_test.dart
diff --git a/tests/dart2js_2/logical_or_test.dart b/tests/web_2/logical_or_test.dart
similarity index 100%
rename from tests/dart2js_2/logical_or_test.dart
rename to tests/web_2/logical_or_test.dart
diff --git a/tests/dart2js_2/loop_if_phi_test.dart b/tests/web_2/loop_if_phi_test.dart
similarity index 100%
rename from tests/dart2js_2/loop_if_phi_test.dart
rename to tests/web_2/loop_if_phi_test.dart
diff --git a/tests/dart2js_2/many_constants_test.dart b/tests/web_2/many_constants_test.dart
similarity index 100%
rename from tests/dart2js_2/many_constants_test.dart
rename to tests/web_2/many_constants_test.dart
diff --git a/tests/dart2js_2/many_fields_test.dart b/tests/web_2/many_fields_test.dart
similarity index 100%
rename from tests/dart2js_2/many_fields_test.dart
rename to tests/web_2/many_fields_test.dart
diff --git a/tests/dart2js_2/many_instantiations_test.dart b/tests/web_2/many_instantiations_test.dart
similarity index 100%
rename from tests/dart2js_2/many_instantiations_test.dart
rename to tests/web_2/many_instantiations_test.dart
diff --git a/tests/dart2js_2/map_to_set_test.dart b/tests/web_2/map_to_set_test.dart
similarity index 100%
rename from tests/dart2js_2/map_to_set_test.dart
rename to tests/web_2/map_to_set_test.dart
diff --git a/tests/dart2js_2/math_lib_prefix_test.dart b/tests/web_2/math_lib_prefix_test.dart
similarity index 100%
rename from tests/dart2js_2/math_lib_prefix_test.dart
rename to tests/web_2/math_lib_prefix_test.dart
diff --git a/tests/dart2js_2/math_lib_test.dart b/tests/web_2/math_lib_test.dart
similarity index 100%
rename from tests/dart2js_2/math_lib_test.dart
rename to tests/web_2/math_lib_test.dart
diff --git a/tests/dart2js_2/member_namespace_test.dart b/tests/web_2/member_namespace_test.dart
similarity index 100%
rename from tests/dart2js_2/member_namespace_test.dart
rename to tests/web_2/member_namespace_test.dart
diff --git a/tests/dart2js_2/method_signatures_strong_test.dart b/tests/web_2/method_signatures_strong_test.dart
similarity index 100%
rename from tests/dart2js_2/method_signatures_strong_test.dart
rename to tests/web_2/method_signatures_strong_test.dart
diff --git a/tests/dart2js_2/method_signatures_test.dart b/tests/web_2/method_signatures_test.dart
similarity index 100%
rename from tests/dart2js_2/method_signatures_test.dart
rename to tests/web_2/method_signatures_test.dart
diff --git a/tests/dart2js_2/minus_zero2_test.dart b/tests/web_2/minus_zero2_test.dart
similarity index 100%
rename from tests/dart2js_2/minus_zero2_test.dart
rename to tests/web_2/minus_zero2_test.dart
diff --git a/tests/dart2js_2/minus_zero_test.dart b/tests/web_2/minus_zero_test.dart
similarity index 100%
rename from tests/dart2js_2/minus_zero_test.dart
rename to tests/web_2/minus_zero_test.dart
diff --git a/tests/dart2js_2/mixin_subtype_test.dart b/tests/web_2/mixin_subtype_test.dart
similarity index 100%
rename from tests/dart2js_2/mixin_subtype_test.dart
rename to tests/web_2/mixin_subtype_test.dart
diff --git a/tests/dart2js_2/mixin_type_variable_test.dart b/tests/web_2/mixin_type_variable_test.dart
similarity index 100%
rename from tests/dart2js_2/mixin_type_variable_test.dart
rename to tests/web_2/mixin_type_variable_test.dart
diff --git a/tests/dart2js_2/multi_global_def_single_instantiation_test.dart b/tests/web_2/multi_global_def_single_instantiation_test.dart
similarity index 100%
rename from tests/dart2js_2/multi_global_def_single_instantiation_test.dart
rename to tests/web_2/multi_global_def_single_instantiation_test.dart
diff --git a/tests/dart2js_2/named_mixin_runtime_type_test.dart b/tests/web_2/named_mixin_runtime_type_test.dart
similarity index 100%
rename from tests/dart2js_2/named_mixin_runtime_type_test.dart
rename to tests/web_2/named_mixin_runtime_type_test.dart
diff --git a/tests/dart2js_2/named_parameter_for_static_test.dart b/tests/web_2/named_parameter_for_static_test.dart
similarity index 100%
rename from tests/dart2js_2/named_parameter_for_static_test.dart
rename to tests/web_2/named_parameter_for_static_test.dart
diff --git a/tests/dart2js_2/named_parameter_test.dart b/tests/web_2/named_parameter_test.dart
similarity index 100%
rename from tests/dart2js_2/named_parameter_test.dart
rename to tests/web_2/named_parameter_test.dart
diff --git a/tests/dart2js_2/nan_negate_test.dart b/tests/web_2/nan_negate_test.dart
similarity index 100%
rename from tests/dart2js_2/nan_negate_test.dart
rename to tests/web_2/nan_negate_test.dart
diff --git a/tests/dart2js_2/native/abstract_class_test.dart b/tests/web_2/native/abstract_class_test.dart
similarity index 100%
rename from tests/dart2js_2/native/abstract_class_test.dart
rename to tests/web_2/native/abstract_class_test.dart
diff --git a/tests/dart2js_2/native/bound_closure_test.dart b/tests/web_2/native/bound_closure_test.dart
similarity index 100%
rename from tests/dart2js_2/native/bound_closure_test.dart
rename to tests/web_2/native/bound_closure_test.dart
diff --git a/tests/dart2js_2/native/browser_compat_1_prepatched_test.dart b/tests/web_2/native/browser_compat_1_prepatched_test.dart
similarity index 100%
rename from tests/dart2js_2/native/browser_compat_1_prepatched_test.dart
rename to tests/web_2/native/browser_compat_1_prepatched_test.dart
diff --git a/tests/dart2js_2/native/browser_compat_1_unpatched_test.dart b/tests/web_2/native/browser_compat_1_unpatched_test.dart
similarity index 100%
rename from tests/dart2js_2/native/browser_compat_1_unpatched_test.dart
rename to tests/web_2/native/browser_compat_1_unpatched_test.dart
diff --git a/tests/dart2js_2/native/browser_compat_2_test.dart b/tests/web_2/native/browser_compat_2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/browser_compat_2_test.dart
rename to tests/web_2/native/browser_compat_2_test.dart
diff --git a/tests/dart2js_2/native/catch_javascript_null_stack_trace_test.dart b/tests/web_2/native/catch_javascript_null_stack_trace_test.dart
similarity index 100%
rename from tests/dart2js_2/native/catch_javascript_null_stack_trace_test.dart
rename to tests/web_2/native/catch_javascript_null_stack_trace_test.dart
diff --git a/tests/dart2js_2/native/compiler_test_internals.dart b/tests/web_2/native/compiler_test_internals.dart
similarity index 100%
rename from tests/dart2js_2/native/compiler_test_internals.dart
rename to tests/web_2/native/compiler_test_internals.dart
diff --git a/tests/dart2js_2/native/compute_this_script_test.dart b/tests/web_2/native/compute_this_script_test.dart
similarity index 100%
rename from tests/dart2js_2/native/compute_this_script_test.dart
rename to tests/web_2/native/compute_this_script_test.dart
diff --git a/tests/dart2js_2/native/core_type_check_native_test.dart b/tests/web_2/native/core_type_check_native_test.dart
similarity index 100%
rename from tests/dart2js_2/native/core_type_check_native_test.dart
rename to tests/web_2/native/core_type_check_native_test.dart
diff --git a/tests/dart2js_2/native/dart2js_native.status b/tests/web_2/native/dart2js_native.status
similarity index 100%
rename from tests/dart2js_2/native/dart2js_native.status
rename to tests/web_2/native/dart2js_native.status
diff --git a/tests/dart2js_2/native/dispatch_property_initialization_test.dart b/tests/web_2/native/dispatch_property_initialization_test.dart
similarity index 100%
rename from tests/dart2js_2/native/dispatch_property_initialization_test.dart
rename to tests/web_2/native/dispatch_property_initialization_test.dart
diff --git a/tests/dart2js_2/native/downcast_test.dart b/tests/web_2/native/downcast_test.dart
similarity index 100%
rename from tests/dart2js_2/native/downcast_test.dart
rename to tests/web_2/native/downcast_test.dart
diff --git a/tests/dart2js_2/native/error_safeToString_test.dart b/tests/web_2/native/error_safeToString_test.dart
similarity index 100%
rename from tests/dart2js_2/native/error_safeToString_test.dart
rename to tests/web_2/native/error_safeToString_test.dart
diff --git a/tests/dart2js_2/native/event_loop_test.dart b/tests/web_2/native/event_loop_test.dart
similarity index 100%
rename from tests/dart2js_2/native/event_loop_test.dart
rename to tests/web_2/native/event_loop_test.dart
diff --git a/tests/dart2js_2/native/fake_thing_2_test.dart b/tests/web_2/native/fake_thing_2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/fake_thing_2_test.dart
rename to tests/web_2/native/fake_thing_2_test.dart
diff --git a/tests/dart2js_2/native/fake_thing_test.dart b/tests/web_2/native/fake_thing_test.dart
similarity index 100%
rename from tests/dart2js_2/native/fake_thing_test.dart
rename to tests/web_2/native/fake_thing_test.dart
diff --git a/tests/dart2js_2/native/field_type2_test.dart b/tests/web_2/native/field_type2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/field_type2_test.dart
rename to tests/web_2/native/field_type2_test.dart
diff --git a/tests/dart2js_2/native/field_type_test.dart b/tests/web_2/native/field_type_test.dart
similarity index 100%
rename from tests/dart2js_2/native/field_type_test.dart
rename to tests/web_2/native/field_type_test.dart
diff --git a/tests/dart2js_2/native/fixup_get_tag_test.dart b/tests/web_2/native/fixup_get_tag_test.dart
similarity index 100%
rename from tests/dart2js_2/native/fixup_get_tag_test.dart
rename to tests/web_2/native/fixup_get_tag_test.dart
diff --git a/tests/dart2js_2/native/foreign_test.dart b/tests/web_2/native/foreign_test.dart
similarity index 100%
rename from tests/dart2js_2/native/foreign_test.dart
rename to tests/web_2/native/foreign_test.dart
diff --git a/tests/dart2js_2/native/hash_code_test.dart b/tests/web_2/native/hash_code_test.dart
similarity index 100%
rename from tests/dart2js_2/native/hash_code_test.dart
rename to tests/web_2/native/hash_code_test.dart
diff --git a/tests/dart2js_2/native/is_check_test.dart b/tests/web_2/native/is_check_test.dart
similarity index 100%
rename from tests/dart2js_2/native/is_check_test.dart
rename to tests/web_2/native/is_check_test.dart
diff --git a/tests/dart2js_2/native/issue9182_test.dart b/tests/web_2/native/issue9182_test.dart
similarity index 100%
rename from tests/dart2js_2/native/issue9182_test.dart
rename to tests/web_2/native/issue9182_test.dart
diff --git a/tests/dart2js_2/native/js_const_test.dart b/tests/web_2/native/js_const_test.dart
similarity index 100%
rename from tests/dart2js_2/native/js_const_test.dart
rename to tests/web_2/native/js_const_test.dart
diff --git a/tests/dart2js_2/native/js_constant_test.dart b/tests/web_2/native/js_constant_test.dart
similarity index 100%
rename from tests/dart2js_2/native/js_constant_test.dart
rename to tests/web_2/native/js_constant_test.dart
diff --git a/tests/dart2js_2/native/jsobject_test.dart b/tests/web_2/native/jsobject_test.dart
similarity index 100%
rename from tests/dart2js_2/native/jsobject_test.dart
rename to tests/web_2/native/jsobject_test.dart
diff --git a/tests/dart2js_2/native/load_elim_refinement_test.dart b/tests/web_2/native/load_elim_refinement_test.dart
similarity index 100%
rename from tests/dart2js_2/native/load_elim_refinement_test.dart
rename to tests/web_2/native/load_elim_refinement_test.dart
diff --git a/tests/dart2js_2/native/name_conflict_test.dart b/tests/web_2/native/name_conflict_test.dart
similarity index 100%
rename from tests/dart2js_2/native/name_conflict_test.dart
rename to tests/web_2/native/name_conflict_test.dart
diff --git a/tests/dart2js_2/native/native_call_arity1_frog_test.dart b/tests/web_2/native/native_call_arity1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_call_arity1_frog_test.dart
rename to tests/web_2/native/native_call_arity1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_call_arity2_frog_test.dart b/tests/web_2/native/native_call_arity2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_call_arity2_frog_test.dart
rename to tests/web_2/native/native_call_arity2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_call_arity3_frog_test.dart b/tests/web_2/native/native_call_arity3_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_call_arity3_frog_test.dart
rename to tests/web_2/native/native_call_arity3_frog_test.dart
diff --git a/tests/dart2js_2/native/native_checked_arguments1_frog_test.dart b/tests/web_2/native/native_checked_arguments1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_checked_arguments1_frog_test.dart
rename to tests/web_2/native/native_checked_arguments1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_checked_fields_frog_test.dart b/tests/web_2/native/native_checked_fields_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_checked_fields_frog_test.dart
rename to tests/web_2/native/native_checked_fields_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_avoids_hidden_name_frog_test.dart b/tests/web_2/native/native_class_avoids_hidden_name_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_avoids_hidden_name_frog_test.dart
rename to tests/web_2/native/native_class_avoids_hidden_name_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_fields_2_test.dart b/tests/web_2/native/native_class_fields_2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_fields_2_test.dart
rename to tests/web_2/native/native_class_fields_2_test.dart
diff --git a/tests/dart2js_2/native/native_class_fields_3_test.dart b/tests/web_2/native/native_class_fields_3_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_fields_3_test.dart
rename to tests/web_2/native/native_class_fields_3_test.dart
diff --git a/tests/dart2js_2/native/native_class_fields_test.dart b/tests/web_2/native/native_class_fields_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_fields_test.dart
rename to tests/web_2/native/native_class_fields_test.dart
diff --git a/tests/dart2js_2/native/native_class_inheritance1_frog_test.dart b/tests/web_2/native/native_class_inheritance1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_inheritance1_frog_test.dart
rename to tests/web_2/native/native_class_inheritance1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_inheritance2_frog_test.dart b/tests/web_2/native/native_class_inheritance2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_inheritance2_frog_test.dart
rename to tests/web_2/native/native_class_inheritance2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_inheritance3_frog_test.dart b/tests/web_2/native/native_class_inheritance3_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_inheritance3_frog_test.dart
rename to tests/web_2/native/native_class_inheritance3_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_inheritance4_frog_test.dart b/tests/web_2/native/native_class_inheritance4_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_inheritance4_frog_test.dart
rename to tests/web_2/native/native_class_inheritance4_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_is_check1_frog_test.dart b/tests/web_2/native/native_class_is_check1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_is_check1_frog_test.dart
rename to tests/web_2/native/native_class_is_check1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_is_check3_frog_test.dart b/tests/web_2/native/native_class_is_check3_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_is_check3_frog_test.dart
rename to tests/web_2/native/native_class_is_check3_frog_test.dart
diff --git a/tests/dart2js_2/native/native_class_with_dart_methods_frog_test.dart b/tests/web_2/native/native_class_with_dart_methods_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_class_with_dart_methods_frog_test.dart
rename to tests/web_2/native/native_class_with_dart_methods_frog_test.dart
diff --git a/tests/dart2js_2/native/native_closure_identity_frog_test.dart b/tests/web_2/native/native_closure_identity_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_closure_identity_frog_test.dart
rename to tests/web_2/native/native_closure_identity_frog_test.dart
diff --git a/tests/dart2js_2/native/native_constructor_name_test.dart b/tests/web_2/native/native_constructor_name_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_constructor_name_test.dart
rename to tests/web_2/native/native_constructor_name_test.dart
diff --git a/tests/dart2js_2/native/native_equals_frog_test.dart b/tests/web_2/native/native_equals_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_equals_frog_test.dart
rename to tests/web_2/native/native_equals_frog_test.dart
diff --git a/tests/dart2js_2/native/native_exception2_test.dart b/tests/web_2/native/native_exception2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_exception2_test.dart
rename to tests/web_2/native/native_exception2_test.dart
diff --git a/tests/dart2js_2/native/native_exception_test.dart b/tests/web_2/native/native_exception_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_exception_test.dart
rename to tests/web_2/native/native_exception_test.dart
diff --git a/tests/dart2js_2/native/native_exceptions1_frog_test.dart b/tests/web_2/native/native_exceptions1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_exceptions1_frog_test.dart
rename to tests/web_2/native/native_exceptions1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_field_invocation2_test.dart b/tests/web_2/native/native_field_invocation2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_invocation2_test.dart
rename to tests/web_2/native/native_field_invocation2_test.dart
diff --git a/tests/dart2js_2/native/native_field_invocation3_test.dart b/tests/web_2/native/native_field_invocation3_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_invocation3_test.dart
rename to tests/web_2/native/native_field_invocation3_test.dart
diff --git a/tests/dart2js_2/native/native_field_invocation4_test.dart b/tests/web_2/native/native_field_invocation4_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_invocation4_test.dart
rename to tests/web_2/native/native_field_invocation4_test.dart
diff --git a/tests/dart2js_2/native/native_field_invocation5_test.dart b/tests/web_2/native/native_field_invocation5_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_invocation5_test.dart
rename to tests/web_2/native/native_field_invocation5_test.dart
diff --git a/tests/dart2js_2/native/native_field_invocation6_test.dart b/tests/web_2/native/native_field_invocation6_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_invocation6_test.dart
rename to tests/web_2/native/native_field_invocation6_test.dart
diff --git a/tests/dart2js_2/native/native_field_invocation_test.dart b/tests/web_2/native/native_field_invocation_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_invocation_test.dart
rename to tests/web_2/native/native_field_invocation_test.dart
diff --git a/tests/dart2js_2/native/native_field_name_test.dart b/tests/web_2/native/native_field_name_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_name_test.dart
rename to tests/web_2/native/native_field_name_test.dart
diff --git a/tests/dart2js_2/native/native_field_optimization_test.dart b/tests/web_2/native/native_field_optimization_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_optimization_test.dart
rename to tests/web_2/native/native_field_optimization_test.dart
diff --git a/tests/dart2js_2/native/native_field_rename_1_frog_test.dart b/tests/web_2/native/native_field_rename_1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_rename_1_frog_test.dart
rename to tests/web_2/native/native_field_rename_1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_field_rename_2_frog_test.dart b/tests/web_2/native/native_field_rename_2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_field_rename_2_frog_test.dart
rename to tests/web_2/native/native_field_rename_2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_method_inlining_test.dart b/tests/web_2/native/native_method_inlining_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_method_inlining_test.dart
rename to tests/web_2/native/native_method_inlining_test.dart
diff --git a/tests/dart2js_2/native/native_method_rename1_frog_test.dart b/tests/web_2/native/native_method_rename1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_method_rename1_frog_test.dart
rename to tests/web_2/native/native_method_rename1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_method_rename2_frog_test.dart b/tests/web_2/native/native_method_rename2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_method_rename2_frog_test.dart
rename to tests/web_2/native/native_method_rename2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_method_rename3_frog_test.dart b/tests/web_2/native/native_method_rename3_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_method_rename3_frog_test.dart
rename to tests/web_2/native/native_method_rename3_frog_test.dart
diff --git a/tests/dart2js_2/native/native_method_with_keyword_name_test.dart b/tests/web_2/native/native_method_with_keyword_name_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_method_with_keyword_name_test.dart
rename to tests/web_2/native/native_method_with_keyword_name_test.dart
diff --git a/tests/dart2js_2/native/native_missing_method1_frog_test.dart b/tests/web_2/native/native_missing_method1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_missing_method1_frog_test.dart
rename to tests/web_2/native/native_missing_method1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_missing_method2_frog_test.dart b/tests/web_2/native/native_missing_method2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_missing_method2_frog_test.dart
rename to tests/web_2/native/native_missing_method2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_mixin_field2_test.dart b/tests/web_2/native/native_mixin_field2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_mixin_field2_test.dart
rename to tests/web_2/native/native_mixin_field2_test.dart
diff --git a/tests/dart2js_2/native/native_mixin_field_test.dart b/tests/web_2/native/native_mixin_field_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_mixin_field_test.dart
rename to tests/web_2/native/native_mixin_field_test.dart
diff --git a/tests/dart2js_2/native/native_mixin_multiple2_test.dart b/tests/web_2/native/native_mixin_multiple2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_mixin_multiple2_test.dart
rename to tests/web_2/native/native_mixin_multiple2_test.dart
diff --git a/tests/dart2js_2/native/native_mixin_multiple3_test.dart b/tests/web_2/native/native_mixin_multiple3_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_mixin_multiple3_test.dart
rename to tests/web_2/native/native_mixin_multiple3_test.dart
diff --git a/tests/dart2js_2/native/native_mixin_multiple_test.dart b/tests/web_2/native/native_mixin_multiple_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_mixin_multiple_test.dart
rename to tests/web_2/native/native_mixin_multiple_test.dart
diff --git a/tests/dart2js_2/native/native_mixin_test.dart b/tests/web_2/native/native_mixin_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_mixin_test.dart
rename to tests/web_2/native/native_mixin_test.dart
diff --git a/tests/dart2js_2/native/native_mixin_with_plain_test.dart b/tests/web_2/native/native_mixin_with_plain_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_mixin_with_plain_test.dart
rename to tests/web_2/native/native_mixin_with_plain_test.dart
diff --git a/tests/dart2js_2/native/native_named_constructors2_frog_test.dart b/tests/web_2/native/native_named_constructors2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_named_constructors2_frog_test.dart
rename to tests/web_2/native/native_named_constructors2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_named_constructors3_frog_test.dart b/tests/web_2/native/native_named_constructors3_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_named_constructors3_frog_test.dart
rename to tests/web_2/native/native_named_constructors3_frog_test.dart
diff --git a/tests/dart2js_2/native/native_no_such_method_exception2_frog_test.dart b/tests/web_2/native/native_no_such_method_exception2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_no_such_method_exception2_frog_test.dart
rename to tests/web_2/native/native_no_such_method_exception2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_no_such_method_exception_frog_test.dart b/tests/web_2/native/native_no_such_method_exception_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_no_such_method_exception_frog_test.dart
rename to tests/web_2/native/native_no_such_method_exception_frog_test.dart
diff --git a/tests/dart2js_2/native/native_novel_html_test.dart b/tests/web_2/native/native_novel_html_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_novel_html_test.dart
rename to tests/web_2/native/native_novel_html_test.dart
diff --git a/tests/dart2js_2/native/native_null_closure_frog_test.dart b/tests/web_2/native/native_null_closure_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_null_closure_frog_test.dart
rename to tests/web_2/native/native_null_closure_frog_test.dart
diff --git a/tests/dart2js_2/native/native_null_frog_test.dart b/tests/web_2/native/native_null_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_null_frog_test.dart
rename to tests/web_2/native/native_null_frog_test.dart
diff --git a/tests/dart2js_2/native/native_property_frog_test.dart b/tests/web_2/native/native_property_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_property_frog_test.dart
rename to tests/web_2/native/native_property_frog_test.dart
diff --git a/tests/dart2js_2/native/native_test.dart b/tests/web_2/native/native_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_test.dart
rename to tests/web_2/native/native_test.dart
diff --git a/tests/dart2js_2/native/native_testing.dart b/tests/web_2/native/native_testing.dart
similarity index 100%
rename from tests/dart2js_2/native/native_testing.dart
rename to tests/web_2/native/native_testing.dart
diff --git a/tests/dart2js_2/native/native_to_string_frog_test.dart b/tests/web_2/native/native_to_string_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_to_string_frog_test.dart
rename to tests/web_2/native/native_to_string_frog_test.dart
diff --git a/tests/dart2js_2/native/native_use_native_name_in_table_frog_test.dart b/tests/web_2/native/native_use_native_name_in_table_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_use_native_name_in_table_frog_test.dart
rename to tests/web_2/native/native_use_native_name_in_table_frog_test.dart
diff --git a/tests/dart2js_2/native/native_window1_frog_test.dart b/tests/web_2/native/native_window1_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_window1_frog_test.dart
rename to tests/web_2/native/native_window1_frog_test.dart
diff --git a/tests/dart2js_2/native/native_window2_frog_test.dart b/tests/web_2/native/native_window2_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_window2_frog_test.dart
rename to tests/web_2/native/native_window2_frog_test.dart
diff --git a/tests/dart2js_2/native/native_wrapping_function3_frog_test.dart b/tests/web_2/native/native_wrapping_function3_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_wrapping_function3_frog_test.dart
rename to tests/web_2/native/native_wrapping_function3_frog_test.dart
diff --git a/tests/dart2js_2/native/native_wrapping_function_frog_test.dart b/tests/web_2/native/native_wrapping_function_frog_test.dart
similarity index 100%
rename from tests/dart2js_2/native/native_wrapping_function_frog_test.dart
rename to tests/web_2/native/native_wrapping_function_frog_test.dart
diff --git a/tests/dart2js_2/native/oddly_named_fields_test.dart b/tests/web_2/native/oddly_named_fields_test.dart
similarity index 100%
rename from tests/dart2js_2/native/oddly_named_fields_test.dart
rename to tests/web_2/native/oddly_named_fields_test.dart
diff --git a/tests/dart2js_2/native/optimization_hints_test.dart b/tests/web_2/native/optimization_hints_test.dart
similarity index 100%
rename from tests/dart2js_2/native/optimization_hints_test.dart
rename to tests/web_2/native/optimization_hints_test.dart
diff --git a/tests/dart2js_2/native/rti_only_native_test.dart b/tests/web_2/native/rti_only_native_test.dart
similarity index 100%
rename from tests/dart2js_2/native/rti_only_native_test.dart
rename to tests/web_2/native/rti_only_native_test.dart
diff --git a/tests/dart2js_2/native/runtimetype_test.dart b/tests/web_2/native/runtimetype_test.dart
similarity index 100%
rename from tests/dart2js_2/native/runtimetype_test.dart
rename to tests/web_2/native/runtimetype_test.dart
diff --git a/tests/dart2js_2/native/static_methods_test.dart b/tests/web_2/native/static_methods_test.dart
similarity index 100%
rename from tests/dart2js_2/native/static_methods_test.dart
rename to tests/web_2/native/static_methods_test.dart
diff --git a/tests/dart2js_2/native/subclassing_1_test.dart b/tests/web_2/native/subclassing_1_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_1_test.dart
rename to tests/web_2/native/subclassing_1_test.dart
diff --git a/tests/dart2js_2/native/subclassing_2_test.dart b/tests/web_2/native/subclassing_2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_2_test.dart
rename to tests/web_2/native/subclassing_2_test.dart
diff --git a/tests/dart2js_2/native/subclassing_3_test.dart b/tests/web_2/native/subclassing_3_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_3_test.dart
rename to tests/web_2/native/subclassing_3_test.dart
diff --git a/tests/dart2js_2/native/subclassing_4_test.dart b/tests/web_2/native/subclassing_4_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_4_test.dart
rename to tests/web_2/native/subclassing_4_test.dart
diff --git a/tests/dart2js_2/native/subclassing_5_test.dart b/tests/web_2/native/subclassing_5_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_5_test.dart
rename to tests/web_2/native/subclassing_5_test.dart
diff --git a/tests/dart2js_2/native/subclassing_constructor_1_test.dart b/tests/web_2/native/subclassing_constructor_1_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_constructor_1_test.dart
rename to tests/web_2/native/subclassing_constructor_1_test.dart
diff --git a/tests/dart2js_2/native/subclassing_constructor_2_test.dart b/tests/web_2/native/subclassing_constructor_2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_constructor_2_test.dart
rename to tests/web_2/native/subclassing_constructor_2_test.dart
diff --git a/tests/dart2js_2/native/subclassing_super_call_test.dart b/tests/web_2/native/subclassing_super_call_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_super_call_test.dart
rename to tests/web_2/native/subclassing_super_call_test.dart
diff --git a/tests/dart2js_2/native/subclassing_super_field_1_test.dart b/tests/web_2/native/subclassing_super_field_1_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_super_field_1_test.dart
rename to tests/web_2/native/subclassing_super_field_1_test.dart
diff --git a/tests/dart2js_2/native/subclassing_super_field_2_test.dart b/tests/web_2/native/subclassing_super_field_2_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_super_field_2_test.dart
rename to tests/web_2/native/subclassing_super_field_2_test.dart
diff --git a/tests/dart2js_2/native/subclassing_type_test.dart b/tests/web_2/native/subclassing_type_test.dart
similarity index 100%
rename from tests/dart2js_2/native/subclassing_type_test.dart
rename to tests/web_2/native/subclassing_type_test.dart
diff --git a/tests/dart2js_2/native/super_call_test.dart b/tests/web_2/native/super_call_test.dart
similarity index 100%
rename from tests/dart2js_2/native/super_call_test.dart
rename to tests/web_2/native/super_call_test.dart
diff --git a/tests/dart2js_2/native/super_property_test.dart b/tests/web_2/native/super_property_test.dart
similarity index 100%
rename from tests/dart2js_2/native/super_property_test.dart
rename to tests/web_2/native/super_property_test.dart
diff --git a/tests/dart2js_2/native/type_error_decode_test.dart b/tests/web_2/native/type_error_decode_test.dart
similarity index 100%
rename from tests/dart2js_2/native/type_error_decode_test.dart
rename to tests/web_2/native/type_error_decode_test.dart
diff --git a/tests/dart2js_2/native/undefined_bailout_test.dart b/tests/web_2/native/undefined_bailout_test.dart
similarity index 100%
rename from tests/dart2js_2/native/undefined_bailout_test.dart
rename to tests/web_2/native/undefined_bailout_test.dart
diff --git a/tests/dart2js_2/native/uninstantiated_type_parameter_test.dart b/tests/web_2/native/uninstantiated_type_parameter_test.dart
similarity index 100%
rename from tests/dart2js_2/native/uninstantiated_type_parameter_test.dart
rename to tests/web_2/native/uninstantiated_type_parameter_test.dart
diff --git a/tests/dart2js_2/new_from_env_test.dart b/tests/web_2/new_from_env_test.dart
similarity index 100%
rename from tests/dart2js_2/new_from_env_test.dart
rename to tests/web_2/new_from_env_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong10_test.dart b/tests/web_2/no_such_method_strong10_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong10_test.dart
rename to tests/web_2/no_such_method_strong10_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong11_lib.dart b/tests/web_2/no_such_method_strong11_lib.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong11_lib.dart
rename to tests/web_2/no_such_method_strong11_lib.dart
diff --git a/tests/dart2js_2/no_such_method_strong11_test.dart b/tests/web_2/no_such_method_strong11_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong11_test.dart
rename to tests/web_2/no_such_method_strong11_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong12_test.dart b/tests/web_2/no_such_method_strong12_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong12_test.dart
rename to tests/web_2/no_such_method_strong12_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong1_test.dart b/tests/web_2/no_such_method_strong1_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong1_test.dart
rename to tests/web_2/no_such_method_strong1_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong2_test.dart b/tests/web_2/no_such_method_strong2_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong2_test.dart
rename to tests/web_2/no_such_method_strong2_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong3_test.dart b/tests/web_2/no_such_method_strong3_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong3_test.dart
rename to tests/web_2/no_such_method_strong3_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong4_test.dart b/tests/web_2/no_such_method_strong4_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong4_test.dart
rename to tests/web_2/no_such_method_strong4_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong5_test.dart b/tests/web_2/no_such_method_strong5_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong5_test.dart
rename to tests/web_2/no_such_method_strong5_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong6_test.dart b/tests/web_2/no_such_method_strong6_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong6_test.dart
rename to tests/web_2/no_such_method_strong6_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong7_test.dart b/tests/web_2/no_such_method_strong7_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong7_test.dart
rename to tests/web_2/no_such_method_strong7_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong8_test.dart b/tests/web_2/no_such_method_strong8_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong8_test.dart
rename to tests/web_2/no_such_method_strong8_test.dart
diff --git a/tests/dart2js_2/no_such_method_strong9_test.dart b/tests/web_2/no_such_method_strong9_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_strong9_test.dart
rename to tests/web_2/no_such_method_strong9_test.dart
diff --git a/tests/dart2js_2/no_such_method_test.dart b/tests/web_2/no_such_method_test.dart
similarity index 100%
rename from tests/dart2js_2/no_such_method_test.dart
rename to tests/web_2/no_such_method_test.dart
diff --git a/tests/dart2js_2/non_jsinterop_test.dart b/tests/web_2/non_jsinterop_test.dart
similarity index 100%
rename from tests/dart2js_2/non_jsinterop_test.dart
rename to tests/web_2/non_jsinterop_test.dart
diff --git a/tests/dart2js_2/non_trivial_substitution_test.dart b/tests/web_2/non_trivial_substitution_test.dart
similarity index 100%
rename from tests/dart2js_2/non_trivial_substitution_test.dart
rename to tests/web_2/non_trivial_substitution_test.dart
diff --git a/tests/dart2js_2/not_equals_test.dart b/tests/web_2/not_equals_test.dart
similarity index 100%
rename from tests/dart2js_2/not_equals_test.dart
rename to tests/web_2/not_equals_test.dart
diff --git a/tests/dart2js_2/not_test.dart b/tests/web_2/not_test.dart
similarity index 100%
rename from tests/dart2js_2/not_test.dart
rename to tests/web_2/not_test.dart
diff --git a/tests/dart2js_2/null_stacktrace_test.dart b/tests/web_2/null_stacktrace_test.dart
similarity index 100%
rename from tests/dart2js_2/null_stacktrace_test.dart
rename to tests/web_2/null_stacktrace_test.dart
diff --git a/tests/dart2js_2/null_test.dart b/tests/web_2/null_test.dart
similarity index 100%
rename from tests/dart2js_2/null_test.dart
rename to tests/web_2/null_test.dart
diff --git a/tests/dart2js_2/operator2_test.dart b/tests/web_2/operator2_test.dart
similarity index 100%
rename from tests/dart2js_2/operator2_test.dart
rename to tests/web_2/operator2_test.dart
diff --git a/tests/dart2js_2/operator3_test.dart b/tests/web_2/operator3_test.dart
similarity index 100%
rename from tests/dart2js_2/operator3_test.dart
rename to tests/web_2/operator3_test.dart
diff --git a/tests/dart2js_2/operator_equals_test.dart b/tests/web_2/operator_equals_test.dart
similarity index 100%
rename from tests/dart2js_2/operator_equals_test.dart
rename to tests/web_2/operator_equals_test.dart
diff --git a/tests/dart2js_2/operator_test.dart b/tests/web_2/operator_test.dart
similarity index 100%
rename from tests/dart2js_2/operator_test.dart
rename to tests/web_2/operator_test.dart
diff --git a/tests/dart2js_2/optional_parameter_test.dart b/tests/web_2/optional_parameter_test.dart
similarity index 100%
rename from tests/dart2js_2/optional_parameter_test.dart
rename to tests/web_2/optional_parameter_test.dart
diff --git a/tests/dart2js_2/panda_lib.dart b/tests/web_2/panda_lib.dart
similarity index 100%
rename from tests/dart2js_2/panda_lib.dart
rename to tests/web_2/panda_lib.dart
diff --git a/tests/dart2js_2/panda_test.dart b/tests/web_2/panda_test.dart
similarity index 100%
rename from tests/dart2js_2/panda_test.dart
rename to tests/web_2/panda_test.dart
diff --git a/tests/dart2js_2/phi_elimination_test.dart b/tests/web_2/phi_elimination_test.dart
similarity index 100%
rename from tests/dart2js_2/phi_elimination_test.dart
rename to tests/web_2/phi_elimination_test.dart
diff --git a/tests/dart2js_2/phi_gvn_test.dart b/tests/web_2/phi_gvn_test.dart
similarity index 100%
rename from tests/dart2js_2/phi_gvn_test.dart
rename to tests/web_2/phi_gvn_test.dart
diff --git a/tests/dart2js_2/phi_test.dart b/tests/web_2/phi_test.dart
similarity index 100%
rename from tests/dart2js_2/phi_test.dart
rename to tests/web_2/phi_test.dart
diff --git a/tests/dart2js_2/private_symbol_literal_test.dart b/tests/web_2/private_symbol_literal_test.dart
similarity index 100%
rename from tests/dart2js_2/private_symbol_literal_test.dart
rename to tests/web_2/private_symbol_literal_test.dart
diff --git a/tests/dart2js_2/recursive_metadata_test.dart b/tests/web_2/recursive_metadata_test.dart
similarity index 100%
rename from tests/dart2js_2/recursive_metadata_test.dart
rename to tests/web_2/recursive_metadata_test.dart
diff --git a/tests/dart2js_2/regress/41781_test.dart b/tests/web_2/regress/41781_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/41781_test.dart
rename to tests/web_2/regress/41781_test.dart
diff --git a/tests/dart2js_2/regress/4434_lib.dart b/tests/web_2/regress/4434_lib.dart
similarity index 100%
rename from tests/dart2js_2/regress/4434_lib.dart
rename to tests/web_2/regress/4434_lib.dart
diff --git a/tests/dart2js_2/regress/4434_test.dart b/tests/web_2/regress/4434_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/4434_test.dart
rename to tests/web_2/regress/4434_test.dart
diff --git a/tests/dart2js_2/regress/4492_test.dart b/tests/web_2/regress/4492_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/4492_test.dart
rename to tests/web_2/regress/4492_test.dart
diff --git a/tests/dart2js_2/regress/4515_1_test.dart b/tests/web_2/regress/4515_1_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/4515_1_test.dart
rename to tests/web_2/regress/4515_1_test.dart
diff --git a/tests/dart2js_2/regress/4515_2_test.dart b/tests/web_2/regress/4515_2_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/4515_2_test.dart
rename to tests/web_2/regress/4515_2_test.dart
diff --git a/tests/dart2js_2/regress/4515_3_test.dart b/tests/web_2/regress/4515_3_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/4515_3_test.dart
rename to tests/web_2/regress/4515_3_test.dart
diff --git a/tests/dart2js_2/regress/4562_test.dart b/tests/web_2/regress/4562_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/4562_test.dart
rename to tests/web_2/regress/4562_test.dart
diff --git a/tests/dart2js_2/regress/4639_test.dart b/tests/web_2/regress/4639_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/4639_test.dart
rename to tests/web_2/regress/4639_test.dart
diff --git a/tests/dart2js_2/regress/regression_type_variables_is_test.dart b/tests/web_2/regress/regression_type_variables_is_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/regression_type_variables_is_test.dart
rename to tests/web_2/regress/regression_type_variables_is_test.dart
diff --git a/tests/dart2js_2/regress/unused_generator_type_parameter_test.dart b/tests/web_2/regress/unused_generator_type_parameter_test.dart
similarity index 100%
rename from tests/dart2js_2/regress/unused_generator_type_parameter_test.dart
rename to tests/web_2/regress/unused_generator_type_parameter_test.dart
diff --git a/tests/dart2js_2/regress_32069_test.dart b/tests/web_2/regress_32069_test.dart
similarity index 100%
rename from tests/dart2js_2/regress_32069_test.dart
rename to tests/web_2/regress_32069_test.dart
diff --git a/tests/dart2js_2/regress_36222_test.dart b/tests/web_2/regress_36222_test.dart
similarity index 100%
rename from tests/dart2js_2/regress_36222_test.dart
rename to tests/web_2/regress_36222_test.dart
diff --git a/tests/dart2js_2/regress_40349_test.dart b/tests/web_2/regress_40349_test.dart
similarity index 100%
rename from tests/dart2js_2/regress_40349_test.dart
rename to tests/web_2/regress_40349_test.dart
diff --git a/tests/dart2js_2/regress_42281_test.dart b/tests/web_2/regress_42281_test.dart
similarity index 100%
rename from tests/dart2js_2/regress_42281_test.dart
rename to tests/web_2/regress_42281_test.dart
diff --git a/tests/dart2js_2/regress_null_aware_test.dart b/tests/web_2/regress_null_aware_test.dart
similarity index 100%
rename from tests/dart2js_2/regress_null_aware_test.dart
rename to tests/web_2/regress_null_aware_test.dart
diff --git a/tests/dart2js_2/regression_2913_test.dart b/tests/web_2/regression_2913_test.dart
similarity index 100%
rename from tests/dart2js_2/regression_2913_test.dart
rename to tests/web_2/regression_2913_test.dart
diff --git a/tests/dart2js_2/replaced_type_variable_test.dart b/tests/web_2/replaced_type_variable_test.dart
similarity index 100%
rename from tests/dart2js_2/replaced_type_variable_test.dart
rename to tests/web_2/replaced_type_variable_test.dart
diff --git a/tests/dart2js_2/return_setter_test.dart b/tests/web_2/return_setter_test.dart
similarity index 100%
rename from tests/dart2js_2/return_setter_test.dart
rename to tests/web_2/return_setter_test.dart
diff --git a/tests/dart2js_2/round_constant_folding_test.dart b/tests/web_2/round_constant_folding_test.dart
similarity index 100%
rename from tests/dart2js_2/round_constant_folding_test.dart
rename to tests/web_2/round_constant_folding_test.dart
diff --git a/tests/dart2js_2/rti_need_for_closure_signature_test.dart b/tests/web_2/rti_need_for_closure_signature_test.dart
similarity index 100%
rename from tests/dart2js_2/rti_need_for_closure_signature_test.dart
rename to tests/web_2/rti_need_for_closure_signature_test.dart
diff --git a/tests/dart2js_2/rti_need_for_runtime_type_test.dart b/tests/web_2/rti_need_for_runtime_type_test.dart
similarity index 100%
rename from tests/dart2js_2/rti_need_for_runtime_type_test.dart
rename to tests/web_2/rti_need_for_runtime_type_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals1_test.dart b/tests/web_2/runtime_type_closure_equals1_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals1_test.dart
rename to tests/web_2/runtime_type_closure_equals1_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals2_test.dart b/tests/web_2/runtime_type_closure_equals2_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals2_test.dart
rename to tests/web_2/runtime_type_closure_equals2_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals3_test.dart b/tests/web_2/runtime_type_closure_equals3_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals3_test.dart
rename to tests/web_2/runtime_type_closure_equals3_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals4_test.dart b/tests/web_2/runtime_type_closure_equals4_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals4_test.dart
rename to tests/web_2/runtime_type_closure_equals4_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals5_test.dart b/tests/web_2/runtime_type_closure_equals5_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals5_test.dart
rename to tests/web_2/runtime_type_closure_equals5_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals6_test.dart b/tests/web_2/runtime_type_closure_equals6_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals6_test.dart
rename to tests/web_2/runtime_type_closure_equals6_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals7_test.dart b/tests/web_2/runtime_type_closure_equals7_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals7_test.dart
rename to tests/web_2/runtime_type_closure_equals7_test.dart
diff --git a/tests/dart2js_2/runtime_type_closure_equals8_test.dart b/tests/web_2/runtime_type_closure_equals8_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_closure_equals8_test.dart
rename to tests/web_2/runtime_type_closure_equals8_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals1_test.dart b/tests/web_2/runtime_type_equals1_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals1_test.dart
rename to tests/web_2/runtime_type_equals1_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals2_test.dart b/tests/web_2/runtime_type_equals2_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals2_test.dart
rename to tests/web_2/runtime_type_equals2_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals3_test.dart b/tests/web_2/runtime_type_equals3_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals3_test.dart
rename to tests/web_2/runtime_type_equals3_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals4_test.dart b/tests/web_2/runtime_type_equals4_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals4_test.dart
rename to tests/web_2/runtime_type_equals4_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals5_test.dart b/tests/web_2/runtime_type_equals5_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals5_test.dart
rename to tests/web_2/runtime_type_equals5_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals6_test.dart b/tests/web_2/runtime_type_equals6_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals6_test.dart
rename to tests/web_2/runtime_type_equals6_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals7_test.dart b/tests/web_2/runtime_type_equals7_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals7_test.dart
rename to tests/web_2/runtime_type_equals7_test.dart
diff --git a/tests/dart2js_2/runtime_type_equals8_test.dart b/tests/web_2/runtime_type_equals8_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_equals8_test.dart
rename to tests/web_2/runtime_type_equals8_test.dart
diff --git a/tests/dart2js_2/runtime_type_int_test.dart b/tests/web_2/runtime_type_int_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_int_test.dart
rename to tests/web_2/runtime_type_int_test.dart
diff --git a/tests/dart2js_2/runtime_type_test.dart b/tests/web_2/runtime_type_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_test.dart
rename to tests/web_2/runtime_type_test.dart
diff --git a/tests/dart2js_2/runtime_type_to_string1_test.dart b/tests/web_2/runtime_type_to_string1_test.dart
similarity index 100%
rename from tests/dart2js_2/runtime_type_to_string1_test.dart
rename to tests/web_2/runtime_type_to_string1_test.dart
diff --git a/tests/dart2js_2/send_test.dart b/tests/web_2/send_test.dart
similarity index 100%
rename from tests/dart2js_2/send_test.dart
rename to tests/web_2/send_test.dart
diff --git a/tests/dart2js_2/simple_string_constant_test.dart b/tests/web_2/simple_string_constant_test.dart
similarity index 100%
rename from tests/dart2js_2/simple_string_constant_test.dart
rename to tests/web_2/simple_string_constant_test.dart
diff --git a/tests/dart2js_2/source_mapping_crash_source.dart b/tests/web_2/source_mapping_crash_source.dart
similarity index 100%
rename from tests/dart2js_2/source_mapping_crash_source.dart
rename to tests/web_2/source_mapping_crash_source.dart
diff --git a/tests/dart2js_2/source_mapping_crash_test.dart b/tests/web_2/source_mapping_crash_test.dart
similarity index 100%
rename from tests/dart2js_2/source_mapping_crash_test.dart
rename to tests/web_2/source_mapping_crash_test.dart
diff --git a/tests/dart2js_2/statements_test.dart b/tests/web_2/statements_test.dart
similarity index 100%
rename from tests/dart2js_2/statements_test.dart
rename to tests/web_2/statements_test.dart
diff --git a/tests/dart2js_2/static_field2_test.dart b/tests/web_2/static_field2_test.dart
similarity index 100%
rename from tests/dart2js_2/static_field2_test.dart
rename to tests/web_2/static_field2_test.dart
diff --git a/tests/dart2js_2/static_field_test.dart b/tests/web_2/static_field_test.dart
similarity index 100%
rename from tests/dart2js_2/static_field_test.dart
rename to tests/web_2/static_field_test.dart
diff --git a/tests/dart2js_2/static_method2_test.dart b/tests/web_2/static_method2_test.dart
similarity index 100%
rename from tests/dart2js_2/static_method2_test.dart
rename to tests/web_2/static_method2_test.dart
diff --git a/tests/dart2js_2/static_method_test.dart b/tests/web_2/static_method_test.dart
similarity index 100%
rename from tests/dart2js_2/static_method_test.dart
rename to tests/web_2/static_method_test.dart
diff --git a/tests/dart2js_2/static_var_no_initializer_test.dart b/tests/web_2/static_var_no_initializer_test.dart
similarity index 100%
rename from tests/dart2js_2/static_var_no_initializer_test.dart
rename to tests/web_2/static_var_no_initializer_test.dart
diff --git a/tests/dart2js_2/static_var_test.dart b/tests/web_2/static_var_test.dart
similarity index 100%
rename from tests/dart2js_2/static_var_test.dart
rename to tests/web_2/static_var_test.dart
diff --git a/tests/dart2js_2/string_escape_test.dart b/tests/web_2/string_escape_test.dart
similarity index 100%
rename from tests/dart2js_2/string_escape_test.dart
rename to tests/web_2/string_escape_test.dart
diff --git a/tests/dart2js_2/string_interpolation_dynamic_test.dart b/tests/web_2/string_interpolation_dynamic_test.dart
similarity index 100%
rename from tests/dart2js_2/string_interpolation_dynamic_test.dart
rename to tests/web_2/string_interpolation_dynamic_test.dart
Binary files differ
diff --git a/tests/dart2js_2/string_interpolation_opt1_test.dart b/tests/web_2/string_interpolation_opt1_test.dart
similarity index 100%
rename from tests/dart2js_2/string_interpolation_opt1_test.dart
rename to tests/web_2/string_interpolation_opt1_test.dart
diff --git a/tests/dart2js_2/string_interpolation_test.dart b/tests/web_2/string_interpolation_test.dart
similarity index 100%
rename from tests/dart2js_2/string_interpolation_test.dart
rename to tests/web_2/string_interpolation_test.dart
Binary files differ
diff --git a/tests/dart2js_2/super_call_test.dart b/tests/web_2/super_call_test.dart
similarity index 100%
rename from tests/dart2js_2/super_call_test.dart
rename to tests/web_2/super_call_test.dart
diff --git a/tests/dart2js_2/super_constructor1_test.dart b/tests/web_2/super_constructor1_test.dart
similarity index 100%
rename from tests/dart2js_2/super_constructor1_test.dart
rename to tests/web_2/super_constructor1_test.dart
diff --git a/tests/dart2js_2/super_constructor2_test.dart b/tests/web_2/super_constructor2_test.dart
similarity index 100%
rename from tests/dart2js_2/super_constructor2_test.dart
rename to tests/web_2/super_constructor2_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin10_test.dart b/tests/web_2/supermixin/supermixin10_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin10_test.dart
rename to tests/web_2/supermixin/supermixin10_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin11_test.dart b/tests/web_2/supermixin/supermixin11_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin11_test.dart
rename to tests/web_2/supermixin/supermixin11_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin12_test.dart b/tests/web_2/supermixin/supermixin12_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin12_test.dart
rename to tests/web_2/supermixin/supermixin12_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin13_test.dart b/tests/web_2/supermixin/supermixin13_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin13_test.dart
rename to tests/web_2/supermixin/supermixin13_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin14_test.dart b/tests/web_2/supermixin/supermixin14_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin14_test.dart
rename to tests/web_2/supermixin/supermixin14_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin15_test.dart b/tests/web_2/supermixin/supermixin15_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin15_test.dart
rename to tests/web_2/supermixin/supermixin15_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin16_test.dart b/tests/web_2/supermixin/supermixin16_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin16_test.dart
rename to tests/web_2/supermixin/supermixin16_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin17_test.dart b/tests/web_2/supermixin/supermixin17_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin17_test.dart
rename to tests/web_2/supermixin/supermixin17_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin18_test.dart b/tests/web_2/supermixin/supermixin18_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin18_test.dart
rename to tests/web_2/supermixin/supermixin18_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin1_test.dart b/tests/web_2/supermixin/supermixin1_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin1_test.dart
rename to tests/web_2/supermixin/supermixin1_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin2_test.dart b/tests/web_2/supermixin/supermixin2_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin2_test.dart
rename to tests/web_2/supermixin/supermixin2_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin3_test.dart b/tests/web_2/supermixin/supermixin3_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin3_test.dart
rename to tests/web_2/supermixin/supermixin3_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin4_test.dart b/tests/web_2/supermixin/supermixin4_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin4_test.dart
rename to tests/web_2/supermixin/supermixin4_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin5_test.dart b/tests/web_2/supermixin/supermixin5_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin5_test.dart
rename to tests/web_2/supermixin/supermixin5_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin6_test.dart b/tests/web_2/supermixin/supermixin6_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin6_test.dart
rename to tests/web_2/supermixin/supermixin6_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin7_test.dart b/tests/web_2/supermixin/supermixin7_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin7_test.dart
rename to tests/web_2/supermixin/supermixin7_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin8_test.dart b/tests/web_2/supermixin/supermixin8_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin8_test.dart
rename to tests/web_2/supermixin/supermixin8_test.dart
diff --git a/tests/dart2js_2/supermixin/supermixin9_test.dart b/tests/web_2/supermixin/supermixin9_test.dart
similarity index 100%
rename from tests/dart2js_2/supermixin/supermixin9_test.dart
rename to tests/web_2/supermixin/supermixin9_test.dart
diff --git a/tests/dart2js_2/switch_equals_test.dart b/tests/web_2/switch_equals_test.dart
similarity index 100%
rename from tests/dart2js_2/switch_equals_test.dart
rename to tests/web_2/switch_equals_test.dart
diff --git a/tests/dart2js_2/switch_test.dart b/tests/web_2/switch_test.dart
similarity index 100%
rename from tests/dart2js_2/switch_test.dart
rename to tests/web_2/switch_test.dart
diff --git a/tests/dart2js_2/sync_star_element_rti_need_test.dart b/tests/web_2/sync_star_element_rti_need_test.dart
similarity index 100%
rename from tests/dart2js_2/sync_star_element_rti_need_test.dart
rename to tests/web_2/sync_star_element_rti_need_test.dart
diff --git a/tests/dart2js_2/tear_off_types_test.dart b/tests/web_2/tear_off_types_test.dart
similarity index 100%
rename from tests/dart2js_2/tear_off_types_test.dart
rename to tests/web_2/tear_off_types_test.dart
diff --git a/tests/dart2js_2/this_phi_elimination_test.dart b/tests/web_2/this_phi_elimination_test.dart
similarity index 100%
rename from tests/dart2js_2/this_phi_elimination_test.dart
rename to tests/web_2/this_phi_elimination_test.dart
diff --git a/tests/dart2js_2/this_redirecting_constructor_test.dart b/tests/web_2/this_redirecting_constructor_test.dart
similarity index 100%
rename from tests/dart2js_2/this_redirecting_constructor_test.dart
rename to tests/web_2/this_redirecting_constructor_test.dart
diff --git a/tests/dart2js_2/this_test.dart b/tests/web_2/this_test.dart
similarity index 100%
rename from tests/dart2js_2/this_test.dart
rename to tests/web_2/this_test.dart
diff --git a/tests/dart2js_2/throw1_test.dart b/tests/web_2/throw1_test.dart
similarity index 100%
rename from tests/dart2js_2/throw1_test.dart
rename to tests/web_2/throw1_test.dart
diff --git a/tests/dart2js_2/throw2_test.dart b/tests/web_2/throw2_test.dart
similarity index 100%
rename from tests/dart2js_2/throw2_test.dart
rename to tests/web_2/throw2_test.dart
diff --git a/tests/dart2js_2/timer_test.dart b/tests/web_2/timer_test.dart
similarity index 100%
rename from tests/dart2js_2/timer_test.dart
rename to tests/web_2/timer_test.dart
diff --git a/tests/dart2js_2/to_string_test.dart b/tests/web_2/to_string_test.dart
similarity index 100%
rename from tests/dart2js_2/to_string_test.dart
rename to tests/web_2/to_string_test.dart
diff --git a/tests/dart2js_2/truncation_errors_test.dart b/tests/web_2/truncation_errors_test.dart
similarity index 100%
rename from tests/dart2js_2/truncation_errors_test.dart
rename to tests/web_2/truncation_errors_test.dart
diff --git a/tests/dart2js_2/type_argument_factory_crash_test.dart b/tests/web_2/type_argument_factory_crash_test.dart
similarity index 100%
rename from tests/dart2js_2/type_argument_factory_crash_test.dart
rename to tests/web_2/type_argument_factory_crash_test.dart
diff --git a/tests/dart2js_2/type_argument_factory_nocrash_test.dart b/tests/web_2/type_argument_factory_nocrash_test.dart
similarity index 100%
rename from tests/dart2js_2/type_argument_factory_nocrash_test.dart
rename to tests/web_2/type_argument_factory_nocrash_test.dart
diff --git a/tests/dart2js_2/type_argument_optimization_test.dart b/tests/web_2/type_argument_optimization_test.dart
similarity index 100%
rename from tests/dart2js_2/type_argument_optimization_test.dart
rename to tests/web_2/type_argument_optimization_test.dart
diff --git a/tests/dart2js_2/type_constant_switch_test.dart b/tests/web_2/type_constant_switch_test.dart
similarity index 100%
rename from tests/dart2js_2/type_constant_switch_test.dart
rename to tests/web_2/type_constant_switch_test.dart
diff --git a/tests/dart2js_2/type_error_message_test.dart b/tests/web_2/type_error_message_test.dart
similarity index 100%
rename from tests/dart2js_2/type_error_message_test.dart
rename to tests/web_2/type_error_message_test.dart
diff --git a/tests/dart2js_2/type_literal2_test.dart b/tests/web_2/type_literal2_test.dart
similarity index 100%
rename from tests/dart2js_2/type_literal2_test.dart
rename to tests/web_2/type_literal2_test.dart
diff --git a/tests/dart2js_2/type_literal_test.dart b/tests/web_2/type_literal_test.dart
similarity index 100%
rename from tests/dart2js_2/type_literal_test.dart
rename to tests/web_2/type_literal_test.dart
diff --git a/tests/dart2js_2/typevariable_factory_test.dart b/tests/web_2/typevariable_factory_test.dart
similarity index 100%
rename from tests/dart2js_2/typevariable_factory_test.dart
rename to tests/web_2/typevariable_factory_test.dart
diff --git a/tests/dart2js_2/typevariable_substitution_test.dart b/tests/web_2/typevariable_substitution_test.dart
similarity index 100%
rename from tests/dart2js_2/typevariable_substitution_test.dart
rename to tests/web_2/typevariable_substitution_test.dart
diff --git a/tests/dart2js_2/typevariable_typedef_test.dart b/tests/web_2/typevariable_typedef_test.dart
similarity index 100%
rename from tests/dart2js_2/typevariable_typedef_test.dart
rename to tests/web_2/typevariable_typedef_test.dart
diff --git a/tests/dart2js_2/unconditional_dartio_import_test.dart b/tests/web_2/unconditional_dartio_import_test.dart
similarity index 100%
rename from tests/dart2js_2/unconditional_dartio_import_test.dart
rename to tests/web_2/unconditional_dartio_import_test.dart
diff --git a/tests/dart2js_2/unused_local_const_test.dart b/tests/web_2/unused_local_const_test.dart
similarity index 100%
rename from tests/dart2js_2/unused_local_const_test.dart
rename to tests/web_2/unused_local_const_test.dart
diff --git a/tests/dart2js_2/useful_error_message_1_test.dart b/tests/web_2/useful_error_message_1_test.dart
similarity index 100%
rename from tests/dart2js_2/useful_error_message_1_test.dart
rename to tests/web_2/useful_error_message_1_test.dart
diff --git a/tests/dart2js_2/while_test.dart b/tests/web_2/while_test.dart
similarity index 100%
rename from tests/dart2js_2/while_test.dart
rename to tests/web_2/while_test.dart
diff --git a/tools/VERSION b/tools/VERSION
index 28914ae..9a6e00b 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 13
 PATCH 0
-PRERELEASE 2
+PRERELEASE 3
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index 4d2a870..2d58e2b 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -43,7 +43,7 @@
       "tests/co19/co19-kernel.status",
       "tests/co19/co19-runtime.status",
       "tests/corelib_2/",
-      "tests/dart2js_2/",
+      "tests/web_2/",
       "tests/dartdevc_2/",
       "tests/language/",
       "tests/language_2/",
@@ -83,7 +83,7 @@
       "tests/co19/co19-kernel.status",
       "tests/co19/co19-runtime.status",
       "tests/corelib/",
-      "tests/dart2js/",
+      "tests/web/",
       "tests/dartdevc/",
       "tests/language/",
       "tests/language_2/",
@@ -130,7 +130,7 @@
       "tests/co19_2/co19_2-kernel.status",
       "tests/co19_2/co19_2-runtime.status",
       "tests/corelib_2/",
-      "tests/dart2js_2/",
+      "tests/web_2/",
       "tests/dartdevc_2/",
       "tests/language/",
       "tests/language_2/",
@@ -173,7 +173,7 @@
       "tests/co19/co19-kernel.status",
       "tests/co19/co19-runtime.status",
       "tests/corelib/",
-      "tests/dart2js/",
+      "tests/web/",
       "tests/dartdevc/",
       "tests/language/",
       "tests/language_2/",
@@ -218,8 +218,8 @@
       "tests/co19_2/co19_2-runtime.status",
       "tests/corelib/",
       "tests/corelib_2/",
-      "tests/dart2js/",
-      "tests/dart2js_2/",
+      "tests/web/",
+      "tests/web_2/",
       "tests/dartdevc/",
       "tests/dartdevc_2/",
       "tests/language/",
@@ -345,8 +345,8 @@
       "tests/co19_2/co19_2-runtime.status",
       "tests/corelib/",
       "tests/corelib_2/",
-      "tests/dart2js/",
-      "tests/dart2js_2/",
+      "tests/web/",
+      "tests/web_2/",
       "tests/dartdevc",
       "tests/dartdevc_2",
       "tests/language/",
@@ -2378,7 +2378,7 @@
           "arguments": [
             "-ndart2js-hostasserts-linux-ia32-d8",
             "--dart2js-batch",
-            "dart2js_2"
+            "web_2"
           ]
         }
       ]
@@ -2451,7 +2451,7 @@
             "-ndart2js-${system}-${runtime}",
             "--dart2js-batch",
             "--reset-browser-configuration",
-            "dart2js_2"
+            "web_2"
           ]
         }
       ]
@@ -2502,7 +2502,7 @@
           "arguments": [
             "-ndart2js-minified-linux-d8",
             "--dart2js-batch",
-            "dart2js_2"
+            "web_2"
           ]
         },
         {
@@ -2520,7 +2520,7 @@
           "arguments": [
             "-ndart2js-production-linux-d8",
             "--dart2js-batch",
-            "dart2js_2"
+            "web_2"
           ]
         },
         {
@@ -2590,7 +2590,7 @@
           "arguments": [
             "-ndart2js-minified-csp-linux-chrome",
             "--dart2js-batch",
-            "dart2js_2"
+            "web_2"
           ]
         }
       ]
@@ -2636,7 +2636,7 @@
           "arguments": [
             "-ndart2js-hostasserts-weak-max-fragments-linux-x64-d8",
             "--dart2js-batch",
-            "dart2js/deferred/"
+            "web/deferred/"
           ],
           "shards": 1,
           "fileset": "web_platform_hostasserts_nnbd"
@@ -2646,7 +2646,7 @@
           "arguments": [
             "-ndart2js-hostasserts-weak-linux-x64-chrome",
             "--dart2js-batch",
-            "dart2js"
+            "web"
           ],
           "shards": 3,
           "fileset": "web_platform_hostasserts_nnbd"
@@ -2687,7 +2687,7 @@
           "arguments": [
             "-ndart2js-hostasserts-strong-max-fragments-linux-x64-d8",
             "--dart2js-batch",
-            "dart2js/deferred/"
+            "web/deferred/"
           ],
           "shards": 1,
           "fileset": "web_platform_hostasserts_nnbd"
@@ -2697,7 +2697,7 @@
           "arguments": [
             "-ndart2js-hostasserts-strong-linux-x64-chrome",
             "--dart2js-batch",
-            "dart2js"
+            "web"
           ],
           "shards": 3,
           "fileset": "web_platform_hostasserts_nnbd"
diff --git a/tools/generate_idefiles.py b/tools/generate_idefiles.py
index 5727e49..d84bcb2 100755
--- a/tools/generate_idefiles.py
+++ b/tools/generate_idefiles.py
@@ -105,8 +105,8 @@
     - tests/co19_2/**
     - tests/corelib/**
     - tests/corelib_2/**
-    - tests/dart2js/**
-    - tests/dart2js_2/**
+    - tests/web/**
+    - tests/web_2/**
     - tests/dartdevc/**
     - tests/dartdevc_2/**
     - tests/ffi/**