Fix tests for Jenkins that always build for iOS
Some checks reported warnings
gitea-openium/resgen.swift/pipeline/head This commit is unstable

This commit is contained in:
Thibaut Schmitt 2025-04-30 12:03:57 +02:00
parent ae7c0abbc2
commit 1dbf4c643d
7 changed files with 38 additions and 36 deletions

View File

@ -22,8 +22,14 @@ struct Twine: ParsableCommand {
static let toolName = "Twine"
static let defaultExtensionName = "String"
static let twineExecutable = "\(FileManager.default.homeDirectoryForCurrentUser.relativePath)/scripts/twine/twine"
static let twineExecutable: String = {
#if os(macOS)
"\(FileManager.default.homeDirectoryForCurrentUser.relativePath)/scripts/twine/twine"
#else
fatalError("This command should run on Mac only")
#endif
}()
// MARK: - Command Options
@OptionGroup var options: TwineOptions

View File

@ -12,35 +12,13 @@ public class Shell {
public static var environment: [String: String] {
ProcessInfo.processInfo.environment
}
// @discardableResult
// public static func shell(launchPath: String = "/usr/bin/env", _ args: String...) -> (terminationStatus: Int32, output: String?) {
// let task = Process()
// task.launchPath = launchPath
// task.arguments = args
//
// var currentEnv = ProcessInfo.processInfo.environment
// for (key, value) in environment {
// currentEnv[key] = value
// }
// task.environment = currentEnv
//
// let pipe = Pipe()
// task.standardOutput = pipe
// try? task.run()
// task.waitUntilExit()
//
// let data = pipe.fileHandleForReading.readDataToEndOfFile()
//
// guard let output: String = String(data: data, encoding: .utf8) else {
// return (terminationStatus: task.terminationStatus, output: nil)
// }
//
// return (terminationStatus: task.terminationStatus, output: output)
// }
@discardableResult
public static func shell(launchPath: String = "/usr/bin/env", _ args: [String]) -> (terminationStatus: Int32, output: String?) {
public static func shell(
launchPath: String = "/usr/bin/env",
_ args: [String]
) -> (terminationStatus: Int32, output: String?) {
#if os(macOS)
let task = Process()
task.launchPath = launchPath
task.arguments = args
@ -63,5 +41,8 @@ public class Shell {
}
return (terminationStatus: task.terminationStatus, output: output)
#else
fatalError("Shell is only available on Mac")
#endif
}
}

View File

@ -60,7 +60,11 @@ public extension String {
func replaceTiltWithHomeDirectoryPath() -> Self {
// See NSString.expandingTildeInPath
#if os(macOS)
replacingOccurrences(of: "~", with: "\(FileManager.default.homeDirectoryForCurrentUser.relativePath)")
#else
fatalError("This command should run on Mac only")
#endif
}
func colorComponent() -> (alpha: String, red: String, green: String, blue: String) {

View File

@ -5,6 +5,8 @@
// Created by Loris Perret on 06/12/2023.
//
#if os(macOS)
import Foundation
import XCTest
@ -135,3 +137,5 @@ final class AnalyticsDefinitionTests: XCTestCase {
XCTAssertEqual(propertyEvent.adaptForXCTest(), expectEvent.adaptForXCTest())
}
}
#endif

View File

@ -5,6 +5,8 @@
// Created by Thibaut Schmitt on 06/09/2022.
//
#if os(macOS)
import Foundation
import XCTest
import ToolCore
@ -58,7 +60,7 @@ final class AnalyticsGeneratorTests: XCTestCase {
extensionName: "GenAnalytics")
// Expect Analytics
let expect = """
// Generated by ResgenSwift.Analytics 1.2
// Generated by ResgenSwift.Analytics \(ResgenSwiftVersion)
import FirebaseAnalytics
@ -229,7 +231,7 @@ final class AnalyticsGeneratorTests: XCTestCase {
extensionName: "GenAnalytics")
// Expect Analytics
let expect = """
// Generated by ResgenSwift.Analytics 1.2
// Generated by ResgenSwift.Analytics \(ResgenSwiftVersion)
import MatomoTracker
@ -422,7 +424,7 @@ final class AnalyticsGeneratorTests: XCTestCase {
extensionName: "GenAnalytics")
// Expect Analytics
let expect = """
// Generated by ResgenSwift.Analytics 1.2
// Generated by ResgenSwift.Analytics \(ResgenSwiftVersion)
import MatomoTracker
import FirebaseAnalytics
@ -633,3 +635,5 @@ final class AnalyticsGeneratorTests: XCTestCase {
XCTAssertEqual(extensionContent.adaptForXCTest(), expect.adaptForXCTest())
}
}
#endif

View File

@ -5,6 +5,8 @@
// Created by Loris Perret on 06/12/2023.
//
#if os(macOS)
import Foundation
import XCTest
@ -70,3 +72,5 @@ final class AnalyticsSectionTests: XCTestCase {
XCTAssertFalse(match3)
}
}
#endif

View File

@ -14,9 +14,8 @@ final class ResgenCLITests: XCTestCase {
return
}
// Mac Catalyst won't have `Process`, but it is supported for executables.
#if !targetEnvironment(macCatalyst)
// Process available on Mac only
#if os(macOS)
let fooBinary = productsDirectory.appendingPathComponent("ResgenSwift")
let process = Process()