Skip to content
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
wants to merge 73 commits into
base: main
Choose a base branch
from
Open

[pull] main from Quick:main #32

wants to merge 73 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Sep 4, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

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>
@pull pull bot added the ⤵️ pull label Sep 4, 2023
younata and others added 28 commits September 12, 2023 21:34
…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
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
…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>
dependabot bot and others added 30 commits May 16, 2024 16:13
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
…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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants