Unverified Commit 9b4159c5 authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

[flutter_tools] support run -d chrome test scripts (#51658)

parent 266742e1
......@@ -590,7 +590,8 @@ Future<void> _runWebUnitTests() async {
Future<void> _runWebIntegrationTests() async {
await _runWebStackTraceTest('profile');
await _runWebStackTraceTest('release');
await _runWebDebugStackTraceTest();
await _runWebDebugTest('lib/stack_trace.dart');
await _runWebDebugTest('test/test.dart');
}
Future<void> _runWebStackTraceTest(String buildMode) async {
......@@ -636,7 +637,7 @@ Future<void> _runWebStackTraceTest(String buildMode) async {
/// Debug mode is special because `flutter build web` doesn't build in debug mode.
///
/// Instead, we use `flutter run --debug` and sniff out the standard output.
Future<void> _runWebDebugStackTraceTest() async {
Future<void> _runWebDebugTest(String target) async {
final String testAppDirectory = path.join(flutterRoot, 'dev', 'integration_tests', 'web');
final CapturedOutput output = CapturedOutput();
bool success = false;
......@@ -648,7 +649,8 @@ Future<void> _runWebDebugStackTraceTest() async {
'-d',
'chrome',
'--web-run-headless',
'lib/stack_trace.dart',
'-t',
target,
],
output: output,
outputMode: OutputMode.capture,
......
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
const String message = 'a';
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
const String message = 'b';
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
const String message = 'c';
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
const String message = 'd';
// Copyright 2014 The Flutter 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 'package:web_integration/a.dart'
if (dart.library.io) 'package:web_integration/b.dart' as message1;
import 'package:web_integration/c.dart'
if (dart.library.html) 'package:web_integration/d.dart' as message2;
void main() {
if (message1.message == 'a' && message2.message == 'd') {
print('--- TEST SUCCEEDED ---');
} else {
print('--- TEST FAILED ---');
}
}
......@@ -573,7 +573,13 @@ class _ResidentWebRunner extends ResidentWebRunner {
.childFile('generated_plugin_registrant.dart')
.absolute.path;
final Uri generatedImport = packageUriMapper.map(generatedPath);
final String importedEntrypoint = packageUriMapper.map(main).toString() ?? 'file://$main';
String importedEntrypoint = packageUriMapper.map(main)?.toString();
// Special handling for entrypoints that are not under lib, such as test scripts.
if (importedEntrypoint == null) {
final String parent = globals.fs.file(main).parent.path;
flutterDevices.first.generator.addFileSystemRoot(parent);
importedEntrypoint = 'org-dartlang-app:///${globals.fs.path.basename(main)}';
}
final String entrypoint = <String>[
'import "$importedEntrypoint" as entrypoint;',
......
......@@ -427,9 +427,8 @@ void main() {
Usage: () => MockFlutterUsage(),
}));
test('web resident runner iss debuggable', () => testbed.run(() {
test('web resident runner is debuggable', () => testbed.run(() {
expect(residentWebRunner.debuggingEnabled, true);
}, overrides: <Type, Generator>{
}));
test('Exits when initial compile fails', () => testbed.run(() async {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment