mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-12-21 19:20:06 +01:00
♻️ Use checked continuation for RealShell.pipe(), fix tests
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
0309E6672B0D4B2F002AC007 /* BrewExtensionsObservable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0309E6662B0D4B2F002AC007 /* BrewExtensionsObservable.swift */; };
|
||||
0310B17A2EB8F3FF00A8B140 /* CrashReporter in Frameworks */ = {isa = PBXBuildFile; productRef = 0310B1792EB8F3FF00A8B140 /* CrashReporter */; };
|
||||
0310B17C2EB8F40100A8B140 /* CrashReporter in Frameworks */ = {isa = PBXBuildFile; productRef = 0310B17B2EB8F40100A8B140 /* CrashReporter */; };
|
||||
0310B17E2EB8F40400A8B140 /* CrashReporter in Frameworks */ = {isa = PBXBuildFile; productRef = 0310B17D2EB8F40400A8B140 /* CrashReporter */; };
|
||||
031E2B692B1525A7007C29E1 /* BrewPhpExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031E2B682B1525A7007C29E1 /* BrewPhpExtension.swift */; };
|
||||
031E2B6A2B1525A7007C29E1 /* BrewPhpExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031E2B682B1525A7007C29E1 /* BrewPhpExtension.swift */; };
|
||||
031E2B6B2B1525A7007C29E1 /* BrewPhpExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031E2B682B1525A7007C29E1 /* BrewPhpExtension.swift */; };
|
||||
@@ -1330,6 +1333,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C470150B2C46D81E0069AAE7 /* NVAlert in Frameworks */,
|
||||
0310B17C2EB8F40100A8B140 /* CrashReporter in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -1338,6 +1342,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C470150D2C46D83E0069AAE7 /* NVAlert in Frameworks */,
|
||||
0310B17E2EB8F40400A8B140 /* CrashReporter in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -1346,6 +1351,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C47015072C46D8180069AAE7 /* NVAlert in Frameworks */,
|
||||
0310B17A2EB8F3FF00A8B140 /* CrashReporter in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -2484,6 +2490,7 @@
|
||||
name = "Feature Tests";
|
||||
packageProductDependencies = (
|
||||
C470150A2C46D81E0069AAE7 /* NVAlert */,
|
||||
0310B17B2EB8F40100A8B140 /* CrashReporter */,
|
||||
);
|
||||
productName = "Feature Tests";
|
||||
productReference = C471E7AD28F9B4940021E251 /* Feature Tests.xctest */;
|
||||
@@ -2505,6 +2512,7 @@
|
||||
name = "UI Tests";
|
||||
packageProductDependencies = (
|
||||
C470150C2C46D83E0069AAE7 /* NVAlert */,
|
||||
0310B17D2EB8F40400A8B140 /* CrashReporter */,
|
||||
);
|
||||
productName = "UI Tests";
|
||||
productReference = C471E7BC28F9B90F0021E251 /* UI Tests.xctest */;
|
||||
@@ -2526,6 +2534,7 @@
|
||||
name = "Unit Tests";
|
||||
packageProductDependencies = (
|
||||
C47015062C46D8180069AAE7 /* NVAlert */,
|
||||
0310B1792EB8F3FF00A8B140 /* CrashReporter */,
|
||||
);
|
||||
productName = "phpmon-tests";
|
||||
productReference = C4F7807925D7F84B000DBC97 /* Unit Tests.xctest */;
|
||||
@@ -4583,6 +4592,21 @@
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
/* Begin XCSwiftPackageProductDependency section */
|
||||
0310B1792EB8F3FF00A8B140 /* CrashReporter */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 03D846292EB6418F006EFE3C /* XCRemoteSwiftPackageReference "plcrashreporter" */;
|
||||
productName = CrashReporter;
|
||||
};
|
||||
0310B17B2EB8F40100A8B140 /* CrashReporter */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 03D846292EB6418F006EFE3C /* XCRemoteSwiftPackageReference "plcrashreporter" */;
|
||||
productName = CrashReporter;
|
||||
};
|
||||
0310B17D2EB8F40400A8B140 /* CrashReporter */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 03D846292EB6418F006EFE3C /* XCRemoteSwiftPackageReference "plcrashreporter" */;
|
||||
productName = CrashReporter;
|
||||
};
|
||||
03D8462A2EB6418F006EFE3C /* CrashReporter */ = {
|
||||
isa = XCSwiftPackageProductDependency;
|
||||
package = 03D846292EB6418F006EFE3C /* XCRemoteSwiftPackageReference "plcrashreporter" */;
|
||||
|
||||
@@ -127,17 +127,22 @@ class RealShell: ShellProtocol {
|
||||
|
||||
task.standardOutput = outputPipe
|
||||
task.standardError = errorPipe
|
||||
task.launch()
|
||||
task.waitUntilExit()
|
||||
|
||||
let stdOut = String(data: outputPipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!
|
||||
let stdErr = String(data: errorPipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!
|
||||
return await withCheckedContinuation { continuation in
|
||||
task.terminationHandler = { [weak self] _ in
|
||||
let stdOut = String(data: outputPipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!
|
||||
let stdErr = String(data: errorPipe.fileHandleForReading.readDataToEndOfFile(), encoding: .utf8)!
|
||||
|
||||
if Log.shared.verbosity == .cli {
|
||||
log(task: task, stdOut: stdOut, stdErr: stdErr)
|
||||
if Log.shared.verbosity == .cli {
|
||||
self?.log(task: task, stdOut: stdOut, stdErr: stdErr)
|
||||
}
|
||||
|
||||
continuation.resume(returning: .out(stdOut, stdErr))
|
||||
}
|
||||
|
||||
task.launch()
|
||||
task.waitUntilExit()
|
||||
}
|
||||
|
||||
return .out(stdOut, stdErr)
|
||||
}
|
||||
|
||||
private func log(task: Process, stdOut: String, stdErr: String) {
|
||||
|
||||
Reference in New Issue
Block a user