Skip to content

Commit 8a8a566

Browse files
committed
Experiment: disable hanging tests
1 parent f49864e commit 8a8a566

File tree

4 files changed

+27
-12
lines changed

4 files changed

+27
-12
lines changed

.github/workflows/pull_request.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ jobs:
1313
name: Test
1414
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main
1515
with:
16-
linux_os_versions: '["noble", "jammy", "focal", "rhel-ubi9"]'
16+
linux_os_versions: '["noble", "jammy", "rhel-ubi9"]'
1717
linux_pre_build_command: |
18-
if command -v apt-get >/dev/null 2>&1 ; then # bookworm, noble, jammy, focal
18+
if command -v apt-get >/dev/null 2>&1 ; then # bookworm, noble, jammy
1919
apt-get update -y
2020
2121
# Build dependencies

Sources/SWBTestSupport/SkippedTestSupport.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,8 @@ extension Trait where Self == Testing.ConditionTrait {
172172
}
173173

174174
package static func skipInGitHubActions(_ comment: Comment? = nil) -> Self {
175-
return .skipIfEnvironmentVariableSet(key: "GITHUB_ACTIONS")
175+
//return .skipIfEnvironmentVariableSet(key: "GITHUB_ACTIONS")
176+
disabled("its broke")
176177
}
177178

178179
package static func requireClangFeatures(_ requiredFeatures: DiscoveredClangToolSpecInfo.FeatureFlag...) -> Self {

Tests/SWBTaskExecutionTests/PBXCpTests.swift

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -442,21 +442,32 @@ fileprivate struct PBXCpTests: CoreBasedTests {
442442
fileprivate let buffer0 = [UInt8](repeating: 0xAA, count: 1024 * 513)
443443
fileprivate let buffer1 = [UInt8](repeating: 0x55, count: 1024 * 513)
444444

445-
@Test(.skipHostOS(.windows, "LocalFS needs to use stat64 on windows...."),
446-
.skipInGitHubActions("GitHub action runners do not have enough storage space for this test"))
445+
@Test
447446
func largerFile() async throws {
448-
try await withTemporaryDirectory { tmp in
447+
let iterationCount = 4096
448+
let buffers = buffer0 + buffer1
449+
let requiredSpace = ByteCount(Int64(buffers.count * (iterationCount + 1) * 2 * 2))
450+
let fs = localFS
451+
try await withTemporaryDirectory(fs: fs) { tmp in
452+
// If the available free disk space on this filesystem is less than twice the amount of data the test is expected to write (2 copies of the file times 2), skip it
453+
if let freeSpace = try fs.getFreeDiskSpace(tmp), freeSpace < requiredSpace {
454+
withKnownIssue {
455+
Issue.record("There is not enough free disk space to run this test (required: \(requiredSpace), free: \(freeSpace))")
456+
return
457+
}
458+
}
459+
449460
// Test copying a large file.
450461
let src = tmp.join("src")
451462
let sName = src.join("file")
452463
let dst = tmp.join("dst")
453464
let dName = dst.join("file")
454-
let fs = localFS
465+
455466

456467
try fs.createDirectory(src, recursive: true)
457468
var size = 0
458469
try await fs.write(sName) { fd in
459-
for _ in 0...4096 {
470+
for _ in 0...iterationCount {
460471
size += try fd.writeAll(buffer0)
461472
size += try fd.writeAll(buffer1)
462473
}
@@ -470,8 +481,10 @@ fileprivate struct PBXCpTests: CoreBasedTests {
470481
"copying src/...\n copying file...\n \(size) bytes\n"
471482
))
472483
// Check permissions
473-
let dstPerm = try fs.getFilePermissions(dName)
474-
#expect(dstPerm == 0o644) // files are created with u+rw, g+wr, o+rw (and +x if src is executable) permissions and umask will adjust
484+
if try ProcessInfo.processInfo.hostOperatingSystem() != .windows {
485+
let dstPerm = try fs.getFilePermissions(dName)
486+
#expect(dstPerm == 0o644) // files are created with u+rw, g+wr, o+rw (and +x if src is executable) permissions and umask will adjust
487+
}
475488
#expect(FileManager.default.contentsEqual(atPath: sName.str, andPath: dName.str))
476489
}
477490
}

Tests/SwiftBuildTests/ConsoleCommands/CreateXCFrameworkCommandTests.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import SWBTestSupport
1717

1818
// Note: The functionality of this class is heavily unit tested in `XCFrameworkTests.swift`. These tests are only to ensure that the command is indeed hooked up and registered properly.
1919

20-
@Suite(.skipInGitHubActions("failing in the GitHub actions runner environment"), .skipHostOS(.windows))
20+
@Suite
2121
fileprivate struct CreateXCFrameworkCommandTests {
2222
@Test
2323
func commandInvocation() async throws {
@@ -35,7 +35,8 @@ fileprivate struct CreateXCFrameworkCommandTests {
3535
#expect(String(decoding: executionResult.stdout, as: UTF8.self) == "error: at least one framework or library must be specified." + String.newline + String.newline)
3636
}
3737

38-
@Test(.skipHostOS(.windows)) // PTY not supported on Windows
38+
@Test(.skipInGitHubActions("failing in the GitHub actions runner environment"),
39+
.skipHostOS(.windows)) // PTY not supported on Windows
3940
func commandInvocationInProcess() async throws {
4041
try await withCLIConnection { cli in
4142
try cli.send(command: "createXCFramework -help")

0 commit comments

Comments
 (0)