-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Some of the GenerateXcodeprojTests are hanging on pull request testing #2809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some of the GenerateXcodeprojTests are hanging on pull request testing #2809
Conversation
Some of the Xcode project generation tests were using in-memory file systems and others not. But the Xcode project generation code does not currently support non-local file systems (which should itself perhaps be addressed), and so this could cause tests to start traversing large parts of the actual file system, including over NFS mounts. Ideally the Xcode project generation should support the in-memory file system, but since this functionality was primarily useful before Xcode supported loading packages natively, it's not clear whether it's worth the effort to fix that. rdar://65200866
@swift-ci please smoke test |
The test failure ( |
I think I see what's going on here. A change went into |
Waiting for #2779 to finish its tests, after which we can merge it (it's been approved). That should make the tests for this PR go green, and then we just need a review before merging. |
@swift-ci please smoke test |
Probably best to view the diff without whitespace changes, since the nesting level changed for some of the code in the tests. |
@@ -29,15 +29,18 @@ class GenerateXcodeprojTests: XCTestCase { | |||
func testXcodebuildCanParseIt() { | |||
#if os(macOS) | |||
mktmpdir { dstdir in | |||
let fileSystem = InMemoryFileSystem(emptyFiles: "/Sources/DummyModuleName/source.swift") | |||
let packagePath = dstdir.appending(component: "foo") | |||
let modulePath = packagePath.appending(components: "Sources", "DummyModuleName") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not an issue, but func appending(components names: String...) -> AbsolutePath
is an interesting implementation... 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use that function all over the place though. Are you saying it would be better to use two appends?
Some of the Xcode project generation tests were using in-memory file systems and others not. But the Xcode project generation code does not currently support non-local file systems (which should itself perhaps be addressed), and so this could cause tests to start traversing large parts of the actual file system, including over NFS mounts.
Ideally the Xcode project generation should support the in-memory file system, but since this functionality was primarily useful before Xcode supported loading packages natively, it's not clear whether it's worth the effort to fix that.
rdar://65200866