mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
45 lines
1.5 KiB
Dart
45 lines
1.5 KiB
Dart
// 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 '../base/io.dart' show Process;
|
|
|
|
/// Callbacks for reporting progress while running tests.
|
|
abstract class TestWatcher {
|
|
/// Called after a child process starts.
|
|
///
|
|
/// If startPaused was true, the caller needs to resume in Observatory to
|
|
/// start running the tests.
|
|
void handleStartedProcess(ProcessEvent event) { }
|
|
|
|
/// Called after the tests finish but before the process exits.
|
|
///
|
|
/// The child process won't exit until this method completes.
|
|
/// Not called if the process died.
|
|
Future<void> handleFinishedTest(ProcessEvent event);
|
|
|
|
/// Called when the test process crashed before connecting to test harness.
|
|
Future<void> handleTestCrashed(ProcessEvent event);
|
|
|
|
/// Called if we timed out waiting for the test process to connect to test
|
|
/// harness.
|
|
Future<void> handleTestTimedOut(ProcessEvent event);
|
|
}
|
|
|
|
/// Describes a child process started during testing.
|
|
class ProcessEvent {
|
|
ProcessEvent(this.childIndex, this.process, [this.observatoryUri]);
|
|
|
|
/// The index assigned when the child process was launched.
|
|
///
|
|
/// Indexes are assigned consecutively starting from zero.
|
|
/// When debugging, there should only be one child process so this will
|
|
/// always be zero.
|
|
final int childIndex;
|
|
|
|
final Process process;
|
|
|
|
/// The observatory URL or null if not debugging.
|
|
final Uri observatoryUri;
|
|
}
|