anchor.diff:  
       // Reload to v2.
       var response = await slaveIsolate.reloadSources(
  -       rootLibUri: '$directory${Platform.pathSeparator}'
  -                  'complex_reload${Platform.pathSeparator}'
  -                  'v2${Platform.pathSeparator}'
  -                  'main.dart',
  +       rootLibUri: v2Uri.toString(),
       );
       expect(response['success'], isTrue);
   
  
positive.code:   // Stop at 'debugger' statement.
    hasStoppedAtBreakpoint,
    (Isolate mainIsolate) async {
      for (var i = 0; i < Platform.script.pathSegments.length; i++) {
        print('segment $i: "${Platform.script.pathSegments[i]}"');
      }
      print('Directory: $directory');
      // Grab the VM.
      VM vm = mainIsolate.vm;
      await vm.reloadIsolates();
  
negative.code: import 'dart:io';
  import 'service_test_common.dart';
  import 'package:observatory/service.dart';
  import 'package:path/path.dart' as path;
  import 'package:unittest/unittest.dart';
  
  // Chop off the file name.
  String baseDirectory =
      path.dirname(Platform.script.path) + Platform.pathSeparator;
  
  Uri baseUri = Platform.script.replace(path: baseDirectory);
  Uri spawnUri = baseUri.resolveUri(Uri.parse('complex_reload/v1/main.dart'));
  Uri v2Uri = baseUri.resolveUri(Uri.parse('complex_reload/v2/main.dart'));
  Uri v3Uri = baseUri.resolveUri(Uri.parse('complex_reload/v3/main.dart'));
  
  testMain() async {
    print(baseUri);
    debugger();  // Stop here.
    // Spawn the child isolate.
    I.Isolate isolate =
        await I.Isolate.spawnUri(spawnUri,
                                 [],
                                 null);
    print(isolate);
    debugger();
  }
  
  Future<String> invokeTest(Isolate isolate) async {
    await isolate.reload();
  