Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a487b50
feat(xcresult): resolve test files from declarations, not failures
dfrankland Aug 29, 2026
dfbe20b
fix(xcresult): stop dropping nested test suites
dfrankland Aug 29, 2026
8b2e6ab
test(xcresult): cover a nested suite and passing tests with a real bu…
dfrankland Aug 29, 2026
f9776f7
test(xcresult): run every bundle through the declaration path as a re…
dfrankland Aug 29, 2026
780afb2
fix(xcresult): read a copy of the bundle instead of migrating the cal…
dfrankland Aug 29, 2026
b2a5e55
feat(xcresult): break a declaration collision with the target that ra…
dfrankland Aug 31, 2026
e95a0e9
fix(xcresult): attribute an inherited test to the suite that ran it
dfrankland Sep 3, 2026
6194484
test(xcresult): test the public surface, and delete what fixtures alr…
dfrankland Sep 3, 2026
64ee56d
test(xcresult): move the new fixtures' parity cases out of xcresult.rs
dfrankland Sep 3, 2026
8d26989
fix(xcresult): read the caller's bundle instead of copying every one
dfrankland Sep 4, 2026
064ae1c
test(xcresult): move this PR's declaration tests out of xcresult.rs
dfrankland Sep 4, 2026
215a6dd
test(xcresult): collapse the declaration tests that were the same test
dfrankland Sep 4, 2026
4695f84
fix(xcresult): gate the macOS-only test imports off other platforms
dfrankland Sep 9, 2026
3c23c41
fix(xcresult): attribute an inherited test to the class that declares it
dfrankland Sep 10, 2026
00605b1
perf(xcresult): stream each source file to the server instead of hold…
dfrankland Sep 10, 2026
5f9e0d4
refactor(xcresult): find a language server without requiring xcrun
dfrankland Aug 31, 2026
f0c5666
feat(xcresult): resolve declarations from `swift test --xunit-output`
dfrankland Aug 31, 2026
eaaf576
test(xcresult): pin parity between the xcresult and swift test inputs
dfrankland Aug 31, 2026
8534f1f
test(xcresult): pin that argument labels are part of a test's identity
dfrankland Aug 31, 2026
98a9eb0
test(xcresult): cover an inherited XCTest method, which has no labels…
dfrankland Aug 31, 2026
cf97a85
test(xcresult): give CI the Swift toolchain these tests actually need
dfrankland Sep 9, 2026
8e10f65
feat(cli): add --swift-test-xunit-paths and fill in declared files
dfrankland Aug 31, 2026
43b1b20
fix(cli): keep the xcresult gate on the xcresult handler
dfrankland Sep 9, 2026
baffa6a
fix(xcresult): fence the id-comparison block like every other one in …
dfrankland Sep 9, 2026
db54e00
Merging baffa6a3b47a38d260dcb04b3f905d3d5d4504f9 into trunk-temp/pr-1…
trunk-io[bot] Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,29 @@ jobs:
exit 1
fi

# The declaration path finds `sourcekit-lsp` on `PATH`, which is where every documented
# Linux install puts it. The Ubuntu runner image is the exception: it symlinks only
# `swift` and `swiftc` into /usr/local/bin and leaves the rest of the toolchain reachable
# only through $SWIFT_PATH. Without this the swift-test-xunit tests find no server.
- name: Put the Swift toolchain on PATH
if: ${{ startsWith(matrix.platform.os-name, 'linux-') }}
shell: bash
run: |
if [[ -z "${SWIFT_PATH:-}" ]]; then
echo "SWIFT_PATH is unset - the runner image no longer ships Swift where expected" >&2
exit 1
fi
echo "$SWIFT_PATH" >> "$GITHUB_PATH"

- name: Run tests
uses: ./.github/actions/run_tests
id: tests
continue-on-error: true
env:
# macOS finds the server through `xcrun`, and the step above puts it on `PATH` for
# Linux -- so anywhere but the self-hosted Windows runner, which has no Swift at all,
# a missing server means the environment broke rather than that these should skip.
REQUIRE_LANGUAGE_SERVER: ${{ matrix.platform.os-name != 'windows-x86_64' && '1' || '' }}
with:
target: ${{ matrix.platform.target }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
97 changes: 95 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ more-asserts = "0.3.1"
predicates = "3.0.3"
pretty_assertions = "0.6"
prost-wkt-types = { version = "0.5.1", features = ["vendored-protox"] }
rstest = "0.26.1"

[build-dependencies]
vergen = { version = "8.3.1", features = [
Expand Down
Loading
Loading