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

Side by Side Diff: sdk/lib/_internal/pub/test/implicit_barback_dependency_test.dart

Issue 488323002: Make servePackages's contents argument saner. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 6 years, 4 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
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 'descriptor.dart' as d; 5 import 'descriptor.dart' as d;
6 import 'test_pub.dart'; 6 import 'test_pub.dart';
7 import '../lib/src/barback.dart' as barback; 7 import '../lib/src/barback.dart' as barback;
8 import '../lib/src/version.dart'; 8 import '../lib/src/version.dart';
9 9
10 main() { 10 main() {
11 initConfig(); 11 initConfig();
12 12
13 var constraint = barback.pubConstraints["barback"]; 13 var constraint = barback.pubConstraints["barback"];
14 var current = constraint.min.toString(); 14 var current = constraint.min.toString();
15 var previous = new Version(constraint.min.major, constraint.min.minor - 1, 0) 15 var previous = new Version(constraint.min.major, constraint.min.minor - 1, 0)
16 .toString(); 16 .toString();
17 var nextPatch = constraint.min.nextPatch.toString(); 17 var nextPatch = constraint.min.nextPatch.toString();
18 var max = constraint.max.toString(); 18 var max = constraint.max.toString();
19 19
20 var sourceSpanVersion = barback.pubConstraints["source_span"].min.toString(); 20 var sourceSpanVersion = barback.pubConstraints["source_span"].min.toString();
21 var stackTraceVersion = barback.pubConstraints["stack_trace"].min.toString(); 21 var stackTraceVersion = barback.pubConstraints["stack_trace"].min.toString();
22 22
23 forBothPubGetAndUpgrade((command) { 23 forBothPubGetAndUpgrade((command) {
24 integration("implicitly constrains barback to versions pub supports", () { 24 integration("implicitly constrains barback to versions pub supports", () {
25 servePackages([ 25 servePackages((builder) {
26 packageMap("barback", previous), 26 builder.serve("barback", previous);
27 packageMap("barback", current), 27 builder.serve("barback", current);
28 packageMap("barback", nextPatch), 28 builder.serve("barback", nextPatch);
29 packageMap("barback", max), 29 builder.serve("barback", max);
30 packageMap("source_span", sourceSpanVersion), 30 builder.serve("source_span", sourceSpanVersion);
31 packageMap("stack_trace", stackTraceVersion) 31 builder.serve("stack_trace", stackTraceVersion);
32 ]); 32 });
33 33
34 d.appDir({ 34 d.appDir({
35 "barback": "any" 35 "barback": "any"
36 }).create(); 36 }).create();
37 37
38 pubCommand(command); 38 pubCommand(command);
39 39
40 d.packagesDir({ 40 d.packagesDir({
41 "barback": nextPatch 41 "barback": nextPatch
42 }).validate(); 42 }).validate();
43 }); 43 });
44 44
45 integration("discovers transitive dependency on barback", () { 45 integration("discovers transitive dependency on barback", () {
46 servePackages([ 46 servePackages((builder) {
47 packageMap("barback", previous), 47 builder.serve("barback", previous);
48 packageMap("barback", current), 48 builder.serve("barback", current);
49 packageMap("barback", nextPatch), 49 builder.serve("barback", nextPatch);
50 packageMap("barback", max), 50 builder.serve("barback", max);
51 packageMap("source_span", sourceSpanVersion), 51 builder.serve("source_span", sourceSpanVersion);
52 packageMap("stack_trace", stackTraceVersion) 52 builder.serve("stack_trace", stackTraceVersion);
53 ]); 53 });
54 54
55 d.dir("foo", [ 55 d.dir("foo", [
56 d.libDir("foo", "foo 0.0.1"), 56 d.libDir("foo", "foo 0.0.1"),
57 d.libPubspec("foo", "0.0.1", deps: { 57 d.libPubspec("foo", "0.0.1", deps: {
58 "barback": "any" 58 "barback": "any"
59 }) 59 })
60 ]).create(); 60 ]).create();
61 61
62 d.appDir({ 62 d.appDir({
63 "foo": {"path": "../foo"} 63 "foo": {"path": "../foo"}
64 }).create(); 64 }).create();
65 65
66 pubCommand(command); 66 pubCommand(command);
67 67
68 d.packagesDir({ 68 d.packagesDir({
69 "barback": nextPatch, 69 "barback": nextPatch,
70 "foo": "0.0.1" 70 "foo": "0.0.1"
71 }).validate(); 71 }).validate();
72 }); 72 });
73 73
74 integration("pub's implicit constraint uses the same source and " 74 integration("pub's implicit constraint uses the same source and "
75 "description as a dependency override", () { 75 "description as a dependency override", () {
76 servePackages([ 76 servePackages((builder) {
77 packageMap("source_span", sourceSpanVersion), 77 builder.serve("source_span", sourceSpanVersion);
78 packageMap("stack_trace", stackTraceVersion) 78 builder.serve("stack_trace", stackTraceVersion);
79 ]); 79 });
80 80
81 d.dir('barback', [ 81 d.dir('barback', [
82 d.libDir('barback', 'barback $current'), 82 d.libDir('barback', 'barback $current'),
83 d.libPubspec('barback', current), 83 d.libPubspec('barback', current),
84 ]).create(); 84 ]).create();
85 85
86 d.dir(appPath, [ 86 d.dir(appPath, [
87 d.pubspec({ 87 d.pubspec({
88 "name": "myapp", 88 "name": "myapp",
89 "dependency_overrides": { 89 "dependency_overrides": {
90 "barback": {"path": "../barback"} 90 "barback": {"path": "../barback"}
91 } 91 }
92 }) 92 })
93 ]).create(); 93 ]).create();
94 94
95 pubCommand(command); 95 pubCommand(command);
96 96
97 d.packagesDir({ 97 d.packagesDir({
98 "barback": current 98 "barback": current
99 }).validate(); 99 }).validate();
100 }); 100 });
101 }); 101 });
102 102
103 integration("unlock if the locked version doesn't meet pub's constraint", () { 103 integration("unlock if the locked version doesn't meet pub's constraint", () {
104 servePackages([ 104 servePackages((builder) {
105 packageMap("barback", previous), 105 builder.serve("barback", previous);
106 packageMap("barback", current), 106 builder.serve("barback", current);
107 packageMap("source_span", sourceSpanVersion), 107 builder.serve("source_span", sourceSpanVersion);
108 packageMap("stack_trace", stackTraceVersion) 108 builder.serve("stack_trace", stackTraceVersion);
109 ]); 109 });
110 110
111 d.appDir({"barback": "any"}).create(); 111 d.appDir({"barback": "any"}).create();
112 112
113 // Hand-create a lockfile to pin barback to an older version. 113 // Hand-create a lockfile to pin barback to an older version.
114 createLockFile("myapp", hosted: { 114 createLockFile("myapp", hosted: {
115 "barback": previous 115 "barback": previous
116 }); 116 });
117 117
118 pubGet(); 118 pubGet();
119 119
120 // It should be upgraded. 120 // It should be upgraded.
121 d.packagesDir({ 121 d.packagesDir({
122 "barback": current 122 "barback": current
123 }).validate(); 123 }).validate();
124 }); 124 });
125 125
126 integration("includes pub in the error if a solve failed because there " 126 integration("includes pub in the error if a solve failed because there "
127 "is no version available", () { 127 "is no version available", () {
128 servePackages([ 128 servePackages((builder) {
129 packageMap("barback", previous), 129 builder.serve("barback", previous);
130 packageMap("source_span", sourceSpanVersion), 130 builder.serve("source_span", sourceSpanVersion);
131 packageMap("stack_trace", stackTraceVersion) 131 builder.serve("stack_trace", stackTraceVersion);
132 ]); 132 });
133 133
134 d.appDir({"barback": "any"}).create(); 134 d.appDir({"barback": "any"}).create();
135 135
136 pubGet(error: """ 136 pubGet(error: """
137 Package barback 0.12.0 does not match >=$current <$max derived from: 137 Package barback 0.12.0 does not match >=$current <$max derived from:
138 - myapp 0.0.0 depends on version any 138 - myapp 0.0.0 depends on version any
139 - pub itself depends on version >=$current <$max"""); 139 - pub itself depends on version >=$current <$max""");
140 }); 140 });
141 141
142 integration("includes pub in the error if a solve failed because there " 142 integration("includes pub in the error if a solve failed because there "
143 "is a disjoint constraint", () { 143 "is a disjoint constraint", () {
144 servePackages([ 144 servePackages((builder) {
145 packageMap("barback", previous), 145 builder.serve("barback", previous);
146 packageMap("barback", current), 146 builder.serve("barback", current);
147 packageMap("source_span", sourceSpanVersion), 147 builder.serve("source_span", sourceSpanVersion);
148 packageMap("stack_trace", stackTraceVersion) 148 builder.serve("stack_trace", stackTraceVersion);
149 ]); 149 });
150 150
151 d.appDir({"barback": previous}).create(); 151 d.appDir({"barback": previous}).create();
152 152
153 pubGet(error: """ 153 pubGet(error: """
154 Incompatible version constraints on barback: 154 Incompatible version constraints on barback:
155 - myapp 0.0.0 depends on version $previous 155 - myapp 0.0.0 depends on version $previous
156 - pub itself depends on version >=$current <$max"""); 156 - pub itself depends on version >=$current <$max""");
157 }); 157 });
158 } 158 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698