forked from Quick/Nimble
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[pull] main from Quick:main #32
Open
pull
wants to merge
73
commits into
iT-Boyer:main
Choose a base branch
from
Quick:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ncy (#1079) * Implement the async variant of toEventually using structured concurrency ... mostly. This replaces the Dispatch-based version of async toEventually with one that uses native Swift Concurrency components This was done to eliminate the chance that the matcher could be polled more than one at a time, and to also make way for future Sendable requirements. * NSLocking.withLock is not available in earlier versions of the OS * Remove NimbleTimeInterval+Duration * Reimplement AsyncTimerSequence to use a simplified form of the Clock protocol This allows us to longer have to verify time intervals in test, removing a source of test flakiness * Fix swiftlint errors
* Fix all swiftlint warnings * Fix race condition caused by me not having a full mental model of how Actors work
Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.12.1 to 1.13.0. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md) - [Commits](CocoaPods/CocoaPods@1.12.1...1.13.0) --- updated-dependencies: - dependency-name: cocoapods dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Successfully compile and test on Windows * Add Windows CI job * Provide divergent implementations for stop We need to preserve the CFRunLoopStop calls for platforms which can use CoreFoundation. * Add back the runLoopMode selection code * Restore missing code block
* Rename Predicate to Matcher Because I couldn't think of a better name, This re-uses the name of the old Matcher API (removed since Nimble 10.0). This change is due to the 2023 Apple Platforms release renaming NSPredicate to Predicate, which causes friction for developers creating custom matchers. * Add typealias AsyncPredicate = AsyncMatcher
Adds support for DriverKit
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Rachel Brindle <[email protected]>
Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.13.0 to 1.14.2. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/1.14.2/CHANGELOG.md) - [Commits](CocoaPods/CocoaPods@1.13.0...1.14.2) --- updated-dependencies: - dependency-name: cocoapods dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…fore continuing (#1103) * Introduce the require-dsl. expect, but it returns the result of the expression As implied, this is basically a copy-paste of the functionality of expect. It's not complete, and it's not well-tested. But it gets the idea across. Future work is cleaning this up, backfilling tests for features (such as the unwrap function), and adding support for polling requirements (i.e. toEventually). Other than functionality, require also files the errorThrown issue type with XCTest, whereas expect files the assertionFailed issue type. This has minor differences that are mostly semantics. Also, in addition to the require dsl, this also adds unwrap, which is a shorthand for `require(...).toNot(beNil())`. * Backfill some tests for requirement Support async, but not yet polling. * CustomNSError is only defined in Foundation * Support polling using require Oh, gosh. This is terrible. I think a cleaner way to do this would be to change MatcherResult to also store the most recent value. But that would be a breaking change, and might require updating existing matchers, so... no. * require should allow you to discard the result Rename requireAsync to requirea - matching the example set forth by expecta. Adds requires, which is requirea, but for specifying SyncRequirement. * Document require in the README Update the table of contents with doctoc. * Remove AssertionHandler.require., require matcher failures will be recorded as test assertion failures, which is what they are anyway. * backfill tests for pollUnwrap Also actually mark the non-polling require dsl as discardableResult * Mark Expectation.onFailure as deprecated in favor of the require dsl * Rename RequirementError to RequireError Fixed test failure on linux * Allow passing a custom error to be thrown by require * Update readme TOC
…1108) * CwlCatchException and CwlPreconditionTesting dropped carthage support Stop embedding them, and pull them in through SPM or Cocoapods transitively. * Avoid checking in the carthage directory * Fix podspec lint errors * Add specific error messaging when trying to use throwAssertion on watchOS/tvOS and cocoapods * Add github action to verify that carthage still builds * (re)add verbose logging to podspec and carthage tests
…oaWithLove exception helper libraries (#1109)
…cher against the return value of that function (#1112)
* Build the carthage frameworks in a github action * Use the carthage build script to deploy release Drop the unused driverkit platform * Carthage --archive does not work correctly with --use-xcframeworks, so use a workaround.
Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.14.2 to 1.14.3. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/1.14.3/CHANGELOG.md) - [Commits](CocoaPods/CocoaPods@1.14.2...1.14.3) --- updated-dependencies: - dependency-name: cocoapods dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add compiler directives for visionOS support * add SPM visionOS support * add CocoaPods visionOS support * update Carthage dependencies * add visionOS support when using the Xcode project * extend test script to include visionOS * fix cocoapods support by modifying dependencies directly * do not break older Swift version support by creating a swift 5.9 explicit Package.swift file * skip tests on visionOS if it's not present * fix build issues below Xcode 15 * skip visionOS cocoapod validation if visionOS is not present * move TARGET_OS_VISION definition to umbrella header * bump CwlPreconditionTesting to 2.2.0 * link CwlPreconditionTesting on visionOS * add visionOS for to dependencies array * add CI execution for visionOS with Xcode 15.2 * remove visionOS testing on Xcode 15.2 * it looks like the visionOS simulator is not created by default on the used macOS image
Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.14.3 to 1.15.0. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md) - [Commits](CocoaPods/CocoaPods@1.14.3...1.15.0) --- updated-dependencies: - dependency-name: cocoapods dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.6 to 3.2.8. - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](ruby/rexml@v3.2.6...v3.2.8) --- updated-dependencies: - dependency-name: rexml dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.8 to 3.3.6. - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](ruby/rexml@v3.2.8...v3.3.6) --- updated-dependencies: - dependency-name: rexml dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Provide basic integration with Swift Testing This is not reliable, in fact, failure reporting is flaky. * Spike utilizing my changes to Swift Testing to allow direct recording of issues * link to my branch of swift testing enabling public issues * Support the current version of Swift Testing * Fix broken tests * Fix a broken test helper * Correct a long-broken test because expectFailureMessageRegex has been a no-op for ages
Also allow pollUnwrap to take in custom timeout and polling intervals. Fixes a bug in the async version of withAssertionRecorder where we didn't reset the assertion recorder after tests
Thanks PointFree for documenting a fix.
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.6 to 3.3.9. - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](ruby/rexml@v3.3.6...v3.3.9) --- updated-dependencies: - dependency-name: rexml dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
beAnInstanceOf was not correctly matching when an exact type as was expected was given. This fixes that by emulating the previous typing of beAnInstanceOf while still working when used as a submatcher
Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.15.2 to 1.16.2. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/1.16.2/CHANGELOG.md) - [Commits](CocoaPods/CocoaPods@1.15.2...1.16.2) --- updated-dependencies: - dependency-name: cocoapods dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Rachel Brindle <[email protected]>
Bumps [jazzy](https://github.com/realm/jazzy) from 0.14.4 to 0.15.3. - [Release notes](https://github.com/realm/jazzy/releases) - [Changelog](https://github.com/realm/jazzy/blob/master/CHANGELOG.md) - [Commits](realm/jazzy@v0.14.4...v0.15.3) --- updated-dependencies: - dependency-name: jazzy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Fix error message grammar
And also provide another overload of map that takes in an optional and behaves much more closely to what the original map matcher does
Co-authored-by: Rachel Brindle <[email protected]>
…gainst AnyObject protocols (#1183) * Fix regression where be and beIdenticalTo matchers stopped matching against AnyObject protocols * Fix build issue on older versions of swift
* Bump CI actions Github retired macos 12 runners, so upgrade to more recent versions * Exclude the MixedSwiftTestingXCTestSupport test from building on non-darwin platforms * Specify the container to build documentation on
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )