@@ -2290,7 +2290,9 @@ final class PackageCommandTests: CommandsTestCase {
2290
2290
2291
2291
try await runPlugin ( flags: [ ] , diagnostics: [ " print " ] ) { stdout, stderr in
2292
2292
XCTAssertMatch ( stdout, isOnlyPrint)
2293
- XCTAssertMatch ( stderr, isEmpty)
2293
+ let filteredStderr = stderr. components ( separatedBy: " \n " )
2294
+ . filter { !$0. contains ( " Unable to locate libSwiftScan " ) } . joined ( separator: " \n " )
2295
+ XCTAssertMatch ( filteredStderr, isEmpty)
2294
2296
}
2295
2297
2296
2298
try await runPlugin ( flags: [ ] , diagnostics: [ " print " , " progress " ] ) { stdout, stderr in
@@ -2309,7 +2311,7 @@ final class PackageCommandTests: CommandsTestCase {
2309
2311
XCTAssertMatch ( stderr, containsWarning)
2310
2312
}
2311
2313
2312
- try await runPluginWithError ( flags: [ ] , diagnostics: [ " print " , " progress " , " remark " , " warning " , " error " ] ) { stdout, stderr in
2314
+ try await runPluginWithError ( flags: [ ] , diagnostics: [ " print " , " progress " , " remark " , " warning " , " error " ] ) { stdout, stderr in
2313
2315
XCTAssertMatch ( stdout, isOnlyPrint)
2314
2316
XCTAssertMatch ( stderr, containsProgress)
2315
2317
XCTAssertMatch ( stderr, containsWarning)
@@ -2322,7 +2324,9 @@ final class PackageCommandTests: CommandsTestCase {
2322
2324
2323
2325
try await runPlugin ( flags: [ " -q " ] , diagnostics: [ " print " ] ) { stdout, stderr in
2324
2326
XCTAssertMatch ( stdout, isOnlyPrint)
2325
- XCTAssertMatch ( stderr, isEmpty)
2327
+ let filteredStderr = stderr. components ( separatedBy: " \n " )
2328
+ . filter { !$0. contains ( " Unable to locate libSwiftScan " ) } . joined ( separator: " \n " )
2329
+ XCTAssertMatch ( filteredStderr, isEmpty)
2326
2330
}
2327
2331
2328
2332
try await runPlugin ( flags: [ " -q " ] , diagnostics: [ " print " , " progress " ] ) { stdout, stderr in
@@ -2461,7 +2465,7 @@ final class PackageCommandTests: CommandsTestCase {
2461
2465
let containsLogtext = StringPattern . contains ( " command plugin: packageManager.build logtext: Building for debugging... " )
2462
2466
2463
2467
// Echoed logs have no prefix
2464
- let containsLogecho = StringPattern . regex ( " ^ Building for debugging...\n " )
2468
+ let containsLogecho = StringPattern . contains ( " Building for debugging... \n " )
2465
2469
2466
2470
// These tests involve building a target, so each test must run with a fresh copy of the fixture
2467
2471
// otherwise the logs may be different in subsequent tests.
@@ -2470,14 +2474,20 @@ final class PackageCommandTests: CommandsTestCase {
2470
2474
try await fixture ( name: " Miscellaneous/Plugins/CommandPluginTestStub " ) { fixturePath in
2471
2475
let ( stdout, stderr) = try await SwiftPM . Package. execute ( [ " print-diagnostics " , " build " ] , packagePath: fixturePath, env: [ " SWIFT_DRIVER_SWIFTSCAN_LIB " : " /this/is/a/bad/path " ] )
2472
2476
XCTAssertMatch ( stdout, isEmpty)
2473
- XCTAssertMatch ( stderr, isEmpty)
2477
+ // Filter some unrelated output that could show up on stderr.
2478
+ let filteredStderr = stderr. components ( separatedBy: " \n " )
2479
+ . filter { !$0. contains ( " Unable to locate libSwiftScan " ) } . joined ( separator: " \n " )
2480
+ XCTAssertMatch ( filteredStderr, isEmpty)
2474
2481
}
2475
2482
2476
2483
// Check that logs are returned to the plugin when echoLogs is false
2477
2484
try await fixture ( name: " Miscellaneous/Plugins/CommandPluginTestStub " ) { fixturePath in
2478
2485
let ( stdout, stderr) = try await SwiftPM . Package. execute ( [ " print-diagnostics " , " build " , " printlogs " ] , packagePath: fixturePath, env: [ " SWIFT_DRIVER_SWIFTSCAN_LIB " : " /this/is/a/bad/path " ] )
2479
2486
XCTAssertMatch ( stdout, containsLogtext)
2480
- XCTAssertMatch ( stderr, isEmpty)
2487
+ // Filter some unrelated output that could show up on stderr.
2488
+ let filteredStderr = stderr. components ( separatedBy: " \n " )
2489
+ . filter { !$0. contains ( " Unable to locate libSwiftScan " ) } . joined ( separator: " \n " )
2490
+ XCTAssertMatch ( filteredStderr, isEmpty)
2481
2491
}
2482
2492
2483
2493
// Check that logs echoed to the console (on stderr) when echoLogs is true
@@ -2784,14 +2794,14 @@ final class PackageCommandTests: CommandsTestCase {
2784
2794
do {
2785
2795
let ( stdout, stderr) = try await SwiftPM . Package. execute ( [ " plugin " , " MyPlugin " , " --foo " , " --help " , " --version " , " --verbose " ] , packagePath: packageDir, env: [ " SWIFT_DRIVER_SWIFTSCAN_LIB " : " /this/is/a/bad/path " ] )
2786
2796
XCTAssertMatch ( stdout, . contains( " success " ) )
2787
- XCTAssertEqual ( stderr, " " )
2797
+ XCTAssertFalse ( stderr. contains ( " error: " ) )
2788
2798
}
2789
2799
2790
2800
// Check default command arguments
2791
2801
do {
2792
2802
let ( stdout, stderr) = try await SwiftPM . Package. execute ( [ " MyPlugin " , " --foo " , " --help " , " --version " , " --verbose " ] , packagePath: packageDir, env: [ " SWIFT_DRIVER_SWIFTSCAN_LIB " : " /this/is/a/bad/path " ] )
2793
2803
XCTAssertMatch ( stdout, . contains( " success " ) )
2794
- XCTAssertEqual ( stderr, " " )
2804
+ XCTAssertFalse ( stderr. contains ( " error: " ) )
2795
2805
}
2796
2806
}
2797
2807
}
0 commit comments