| Index: sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
 | 
| diff --git a/sdk/lib/_internal/pub_generated/test/global/run/recompiles_if_sdk_is_out_of_date_test.dart b/sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
 | 
| similarity index 50%
 | 
| copy from sdk/lib/_internal/pub_generated/test/global/run/recompiles_if_sdk_is_out_of_date_test.dart
 | 
| copy to sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
 | 
| index 1579ed58c5c35fde435eea28fc0894c92e11f045..b02b4530b9fdcb050f63968775da3a8f9631d17e 100644
 | 
| --- a/sdk/lib/_internal/pub_generated/test/global/run/recompiles_if_sdk_is_out_of_date_test.dart
 | 
| +++ b/sdk/lib/_internal/pub_generated/test/global/binstubs/outdated_snapshot_test.dart
 | 
| @@ -2,21 +2,28 @@
 | 
|  // for details. All rights reserved. Use of this source code is governed by a
 | 
|  // BSD-style license that can be found in the LICENSE file.
 | 
|  
 | 
| +import 'dart:io';
 | 
| +
 | 
| +import 'package:path/path.dart' as p;
 | 
| +import 'package:scheduled_test/scheduled_process.dart';
 | 
|  import 'package:scheduled_test/scheduled_stream.dart';
 | 
|  import 'package:scheduled_test/scheduled_test.dart';
 | 
|  
 | 
|  import '../../descriptor.dart' as d;
 | 
|  import '../../test_pub.dart';
 | 
| +import 'utils.dart';
 | 
|  
 | 
|  main() {
 | 
|    initConfig();
 | 
| -  integration('recompiles a script if the SDK version is out-of-date', () {
 | 
| +  integration("a binstub runs 'pub global run' for an outdated snapshot", () {
 | 
|      servePackages((builder) {
 | 
| -      builder.serve(
 | 
| -          "foo",
 | 
| -          "1.0.0",
 | 
| +      builder.serve("foo", "1.0.0", pubspec: {
 | 
| +        "executables": {
 | 
| +          "foo-script": "script"
 | 
| +        }
 | 
| +      },
 | 
|            contents: [
 | 
| -              d.dir("bin", [d.file("script.dart", "main(args) => print('ok');")])]);
 | 
| +              d.dir("bin", [d.file("script.dart", "main(args) => print('ok \$args');")])]);
 | 
|      });
 | 
|  
 | 
|      schedulePub(args: ["global", "activate", "foo"]);
 | 
| @@ -31,24 +38,13 @@ main() {
 | 
|                          'foo',
 | 
|                          [d.dir('bin', [d.outOfDateSnapshot('script.dart.snapshot')])])])]).create();
 | 
|  
 | 
| -    var pub = pubRun(global: true, args: ["foo:script"]);
 | 
| -    // In the real world this would just print "hello!", but since we collect
 | 
| -    // all output we see the precompilation messages as well.
 | 
| -    pub.stdout.expect("Precompiling executables...");
 | 
| -    pub.stdout.expect(consumeThrough("ok"));
 | 
| -    pub.shouldExit();
 | 
| +    var process = new ScheduledProcess.start(
 | 
| +        p.join(sandboxDir, cachePath, "bin", binStubName("foo-script")),
 | 
| +        ["arg1", "arg2"],
 | 
| +        environment: getEnvironment());
 | 
|  
 | 
| -    d.dir(
 | 
| -        cachePath,
 | 
| -        [
 | 
| -            d.dir(
 | 
| -                'global_packages',
 | 
| -                [
 | 
| -                    d.dir(
 | 
| -                        'foo',
 | 
| -                        [
 | 
| -                            d.dir(
 | 
| -                                'bin',
 | 
| -                                [d.matcherFile('script.dart.snapshot', contains('ok'))])])])]).validate();
 | 
| +    // process.stderr.expect(startsWith("Wrong script snapshot version"));
 | 
| +    // process.stdout.expect(consumeThrough("ok [arg1, arg2]"));
 | 
| +    process.shouldExit();
 | 
|    });
 | 
|  }
 | 
| 
 |