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

Side by Side Diff: test/global/run/fails_if_sdk_constraint_is_unmet_test.dart

Issue 1427523005: "pub global run" errors out for a mismatched SDK. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Created 5 years, 1 month 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 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 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:scheduled_test/scheduled_stream.dart'; 5 import 'package:pub/src/exit_codes.dart' as exit_codes;
6 import 'package:scheduled_test/scheduled_test.dart'; 6 import 'package:scheduled_test/scheduled_test.dart';
7 7
8 import '../../descriptor.dart' as d; 8 import '../../descriptor.dart' as d;
9 import '../../test_pub.dart'; 9 import '../../test_pub.dart';
10 10
11 main() { 11 main() {
12 integration('recompiles a script if the SDK version is out-of-date', () { 12 integration("fails if the current SDK doesn't match the constraint", () {
13 servePackages((builder) { 13 servePackages((builder) {
14 builder.serve("foo", "1.0.0", contents: [ 14 builder.serve("foo", "1.0.0", contents: [
15 d.dir("bin", [ 15 d.dir("bin", [
16 d.file("script.dart", "main(args) => print('ok');") 16 d.file("script.dart", "main(args) => print('ok');")
17 ]) 17 ])
18 ]); 18 ]);
19 }); 19 });
20 20
21 schedulePub(args: ["global", "activate", "foo"]); 21 schedulePub(args: ["global", "activate", "foo"]);
22 22
23 d.hostedCache([
24 d.dir("foo-1.0.0", [
25 d.libPubspec("foo", "1.0.0", sdk: "0.5.6")
26 ])
27 ]).create();
28
29 // Make the snapshot out-of-date, too, so that we load the pubspec with the
30 // SDK constraint in the first place. In practice, the VM snapshot
31 // invalidation logic is based on the version anyway, so this is a safe
32 // assumption.
23 d.dir(cachePath, [ 33 d.dir(cachePath, [
24 d.dir('global_packages', [ 34 d.dir('global_packages', [
25 d.dir('foo', [ 35 d.dir('foo', [
26 d.dir('bin', [d.outOfDateSnapshot('script.dart.snapshot')]) 36 d.dir('bin', [d.outOfDateSnapshot('script.dart.snapshot')])
27 ]) 37 ])
28 ]) 38 ])
29 ]).create(); 39 ]).create();
30 40
31 var pub = pubRun(global: true, args: ["foo:script"]); 41 schedulePub(args: ["global", "run", "foo:script"],
32 // In the real world this would just print "hello!", but since we collect 42 error: contains("foo 1.0.0 doesn't support Dart 0.1.2+3."),
33 // all output we see the precompilation messages as well. 43 exitCode: exit_codes.DATA);
34 pub.stdout.expect("Precompiling executables...");
35 pub.stdout.expect(consumeThrough("ok"));
36 pub.shouldExit();
37
38 d.dir(cachePath, [
39 d.dir('global_packages', [
40 d.dir('foo', [
41 d.dir('bin', [
42 d.matcherFile('script.dart.snapshot', contains('ok'))
43 ])
44 ])
45 ])
46 ]).validate();
47 }); 44 });
48 } 45 }
OLDNEW
« no previous file with comments | « lib/src/global_packages.dart ('k') | test/global/run/recompiles_if_sdk_is_out_of_date_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698