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

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

Issue 106993002: Revert "Change SDK/DartEditor versioning scheme to semantic versions." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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
« no previous file with comments | « dart/sdk/lib/_internal/pub/test/sdk_test.dart ('k') | dart/tools/VERSION » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 library pub_upgrade_test; 5 library pub_upgrade_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:unittest/unittest.dart'; 9 import 'package:unittest/unittest.dart';
10 10
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 'foo 4.0.0': {'bar': '4.0.0'}, 787 'foo 4.0.0': {'bar': '4.0.0'},
788 'bar 1.0.0': {'sdk': goodVersion }, 788 'bar 1.0.0': {'sdk': goodVersion },
789 'bar 2.0.0': {'sdk': goodVersion }, 789 'bar 2.0.0': {'sdk': goodVersion },
790 'bar 3.0.0': {'sdk': badVersion }, 790 'bar 3.0.0': {'sdk': badVersion },
791 'bar 4.0.0': {'sdk': badVersion } 791 'bar 4.0.0': {'sdk': badVersion }
792 }, result: { 792 }, result: {
793 'myapp from root': '0.0.0', 793 'myapp from root': '0.0.0',
794 'foo': '2.0.0', 794 'foo': '2.0.0',
795 'bar': '2.0.0' 795 'bar': '2.0.0'
796 }, maxTries: 3); 796 }, maxTries: 3);
797
798 testResolve('ignores SDK constraints on bleeding edge', {
799 'myapp 0.0.0': {'sdk': badVersion }
800 }, result: {
801 'myapp from root': '0.0.0'
802 }, useBleedingEdgeSdkVersion: true);
797 } 803 }
798 804
799 void prerelease() { 805 void prerelease() {
800 testResolve('prefer stable versions over unstable', { 806 testResolve('prefer stable versions over unstable', {
801 'myapp 0.0.0': { 807 'myapp 0.0.0': {
802 'a': 'any' 808 'a': 'any'
803 }, 809 },
804 'a 1.0.0': {}, 810 'a 1.0.0': {},
805 'a 1.1.0-dev': {}, 811 'a 1.1.0-dev': {},
806 'a 2.0.0-dev': {}, 812 'a 2.0.0-dev': {},
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
976 }, overrides: { 982 }, overrides: {
977 'foo': 'any' 983 'foo': 'any'
978 }, result: { 984 }, result: {
979 'myapp from root': '0.0.0', 985 'myapp from root': '0.0.0',
980 'foo': '0.0.0' 986 'foo': '0.0.0'
981 }); 987 });
982 } 988 }
983 989
984 testResolve(String description, Map packages, { 990 testResolve(String description, Map packages, {
985 Map lockfile, Map overrides, Map result, FailMatcherBuilder error, 991 Map lockfile, Map overrides, Map result, FailMatcherBuilder error,
986 int maxTries}) { 992 int maxTries, bool useBleedingEdgeSdkVersion}) {
987 _testResolve(test, description, packages, lockfile: lockfile, 993 _testResolve(test, description, packages, lockfile: lockfile,
988 overrides: overrides, result: result, error: error, maxTries: maxTries); 994 overrides: overrides, result: result, error: error, maxTries: maxTries,
995 useBleedingEdgeSdkVersion: useBleedingEdgeSdkVersion);
989 } 996 }
990 997
991 solo_testResolve(String description, Map packages, { 998 solo_testResolve(String description, Map packages, {
992 Map lockfile, Map overrides, Map result, FailMatcherBuilder error, 999 Map lockfile, Map overrides, Map result, FailMatcherBuilder error,
993 int maxTries}) { 1000 int maxTries, bool useBleedingEdgeSdkVersion}) {
994 log.showSolver(); 1001 log.showSolver();
995 _testResolve(solo_test, description, packages, lockfile: lockfile, 1002 _testResolve(solo_test, description, packages, lockfile: lockfile,
996 overrides: overrides, result: result, error: error, maxTries: maxTries); 1003 overrides: overrides, result: result, error: error, maxTries: maxTries,
1004 useBleedingEdgeSdkVersion: useBleedingEdgeSdkVersion);
997 } 1005 }
998 1006
999 _testResolve(void testFn(String description, Function body), 1007 _testResolve(void testFn(String description, Function body),
1000 String description, Map packages, { 1008 String description, Map packages, {
1001 Map lockfile, Map overrides, Map result, FailMatcherBuilder error, 1009 Map lockfile, Map overrides, Map result, FailMatcherBuilder error,
1002 int maxTries}) { 1010 int maxTries, bool useBleedingEdgeSdkVersion}) {
1003 if (maxTries == null) maxTries = 1; 1011 if (maxTries == null) maxTries = 1;
1012 if (useBleedingEdgeSdkVersion == null) useBleedingEdgeSdkVersion = false;
1004 1013
1005 testFn(description, () { 1014 testFn(description, () {
1006 var cache = new SystemCache('.'); 1015 var cache = new SystemCache('.');
1007 source1 = new MockSource('mock1'); 1016 source1 = new MockSource('mock1');
1008 source2 = new MockSource('mock2'); 1017 source2 = new MockSource('mock2');
1009 cache.register(source1); 1018 cache.register(source1);
1010 cache.register(source2); 1019 cache.register(source2);
1011 cache.sources.setDefault(source1.name); 1020 cache.sources.setDefault(source1.name);
1012 1021
1013 // Build the test package graph. 1022 // Build the test package graph.
(...skipping 26 matching lines...) Expand all
1040 // Parse the lockfile. 1049 // Parse the lockfile.
1041 var realLockFile = new LockFile.empty(); 1050 var realLockFile = new LockFile.empty();
1042 if (lockfile != null) { 1051 if (lockfile != null) {
1043 lockfile.forEach((name, version) { 1052 lockfile.forEach((name, version) {
1044 version = new Version.parse(version); 1053 version = new Version.parse(version);
1045 realLockFile.packages[name] = 1054 realLockFile.packages[name] =
1046 new PackageId(name, source1.name, version, name); 1055 new PackageId(name, source1.name, version, name);
1047 }); 1056 });
1048 } 1057 }
1049 1058
1059 // Make a version number like the continuous build's version.
1060 var previousVersion = sdk.version;
1061 if (useBleedingEdgeSdkVersion) {
1062 sdk.version = new Version(0, 1, 2, build: '0_r12345_juser');
1063 }
1064
1050 // Resolve the versions. 1065 // Resolve the versions.
1051 var future = resolveVersions(cache.sources, root, lockFile: realLockFile); 1066 var future = resolveVersions(cache.sources, root, lockFile: realLockFile);
1052 1067
1053 var matcher; 1068 var matcher;
1054 if (result != null) { 1069 if (result != null) {
1055 matcher = new SolveSuccessMatcher(result, maxTries); 1070 matcher = new SolveSuccessMatcher(result, maxTries);
1056 } else if (error != null) { 1071 } else if (error != null) {
1057 matcher = error(maxTries); 1072 matcher = error(maxTries);
1058 } 1073 }
1059 1074
1075 future = future.whenComplete(() {
1076 if (useBleedingEdgeSdkVersion) {
1077 sdk.version = previousVersion;
1078 }
1079 });
1080
1060 expect(future, completion(matcher)); 1081 expect(future, completion(matcher));
1061 }); 1082 });
1062 } 1083 }
1063 1084
1064 typedef SolveFailMatcher FailMatcherBuilder(int maxTries); 1085 typedef SolveFailMatcher FailMatcherBuilder(int maxTries);
1065 1086
1066 FailMatcherBuilder noVersion(List<String> packages) { 1087 FailMatcherBuilder noVersion(List<String> packages) {
1067 return (maxTries) => new SolveFailMatcher(packages, maxTries, 1088 return (maxTries) => new SolveFailMatcher(packages, maxTries,
1068 NoVersionException); 1089 NoVersionException);
1069 } 1090 }
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
1385 } 1406 }
1386 1407
1387 var source = "mock1"; 1408 var source = "mock1";
1388 if (match[7] != null) { 1409 if (match[7] != null) {
1389 source = match[7]; 1410 source = match[7];
1390 if (source == "root") source = null; 1411 if (source == "root") source = null;
1391 } 1412 }
1392 1413
1393 return new PackageId(name, source, parsedVersion, description); 1414 return new PackageId(name, source, parsedVersion, description);
1394 } 1415 }
OLDNEW
« no previous file with comments | « dart/sdk/lib/_internal/pub/test/sdk_test.dart ('k') | dart/tools/VERSION » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698