@@ -157,7 +157,7 @@ final class PackageToolTests: XCTestCase {
157
157
}
158
158
159
159
func testDescribe( ) throws {
160
-
160
+
161
161
fixture ( name: " Miscellaneous/ExeTest " ) { prefix in
162
162
// Generate the JSON description.
163
163
let jsonResult = try SwiftPMProduct . SwiftPackage. executeProcess ( [ " describe " , " --type=json " ] , packagePath: prefix)
@@ -177,7 +177,7 @@ final class PackageToolTests: XCTestCase {
177
177
let jsonResult = try SwiftPMProduct . SwiftPackage. executeProcess ( [ " describe " , " --type=json " ] , packagePath: prefix)
178
178
let jsonOutput = try jsonResult. utf8Output ( )
179
179
let json = try JSON ( bytes: ByteString ( encodingAsUTF8: jsonOutput) )
180
-
180
+
181
181
// Check that the JSON description contains what we expect it to.
182
182
XCTAssertEqual ( json [ " name " ] ? . string, " SwiftCMixed " )
183
183
XCTAssertEqual ( json [ " path " ] ? . string? . hasPrefix ( " / " ) , true )
@@ -213,7 +213,7 @@ final class PackageToolTests: XCTestCase {
213
213
chunks. append ( line + " \n " )
214
214
}
215
215
} . filter { !$0. trimmingCharacters ( in: . whitespacesAndNewlines) . isEmpty }
216
-
216
+
217
217
// Check that the text description contains what we expect it to.
218
218
// FIXME: This is a bit inelegant, but any errors are easy to reason about.
219
219
let textChunk0 = try XCTUnwrap ( textChunks [ 0 ] )
@@ -270,7 +270,7 @@ final class PackageToolTests: XCTestCase {
270
270
}
271
271
272
272
}
273
-
273
+
274
274
func testDescribePackageUsingPlugins( ) throws {
275
275
fixture ( name: " Miscellaneous/Plugins/MySourceGenPlugin " ) { prefix in
276
276
// Generate the JSON description.
@@ -343,14 +343,14 @@ final class PackageToolTests: XCTestCase {
343
343
func testShowDependencies_dotFormat_sr12016( ) throws {
344
344
// Confirm that SR-12016 is resolved.
345
345
// See https://bugs.swift.org/browse/SR-12016
346
-
346
+
347
347
let fileSystem = InMemoryFileSystem ( emptyFiles: [
348
348
" /PackageA/Sources/TargetA/main.swift " ,
349
349
" /PackageB/Sources/TargetB/B.swift " ,
350
350
" /PackageC/Sources/TargetC/C.swift " ,
351
351
" /PackageD/Sources/TargetD/D.swift " ,
352
352
] )
353
-
353
+
354
354
let manifestA = Manifest . createManifest (
355
355
name: " PackageA " ,
356
356
path: " /PackageA " ,
@@ -368,7 +368,7 @@ final class PackageToolTests: XCTestCase {
368
368
try . init( name: " TargetA " , dependencies: [ " PackageB " , " PackageC " ] )
369
369
]
370
370
)
371
-
371
+
372
372
let manifestB = Manifest . createManifest (
373
373
name: " PackageB " ,
374
374
path: " /PackageB " ,
@@ -386,7 +386,7 @@ final class PackageToolTests: XCTestCase {
386
386
try . init( name: " TargetB " , dependencies: [ " PackageC " , " PackageD " ] )
387
387
]
388
388
)
389
-
389
+
390
390
let manifestC = Manifest . createManifest (
391
391
name: " PackageC " ,
392
392
path: " /PackageC " ,
@@ -403,7 +403,7 @@ final class PackageToolTests: XCTestCase {
403
403
try . init( name: " TargetC " , dependencies: [ " PackageD " ] )
404
404
]
405
405
)
406
-
406
+
407
407
let manifestD = Manifest . createManifest (
408
408
name: " PackageD " ,
409
409
path: " /PackageD " ,
@@ -417,25 +417,25 @@ final class PackageToolTests: XCTestCase {
417
417
try . init( name: " TargetD " )
418
418
]
419
419
)
420
-
420
+
421
421
let diagnostics = DiagnosticsEngine ( )
422
422
let graph = try loadPackageGraph ( fs: fileSystem,
423
423
diagnostics: diagnostics,
424
424
manifests: [ manifestA, manifestB, manifestC, manifestD] )
425
425
XCTAssertNoDiagnostics ( diagnostics)
426
-
426
+
427
427
let output = BufferedOutputByteStream ( )
428
428
dumpDependenciesOf ( rootPackage: graph. rootPackages [ 0 ] , mode: . dot, on: output)
429
429
let dotFormat = output. bytes. description
430
-
430
+
431
431
var alreadyPutOut : Set < Substring > = [ ]
432
432
for line in dotFormat. split ( whereSeparator: { $0. isNewline } ) {
433
433
if alreadyPutOut. contains ( line) {
434
434
XCTFail ( " Same line was already put out: \( line) " )
435
435
}
436
436
alreadyPutOut. insert ( line)
437
437
}
438
-
438
+
439
439
let expectedLines : [ Substring ] = [
440
440
#""/PackageA" [label="packagea\n/PackageA\nunspecified"]"# ,
441
441
#""/PackageB" [label="packageb\n/PackageB\nunspecified"]"# ,
@@ -496,7 +496,7 @@ final class PackageToolTests: XCTestCase {
496
496
497
497
let resultPath = root. appending ( component: " result.json " )
498
498
_ = try execute ( [ " show-dependencies " , " --format " , " json " , " --output-path " , resultPath. pathString ] , packagePath: root)
499
-
499
+
500
500
XCTAssert ( fs. exists ( resultPath) )
501
501
let jsonOutput = try fs. readFileContents ( resultPath)
502
502
let json = try JSON ( bytes: jsonOutput)
@@ -722,7 +722,7 @@ final class PackageToolTests: XCTestCase {
722
722
// Try to pin bar at a branch.
723
723
do {
724
724
try execute ( " resolve " , " bar " , " --branch " , " YOLO " )
725
- let pinsStore = try PinsStore ( pinsFile: pinsFile, fileSystem: localFileSystem, mirrors: . init( ) )
725
+ let pinsStore = try PinsStore ( pinsFile: pinsFile, workingDirectory : prefix , fileSystem: localFileSystem, mirrors: . init( ) )
726
726
let state = CheckoutState . branch ( name: " YOLO " , revision: yoloRevision)
727
727
let identity = PackageIdentity ( path: barPath)
728
728
XCTAssertEqual ( pinsStore. pinsMap [ identity] ? . state, state)
@@ -731,7 +731,7 @@ final class PackageToolTests: XCTestCase {
731
731
// Try to pin bar at a revision.
732
732
do {
733
733
try execute ( " resolve " , " bar " , " --revision " , yoloRevision. identifier)
734
- let pinsStore = try PinsStore ( pinsFile: pinsFile, fileSystem: localFileSystem, mirrors: . init( ) )
734
+ let pinsStore = try PinsStore ( pinsFile: pinsFile, workingDirectory : prefix , fileSystem: localFileSystem, mirrors: . init( ) )
735
735
let state = CheckoutState . revision ( yoloRevision)
736
736
let identity = PackageIdentity ( path: barPath)
737
737
XCTAssertEqual ( pinsStore. pinsMap [ identity] ? . state, state)
@@ -772,7 +772,7 @@ final class PackageToolTests: XCTestCase {
772
772
773
773
// Test pins file.
774
774
do {
775
- let pinsStore = try PinsStore ( pinsFile: pinsFile, fileSystem: localFileSystem, mirrors: . init( ) )
775
+ let pinsStore = try PinsStore ( pinsFile: pinsFile, workingDirectory : prefix , fileSystem: localFileSystem, mirrors: . init( ) )
776
776
XCTAssertEqual ( pinsStore. pins. map { $0} . count, 2 )
777
777
for pkg in [ " bar " , " baz " ] {
778
778
let path = try SwiftPMProduct . packagePath ( for: pkg, packageRoot: fooPath)
@@ -791,7 +791,7 @@ final class PackageToolTests: XCTestCase {
791
791
// Try to pin bar.
792
792
do {
793
793
try execute ( " resolve " , " bar " )
794
- let pinsStore = try PinsStore ( pinsFile: pinsFile, fileSystem: localFileSystem, mirrors: . init( ) )
794
+ let pinsStore = try PinsStore ( pinsFile: pinsFile, workingDirectory : prefix , fileSystem: localFileSystem, mirrors: . init( ) )
795
795
let identity = PackageIdentity ( path: barPath)
796
796
XCTAssertEqual ( pinsStore. pinsMap [ identity] ? . state. version, " 1.2.3 " )
797
797
}
@@ -815,7 +815,7 @@ final class PackageToolTests: XCTestCase {
815
815
// We should be able to revert to a older version.
816
816
do {
817
817
try execute ( " resolve " , " bar " , " --version " , " 1.2.3 " )
818
- let pinsStore = try PinsStore ( pinsFile: pinsFile, fileSystem: localFileSystem, mirrors: . init( ) )
818
+ let pinsStore = try PinsStore ( pinsFile: pinsFile, workingDirectory : prefix , fileSystem: localFileSystem, mirrors: . init( ) )
819
819
let identity = PackageIdentity ( path: barPath)
820
820
XCTAssertEqual ( pinsStore. pinsMap [ identity] ? . state. version, " 1.2.3 " )
821
821
try checkBar ( 5 )
@@ -980,7 +980,7 @@ final class PackageToolTests: XCTestCase {
980
980
}
981
981
}
982
982
}
983
-
983
+
984
984
func testPackageLoadingCommandPathResilience( ) throws {
985
985
#if os(macOS)
986
986
fixture ( name: " ValidLayouts/SingleModule " ) { prefix in
@@ -998,13 +998,13 @@ final class PackageToolTests: XCTestCase {
998
998
} )
999
999
try localFileSystem. chmod ( . executable, path: fakeCmdPath)
1000
1000
}
1001
-
1001
+
1002
1002
// Invoke `swift-package`, passing in the overriding `PATH` environment variable.
1003
1003
let packageRoot = prefix. appending ( component: " Library " )
1004
1004
let patchedPATH = fakeBinDir. pathString + " : " + ProcessInfo. processInfo. environment [ " PATH " ] !
1005
1005
let result = try SwiftPMProduct . SwiftPackage. executeProcess ( [ " dump-package " ] , packagePath: packageRoot, env: [ " PATH " : patchedPATH] )
1006
1006
let textOutput = try result. utf8Output ( ) + result. utf8stderrOutput ( )
1007
-
1007
+
1008
1008
// Check that the wrong tools weren't invoked. We can't just check the exit code because of fallbacks.
1009
1009
XCTAssertNoMatch ( textOutput, . contains( " wrong xcrun invoked " ) )
1010
1010
XCTAssertNoMatch ( textOutput, . contains( " wrong sandbox-exec invoked " ) )
0 commit comments