Open ec882e32-f2b6-4d2a-849c-98d6c7df0cfb opened 8 years ago
Resetting assignee on all Starter Bugs not modified since 2018.
Comment by Kazuhiro Hayashi (JIRA)
Has someone already fixed this issue? I want to try. 🙂
Comment by Kazuhiro Hayashi (JIRA)
This issue has been fixed by the following commit?
cc @stmontgomery
kazuhiro4949 (JIRA User) No I don't believe that PR addressed this, so it's still outstanding. Feel free to submit a PR!
Comment by pranav (JIRA)
@stmontgomery @belkadan @modocache Could you please help me in merging the pull request for the task? This pull request has been blocked for a while due to a dependency in Foundation framework (in wrappers for CFRunloopContext). I have root caused the issue (crash) but not sure about the best solution.
Please help me in merging this pull request. Thanks.
Link to pull request: https://github.com/apple/swift-corelibs-xctest/pull/304
cc: @millenomi @compnerd
Incorrectly closed the issue as wontfix
—forgot swift-corelibs-foundation had added SPI to allow implementing something here. My bad.
Additional Detail from JIRA
| | | |------------------|-----------------| |Votes | 0 | |Component/s | XCTest | |Labels | Improvement, StarterBug | |Assignee | pranavShenoy95 (JIRA) | |Priority | Medium | md5: 2f80d90c1c1340fe3c193450551b82f7Issue Description:
See this FIXME:
"Instead of polling the expectations to check whether they've been fulfilled, it would be more efficient to use a runloop source that can be signaled to wake up when an expectation is fulfilled."
Prerequisites:
Helpful skills:
Familiarity with Swift, XCTest, and Foundation's NSRunLoop.
Starting point:
Build Swift from source by following the instructions in the Swift README.
Build and run the swift-corelibs-xctest tests by following the instructions in the swift-corelibs-xctest README. Confirm that all the tests pass.
Modify the source code in
XCTestCase+Asynchronous.swift
to use a runloop source. The Apple documentation on run loops might be helpful.Run the swift-corelibs-xctest tests again. Confirm they all still pass. If they do, send a pull request!