anchor.diff:        var testIndex = 0;
         var totalTests = tests.length - 1;
         var name = Platform.script.pathSegments.last;
  -      new WebSocketVM(new WebSocketVMTarget(addr)).load()
  -          .then((VM vm) => vm.isolates.first.load())
  -          .then((Isolate isolate) => Future.forEach(tests, (test) {
  -            print('Running $name [$testIndex/$totalTests]');
  -            testIndex++;
  -            return test(isolate);
  -          })).then((_) => process.requestExit());
  +      runZoned(() {
  +        new WebSocketVM(new WebSocketVMTarget(addr)).load()
  +            .then((VM vm) => vm.isolates.first.load())
  +            .then((Isolate isolate) => Future.forEach(tests, (test) {
  +              print('Running $name [$testIndex/$totalTests]');
  +              testIndex++;
  +              return test(isolate);
  +            })).then((_) => process.requestExit());
  +      }, onError: (e, st) {
  +        if (!_isWebSocketDisconnect(e)) {
  +          print('Unexpected exception in service tests: $e $st');
  +          throw e;
  +        }
  +      });
       });
     }
   }
  
positive.code: import 'dart:convert';
  import 'dart:io';
  import 'package:observatory/service_io.dart';
  
  // This invocation should set up the state being tested.
  const String _TESTEE_MODE_FLAG = "--testee-mode";
  
negative.code:       var testIndex = 0;
        var totalTests = tests.length - 1;
        var name = Platform.script.pathSegments.last;
        runZoned(() {
          new WebSocketVM(new WebSocketVMTarget(addr)).load()
              .then((VM vm) => Future.forEach(tests, (test) {
                print('Running $name [$testIndex/$totalTests]');
                testIndex++;
                return test(vm);
              })).then((_) => process.requestExit());
        }, onError: (e, st) {
          if (!_isWebSocketDisconnect(e)) {
            print('Unexpected exception in service tests: $e $st');
            throw e;
          }
        });
      });
    }
  }
  