flutter/packages/flutter_tools/test/integration/flutter_attach_test.dart
Ryan Macnak a34488dd67 Roll engine to aed6b8c46b05c7cee4506a9757dd9ea1b40583c2.
aed6b8c46 Roll Dart to ac6d4f7e653deba11d4836768376537893a9e9d6. (#6549)
3ba6270b2 Roll src/third_party/skia 921ec976556c..4b7b2ceb4ad9 (14 commits) (#6550)
2018-10-16 11:03:52 -07:00

54 lines
1.9 KiB
Dart

// Copyright 2018 The Chromium 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:file/file.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import '../src/common.dart';
import 'test_data/basic_project.dart';
import 'test_driver.dart';
void main() {
FlutterTestDriver _flutterRun, _flutterAttach;
final BasicProject _project = BasicProject();
Directory tempDir;
setUp(() async {
tempDir = fs.systemTempDirectory.createTempSync('flutter_attach_test.');
await _project.setUpIn(tempDir);
_flutterRun = FlutterTestDriver(tempDir, logPrefix: 'RUN');
_flutterAttach = FlutterTestDriver(tempDir, logPrefix: 'ATTACH');
});
tearDown(() async {
await _flutterAttach.detach();
await _flutterRun.stop();
tryToDelete(tempDir);
});
group('attached process', () {
test('can hot reload', () async {
await _flutterRun.run(withDebugger: true);
await _flutterAttach.attach(_flutterRun.vmServicePort);
await _flutterAttach.hotReload();
});
test('can detach, reattach, hot reload', () async {
await _flutterRun.run(withDebugger: true);
await _flutterAttach.attach(_flutterRun.vmServicePort);
await _flutterAttach.detach();
await _flutterAttach.attach(_flutterRun.vmServicePort);
await _flutterAttach.hotReload();
});
test('killing process behaves the same as detach ', () async {
await _flutterRun.run(withDebugger: true);
await _flutterAttach.attach(_flutterRun.vmServicePort);
await _flutterAttach.quit();
_flutterAttach = FlutterTestDriver(tempDir, logPrefix: 'ATTACH-2');
await _flutterAttach.attach(_flutterRun.vmServicePort);
await _flutterAttach.hotReload();
});
// https://github.com/flutter/flutter/issues/23109
}, timeout: const Timeout.factor(6), skip: true);
}