| // 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. |
| |
| @TestOn('vm') |
| |
| import 'dart:io'; |
| |
| import 'package:pub_semver/pub_semver.dart'; |
| import 'package:test/test.dart'; |
| |
| import 'fixtures/context.dart'; |
| import 'evaluate_common.dart'; |
| |
| void main() async { |
| // Enable verbose logging for debugging. |
| final debug = false; |
| |
| // TODO(annagrin): Remove when 2.19.0-150.0.dev is in stable. |
| final debuggerModuleNamesSupported = |
| Version.parse(Platform.version.split(' ').first) >= |
| Version.parse('2.19.0-150.0.dev'); |
| |
| for (var useDebuggerModuleNames in [false, true]) { |
| group('Debugger module names: $useDebuggerModuleNames |', () { |
| for (var nullSafety in NullSafety.values) { |
| group('${nullSafety.name} null safety |', () { |
| for (var indexBaseMode in IndexBaseMode.values) { |
| group( |
| 'with ${indexBaseMode.name} |', |
| () { |
| testAll( |
| compilationMode: CompilationMode.frontendServer, |
| indexBaseMode: indexBaseMode, |
| nullSafety: nullSafety, |
| useDebuggerModuleNames: useDebuggerModuleNames, |
| debug: debug, |
| ); |
| }, |
| skip: |
| // https://github.com/dart-lang/sdk/issues/49277 |
| (indexBaseMode == IndexBaseMode.base && Platform.isWindows) || |
| // https://github.com/dart-lang/webdev/issues/1591 |
| (nullSafety == NullSafety.sound) || |
| // Needs debugger module names feature in SDK. |
| (useDebuggerModuleNames && !debuggerModuleNamesSupported), |
| ); |
| } |
| }); |
| } |
| }); |
| } |
| } |