blob: af15861554ed7203abe1f1fb13c9fb0af843e7fe [file] [log] [blame]
// 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 'dart:async';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/convert.dart';
import '../src/common.dart';
import 'test_data/basic_project.dart';
import 'test_utils.dart';
void main() {
late Directory tempDir;
final BasicProject project = BasicProject();
setUp(() async {
tempDir = createResolvedTempDirectorySync('run_test.');
await project.setUpIn(tempDir);
});
tearDown(() async {
tryToDelete(tempDir);
});
// Regression test for https://github.com/flutter/flutter/issues/126691
testWithoutContext('flutter run --start-paused prints DevTools URI', () async {
final Completer<void> completer = Completer<void>();
const String matcher = 'The Flutter DevTools debugger and profiler on';
final String flutterBin = fileSystem.path.join(getFlutterRoot(), 'bin', 'flutter');
final Process process = await processManager.start(<String>[
flutterBin,
'run',
'--start-paused',
'-d',
'flutter-tester',
], workingDirectory: tempDir.path);
final StreamSubscription<String> sub;
sub = process.stdout.transform(utf8.decoder).listen((String message) {
if (message.contains(matcher)) {
completer.complete();
}
});
await completer.future;
await sub.cancel();
process.kill();
await process.exitCode;
});
}