anchor.diff:    Future<void> addBreakpoint(String path, int line) async {
       final VM vm = await vmService.getVM();
       final VMIsolate isolate = await vm.isolates.first.load();
  -    debugPrint('Sending breakpoint for $path:$line');
  +    _debugPrint('Sending breakpoint for $path:$line');
       await isolate.addBreakpoint(path, line);
     }
   
     Future<VMIsolate> waitForPause() async {
       final VM vm = await vmService.getVM();
       final VMIsolate isolate = await vm.isolates.first.load();
  -    debugPrint('Waiting for isolate to pause');
  -    await isolate.waitUntilPaused()
  -        .timeout(defaultTimeout, onTimeout: () => throw 'Isolate did not pause');
  +    _debugPrint('Waiting for isolate to pause');
  +    await _timeoutWithMessages<dynamic>(isolate.waitUntilPaused,
  +        message: 'Isolate did not pause');
       return isolate.load();
     }
   
  
positive.code:     return script.sourceLocation(frame.location.token);
    }
  
    Future<Map<String, dynamic>> _waitFor({String event, int id}) async {
      // Capture output to a buffer so if we don't get the repsonse we want we can show
      // the output that did arrive in the timeout error.
      final StringBuffer messages = new StringBuffer();
      _stdout.stream.listen(messages.writeln);
      _stderr.stream.listen(messages.writeln);
  
      final Completer<Map<String, dynamic>> response = new Completer<Map<String, dynamic>>();
      final StreamSubscription<String> sub = _stdout.stream.listen((String line) {
        final dynamic json = _parseFlutterResponse(line);
  
negative.code: // Set this to true for debugging to get JSON written to stdout.
  const bool _printJsonAndStderr = false;
  const Duration defaultTimeout = const Duration(seconds: 20);
  const Duration appStartTimeout = const Duration(seconds: 60);
  
  class FlutterTestDriver {
    Directory _projectFolder;
    Process _proc;
    final StreamController<String> _stdout = new StreamController<String>.broadcast();
    final StreamController<String> _stderr = new StreamController<String>.broadcast();
    final StreamController<String> _allMessages = new StreamController<String>.broadcast();
    final StringBuffer _errorBuffer = new StringBuffer();
    String _lastResponse;
    String _currentRunningAppId;
  