@@ -172,17 +172,17 @@ final class PubgrubTests: XCTestCase {
172
172
XCTAssertEqual ( Term ( " a^2.0.0 " ) . relation ( with
: " [email protected] " ) , . disjoint
)
173
173
XCTAssertEqual ( Term ( " [email protected] " ) . relation ( with
: " a@master " ) , . disjoint
)
174
174
XCTAssertEqual ( Term ( " a^1.0.0 " ) . relation ( with: " a@master " ) , . disjoint)
175
- XCTAssertEqual ( Term ( " a@master " ) . relation ( with
: " [email protected] " ) , . overlap )
176
- XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " a^1.0.0 " ) , . overlap )
175
+ XCTAssertEqual ( Term ( " a@master " ) . relation ( with
: " [email protected] " ) , . subset )
176
+ XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " a^1.0.0 " ) , . subset )
177
177
XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " a@master " ) , . subset)
178
178
XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " a@develop " ) , . disjoint)
179
179
180
180
// First term is negative, second term is positive.
181
181
XCTAssertEqual ( Term ( " ¬a^1.0.0 " ) . relation ( with
: " [email protected] " ) , . disjoint
)
182
182
XCTAssertEqual ( Term ( " ¬a^1.5.0 " ) . relation ( with: " a^1.0.0 " ) , . overlap)
183
183
XCTAssertEqual ( Term ( " ¬a^2.0.0 " ) . relation ( with: " a^1.5.0 " ) , . overlap)
184
- XCTAssertEqual ( Term ( " ¬[email protected] " ) . relation ( with
: " a@master " ) , . overlap )
185
- XCTAssertEqual ( Term ( " ¬a^1.0.0 " ) . relation ( with: " a@master " ) , . overlap )
184
+ XCTAssertEqual ( Term ( " ¬[email protected] " ) . relation ( with
: " a@master " ) , . disjoint )
185
+ XCTAssertEqual ( Term ( " ¬a^1.0.0 " ) . relation ( with: " a@master " ) , . disjoint )
186
186
XCTAssertEqual ( Term ( " ¬a@master " ) . relation ( with
: " [email protected] " ) , . overlap
)
187
187
XCTAssertEqual ( Term ( " ¬a@master " ) . relation ( with: " a^1.0.0 " ) , . overlap)
188
188
XCTAssertEqual ( Term ( " ¬a@master " ) . relation ( with: " a@master " ) , . disjoint)
@@ -194,8 +194,8 @@ final class PubgrubTests: XCTestCase {
194
194
XCTAssertEqual ( Term ( " a^1.0.0 " ) . relation ( with: " ¬a^1.5.0 " ) , . overlap)
195
195
XCTAssertEqual ( Term ( " [email protected] " ) . relation ( with
: " ¬a@master " ) , . subset
)
196
196
XCTAssertEqual ( Term ( " a^1.0.0 " ) . relation ( with: " ¬a@master " ) , . subset)
197
- XCTAssertEqual ( Term ( " a@master " ) . relation ( with
: " ¬[email protected] " ) , . overlap )
198
- XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " ¬a^1.0.0 " ) , . overlap )
197
+ XCTAssertEqual ( Term ( " a@master " ) . relation ( with
: " ¬[email protected] " ) , . disjoint )
198
+ XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " ¬a^1.0.0 " ) , . disjoint )
199
199
XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " ¬a@master " ) , . disjoint)
200
200
XCTAssertEqual ( Term ( " a@master " ) . relation ( with: " ¬a@develop " ) , . subset)
201
201
XCTAssertEqual ( Term ( " a-1.0.0-2.0.0 " ) . relation ( with: " ¬a-1.0.0-1.2.0 " ) , . overlap)
@@ -204,8 +204,8 @@ final class PubgrubTests: XCTestCase {
204
204
XCTAssertEqual ( Term ( " ¬a^1.0.0 " ) . relation ( with: " ¬a^1.5.0 " ) , . subset)
205
205
XCTAssertEqual ( Term ( " ¬a^2.0.0 " ) . relation ( with: " ¬a^1.0.0 " ) , . overlap)
206
206
XCTAssertEqual ( Term ( " ¬a^1.5.0 " ) . relation ( with: " ¬a^1.0.0 " ) , . overlap)
207
- XCTAssertEqual ( Term ( " ¬[email protected] " ) . relation ( with
: " ¬a@master " ) , . overlap )
208
- XCTAssertEqual ( Term ( " ¬a^1.0.0 " ) . relation ( with: " ¬a@master " ) , . overlap )
207
+ XCTAssertEqual ( Term ( " ¬[email protected] " ) . relation ( with
: " ¬a@master " ) , . subset )
208
+ XCTAssertEqual ( Term ( " ¬a^1.0.0 " ) . relation ( with: " ¬a@master " ) , . subset )
209
209
XCTAssertEqual ( Term ( " ¬a@master " ) . relation ( with
: " ¬[email protected] " ) , . overlap
)
210
210
XCTAssertEqual ( Term ( " ¬a@master " ) . relation ( with: " ¬a^1.0.0 " ) , . overlap)
211
211
XCTAssertEqual ( Term ( " ¬a@master " ) . relation ( with: " ¬a@master " ) , . subset)
@@ -808,7 +808,24 @@ final class PubgrubTests: XCTestCase {
808
808
builder. serve ( " bar " , at: v1, with: [ " foo " : . versionSet( v1Range) ] )
809
809
810
810
let resolver = builder. create ( )
811
- // FIXME: This fails if you change the order.
811
+ let dependencies = builder. create ( dependencies: [
812
+ " foo " : . revision( " master " ) ,
813
+ " bar " : . versionSet( . exact( v1) ) ,
814
+
815
+ ] )
816
+ let result = resolver. solve ( dependencies: dependencies)
817
+
818
+ AssertResult ( result, [
819
+ ( " foo " , . revision( " master " ) ) ,
820
+ ( " bar " , . version( v1) )
821
+ ] )
822
+ }
823
+
824
+ func testResolutionWithOverridingBranchBasedDependency2( ) {
825
+ builder. serve ( " foo " , at: . revision( " master " ) )
826
+ builder. serve ( " bar " , at: v1, with: [ " foo " : . versionSet( v1Range) ] )
827
+
828
+ let resolver = builder. create ( )
812
829
let dependencies = builder. create ( dependencies: [
813
830
" bar " : . versionSet( . exact( v1) ) ,
814
831
" foo " : . revision( " master " ) ,
@@ -967,7 +984,7 @@ final class PubgrubTests: XCTestCase {
967
984
print ( errorMsg)
968
985
}
969
986
970
- func _testConflict4 ( ) {
987
+ func testBranchOverriding3 ( ) {
971
988
builder. serve ( " swift-nio " , at: v1)
972
989
builder. serve ( " swift-nio " , at: . revision( " master " ) )
973
990
builder. serve ( " swift-nio-ssl " , at: . revision( " master " ) , with: [
@@ -985,13 +1002,14 @@ final class PubgrubTests: XCTestCase {
985
1002
] )
986
1003
let result = resolver. solve ( dependencies: dependencies, pins: [ ] )
987
1004
988
- guard let errorMsg = result. errorMsg else {
989
- return
990
- }
991
- print ( errorMsg)
1005
+ AssertResult ( result, [
1006
+ ( " swift-nio-ssl " , . revision( " master " ) ) ,
1007
+ ( " swift-nio " , . revision( " master " ) ) ,
1008
+ ( " foo " , . version( v1) )
1009
+ ] )
992
1010
}
993
1011
994
- func _testConflict5 ( ) {
1012
+ func testBranchOverriding4 ( ) {
995
1013
builder. serve ( " swift-nio " , at: v1)
996
1014
builder. serve ( " swift-nio " , at: . revision( " master " ) )
997
1015
builder. serve ( " swift-nio-ssl " , at: . revision( " master " ) , with: [
@@ -1017,10 +1035,13 @@ final class PubgrubTests: XCTestCase {
1017
1035
] )
1018
1036
let result = resolver. solve ( dependencies: dependencies, pins: [ ] )
1019
1037
1020
- guard let errorMsg = result. errorMsg else {
1021
- return
1022
- }
1023
- print ( errorMsg)
1038
+ AssertResult ( result, [
1039
+ ( " swift-nio-ssl " , . revision( " master " ) ) ,
1040
+ ( " swift-nio " , . revision( " master " ) ) ,
1041
+ ( " nio-postgres " , . revision( " master " ) ) ,
1042
+ ( " http-client " , . version( v1) ) ,
1043
+ ( " boring-ssl " , . version( v1) ) ,
1044
+ ] )
1024
1045
}
1025
1046
}
1026
1047
0 commit comments