Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: sdk/lib/_internal/pub_generated/test/cache/repair/updates_binstubs_test.dart

Issue 937243002: Revert "Revert "Use native async/await support in pub."" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library pub_tests;
6
7 import 'package:scheduled_test/scheduled_test.dart';
8
9 import '../../descriptor.dart' as d;
10 import '../../test_pub.dart';
11
12 const _OUTDATED_BINSTUB = """
13 #!/usr/bin/env sh
14 # This file was created by pub v0.1.2-3.
15 # Package: foo
16 # Version: 1.0.0
17 # Executable: foo-script
18 # Script: script
19 dart "/path/to/.pub-cache/global_packages/foo/bin/script.dart.snapshot" "\$@"
20 """;
21
22 main() {
23 initConfig();
24 integration('updates an outdated binstub script', () {
25 servePackages((builder) {
26 builder.serve("foo", "1.0.0", pubspec: {
27 "executables": {
28 "foo-script": "script"
29 }
30 },
31 contents: [
32 d.dir("bin", [d.file("script.dart", "main(args) => print('ok \$arg s');")])]);
33 });
34
35 schedulePub(args: ["global", "activate", "foo"]);
36
37 d.dir(
38 cachePath,
39 [
40 d.dir('bin', [d.file(binStubName('foo-script'), _OUTDATED_BINSTUB)]) ]).create();
41
42 // Repair them.
43 schedulePub(args: ["cache", "repair"], output: '''
44 Downloading foo 1.0.0...
45 Reinstalled 1 package.
46 Reactivating foo 1.0.0...
47 Precompiling executables...
48 Loading source assets...
49 Precompiled foo:script.
50 Installed executable foo-script.
51 Reactivated 1 package.''');
52
53 // The broken versions should have been replaced.
54 d.dir(
55 cachePath,
56 [d.dir('bin', [// 253 is the VM's exit code upon seeing an out-of-date s napshot.
57 d.matcherFile(
58 binStubName('foo-script'),
59 contains('253'))])]).validate();
60 });
61 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698