Skip to content

[test] Migrate from trybuild to ui-test#2986

Open
joshlf wants to merge 1 commit intoG793f61a136b912fbd5ee4315cdea7cf3cf3cf8fbfrom
Gbc6b00b4dee88c0d25be0b277998861157eccda7
Open

[test] Migrate from trybuild to ui-test#2986
joshlf wants to merge 1 commit intoG793f61a136b912fbd5ee4315cdea7cf3cf3cf8fbfrom
Gbc6b00b4dee88c0d25be0b277998861157eccda7

Conversation

@joshlf
Copy link
Member

@joshlf joshlf commented Feb 4, 2026

Closes #187


Latest Update: v16 — Compare vs v15

📚 Full Patch History

Links show the diff between the row version and the column version.

Version v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v8 v7 v6 v5 v4 v3 v2 v1 Base
v7 v6 v5 v4 v3 v2 v1 Base
v6 v5 v4 v3 v2 v1 Base
v5 v4 v3 v2 v1 Base
v4 v3 v2 v1 Base
v3 v2 v1 Base
v2 v1 Base
v1 Base
⬇️ Download this PR

Branch

git fetch origin refs/heads/Gbc6b00b4dee88c0d25be0b277998861157eccda7 && git checkout -b pr-Gbc6b00b4dee88c0d25be0b277998861157eccda7 FETCH_HEAD

Checkout

git fetch origin refs/heads/Gbc6b00b4dee88c0d25be0b277998861157eccda7 && git checkout FETCH_HEAD

Cherry Pick

git fetch origin refs/heads/Gbc6b00b4dee88c0d25be0b277998861157eccda7 && git cherry-pick FETCH_HEAD

Pull

git pull origin refs/heads/Gbc6b00b4dee88c0d25be0b277998861157eccda7

Stacked PRs enabled by GHerrit.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @joshlf, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refactors the project's UI testing setup by switching from trybuild to ui-test. This change aims to simplify the testing harness, reduce external dependencies, and consolidate test configurations into a more maintainable structure. The new setup dynamically adapts to different Rust toolchains (MSRV, stable, nightly) for UI tests.

Highlights

  • UI Testing Framework Migration: The project's UI testing infrastructure has been migrated from the trybuild crate to the ui-test framework, streamlining the testing process.
  • Dependency Reduction: Several dependencies, including basic-toml, glob, once_cell, termcolor, and trybuild itself, have been removed from Cargo.lock and Cargo.toml as a result of this migration.
  • Test File Consolidation: All UI test files previously organized under tests/ui-msrv and tests/ui-nightly have been removed, and their functionality is now handled by the new ui-test setup within a unified tests/ui directory.
  • New UI Test Runner: A new tests/ui.rs file has been introduced, which acts as the entry point for the ui-test runner, handling toolchain detection and argument forwarding for UI tests.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • Cargo.lock
    • Removed basic-toml dependency
    • Removed glob dependency
    • Removed once_cell dependency
    • Removed termcolor dependency
    • Removed trybuild dependency
  • Cargo.toml
    • Added a new [[test]] section for the ui test target, configuring tests/ui.rs with harness = false
    • Removed the trybuild dependency from the [dev-dependencies] section
  • tests/trybuild.rs
    • Removed the old trybuild-based UI test runner file
  • tests/ui-msrv/diagnostic-not-implemented-from-bytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-from-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-from-zeros.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-from-zeros.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-immutable.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-immutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-into-bytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-into-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-issue-1296.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-issue-1296.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-known-layout.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-known-layout.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-unaligned.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/diagnostic-not-implemented-unaligned.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/include_value_not-from-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/include_value_not_from_bytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/include_value_wrong_size.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/include_value_wrong_size.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/invalid-impls/invalid-impls.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/invalid-impls/invalid-impls.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/max-align.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/max-align.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/ptr-is-invariant-over-v.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/ptr-is-invariant-over-v.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-dst-not-frombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-const.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-const.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-dst-not-a-reference.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-dst-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-dst-not-frombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-dst-not-intobytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-dst-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-illegal-lifetime.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-illegal-lifetime.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-dst-not-references.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-dst-not-references.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-immutable.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-immutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-not-a-reference.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-not-frombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-not-intobytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-unsized.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-mut-src-unsized.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ptr-to-usize.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ptr-to-usize.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-mutable.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-mutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-not-a-reference.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-not-frombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-not-nocell.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-dst-not-nocell.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-illegal-lifetime.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-illegal-lifetime.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-dst-not-references.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-dst-not-references.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-not-a-reference.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-not-intobytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-not-nocell.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-not-nocell.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-unsized.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-ref-src-unsized.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-size-decrease.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-size-decrease.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-size-increase-allow-shrink.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-size-increase-allow-shrink.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-size-increase.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-size-increase.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-src-not-intobytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/transmute-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-dst-not-tryfrombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-dst-not-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-size-decrease.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-size-decrease.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-size-increase.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-size-increase.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-src-not-intobytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_mut-src-not-frombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_mut-src-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_mut-src-not-intobytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_mut-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_ref-dst-mutable.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_ref-dst-mutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.rs
    • Removed, replaced by unified ui-test structure
  • tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-from-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-from-zeros.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-immutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-into-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-issue-1296.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-known-layout.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/diagnostic-not-implemented-unaligned.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/include_value_not_from_bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/include_value_wrong_size.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/invalid-impls/invalid-impls.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/max-align.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/ptr-is-invariant-over-v.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-const.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-dst-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-dst-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-illegal-lifetime.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-src-dst-not-references.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-src-immutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-src-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-src-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-mut-src-unsized.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ptr-to-usize.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-dst-mutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-dst-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-dst-not-nocell.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-illegal-lifetime.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-src-dst-not-references.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-src-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-src-not-nocell.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-ref-src-unsized.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-size-decrease.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-size-increase-allow-shrink.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-size-increase.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/transmute-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute-dst-not-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute-size-decrease.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute-size-increase.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute_mut-src-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute_mut-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute_ref-dst-mutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-from-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-from-zeros.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-immutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-into-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-issue-1296.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-known-layout.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-try-from-bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/diagnostic-not-implemented-unaligned.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/include_value_not_from_bytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/include_value_wrong_size.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/invalid-impls/invalid-impls.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/max-align.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/ptr-is-invariant-over-v.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-const.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-dst-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-dst-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-illegal-lifetime.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-src-dst-not-references.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-src-immutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-src-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-src-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-mut-src-unsized.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ptr-to-usize.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-dst-mutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-dst-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-dst-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-dst-not-nocell.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-illegal-lifetime.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-src-dst-not-references.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-src-not-a-reference.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-src-not-nocell.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-ref-src-unsized.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-size-decrease.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-size-increase-allow-shrink.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-size-increase.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/transmute-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute-dst-not-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute-size-decrease.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute-size-increase.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute_mut-src-not-frombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute_mut-src-not-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute_ref-dst-mutable.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.stderr
    • Removed, replaced by unified ui-test structure
  • tests/ui.rs
    • Added new main function to run ui-test with toolchain detection and argument forwarding
    • Detects current Rust toolchain version (MSRV, stable, nightly) to pass to ui-runner
    • Locates dependencies directory (target/debug/deps) for ui-runner
    • Invokes cargo +stable run -p ui-runner from the tools/ui-runner directory
    • Forwards command-line arguments to the ui-runner for test filtering
  • tests/ui/diagnostic-not-implemented-from-bytes.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-from-bytes.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-from-bytes.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-from-bytes.rs
  • tests/ui/diagnostic-not-implemented-from-bytes.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/diagnostic-not-implemented-from-zeros.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-from-zeros.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-from-zeros.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-from-zeros.rs
  • tests/ui/diagnostic-not-implemented-from-zeros.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/diagnostic-not-implemented-immutable.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-immutable.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-immutable.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-immutable.rs
  • tests/ui/diagnostic-not-implemented-immutable.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/diagnostic-not-implemented-into-bytes.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-into-bytes.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-into-bytes.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-into-bytes.rs
  • tests/ui/diagnostic-not-implemented-into-bytes.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/diagnostic-not-implemented-issue-1296.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-issue-1296.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-issue-1296.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-issue-1296.rs
  • tests/ui/diagnostic-not-implemented-issue-1296.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/diagnostic-not-implemented-known-layout.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-known-layout.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-known-layout.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-known-layout.rs
  • tests/ui/diagnostic-not-implemented-known-layout.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/diagnostic-not-implemented-try-from-bytes.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-try-from-bytes.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-try-from-bytes.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.rs
  • tests/ui/diagnostic-not-implemented-try-from-bytes.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/diagnostic-not-implemented-unaligned.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/diagnostic-not-implemented-unaligned.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/diagnostic-not-implemented-unaligned.rs
    • Renamed from tests/ui-nightly/diagnostic-not-implemented-unaligned.rs
  • tests/ui/diagnostic-not-implemented-unaligned.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/include_value_not_from_bytes.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/include_value_not_from_bytes.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/include_value_not_from_bytes.rs
    • Renamed from tests/ui-nightly/include_value_not_from_bytes.rs
  • tests/ui/include_value_not_from_bytes.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/include_value_wrong_size.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/include_value_wrong_size.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/include_value_wrong_size.rs
    • Renamed from tests/ui-nightly/include_value_wrong_size.rs
  • tests/ui/include_value_wrong_size.stable.stderr
    • Added new .stderr file for stable toolchain output
  • tests/ui/invalid-impls/invalid-impls.msrv.stderr
    • Added new .stderr file for MSRV toolchain output
  • tests/ui/invalid-impls/invalid-impls.nightly.stderr
    • Added new .stderr file for nightly toolchain output
  • tests/ui/invalid-impls/invalid-impls.rs
    • Renamed from tests/ui-nightly/invalid-impls/invalid-impls.rs
  • tests/ui/invalid-impls/invalid-impls.stable.stderr
    • Added new .stderr file for stable toolchain output
Activity
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the UI testing framework from trybuild to ui-test, which is a great improvement for handling toolchain-specific test outputs. The changes look mostly correct, with a new test runner and reorganized test files. However, I've noticed a high-severity issue: the new .stderr files contain absolute local paths, which will break the build in CI and for other developers. These paths need to be normalized. I've also found some minor dead code in the new test harness. Please see my detailed comments.

@joshlf joshlf force-pushed the Gbc6b00b4dee88c0d25be0b277998861157eccda7 branch 5 times, most recently from 0119dfe to d817b95 Compare February 4, 2026 23:30
@joshlf
Copy link
Member Author

joshlf commented Feb 4, 2026

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the UI testing framework from trybuild to a custom solution, which is a great improvement for testing across different Rust toolchains. The changes are mostly mechanical and look good. I've found a potential issue in the Cargo.toml workspace configuration and have a few other suggestions for improving code clarity and maintainability.

@joshlf joshlf force-pushed the Gbc6b00b4dee88c0d25be0b277998861157eccda7 branch 6 times, most recently from 599c468 to 53d3f4e Compare February 5, 2026 00:44
@codecov-commenter
Copy link

codecov-commenter commented Feb 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.87%. Comparing base (e5c4b11) to head (f17e706).

Additional details and impacted files
@@                            Coverage Diff                             @@
##           G793f61a136b912fbd5ee4315cdea7cf3cf3cf8fb    #2986   +/-   ##
==========================================================================
  Coverage                                      91.87%   91.87%           
==========================================================================
  Files                                             20       20           
  Lines                                           6057     6057           
==========================================================================
  Hits                                            5565     5565           
  Misses                                           492      492           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@joshlf joshlf force-pushed the Gbc6b00b4dee88c0d25be0b277998861157eccda7 branch 2 times, most recently from 8c3ecbf to 2c2eb9d Compare February 5, 2026 02:15
@joshlf joshlf changed the base branch from main to G793f61a136b912fbd5ee4315cdea7cf3cf3cf8fb February 5, 2026 02:15
Closes #187

gherrit-pr-id: Gbc6b00b4dee88c0d25be0b277998861157eccda7
@joshlf joshlf force-pushed the G793f61a136b912fbd5ee4315cdea7cf3cf3cf8fb branch from 7e5f696 to e5c4b11 Compare February 5, 2026 03:09
@joshlf joshlf force-pushed the Gbc6b00b4dee88c0d25be0b277998861157eccda7 branch from 2c2eb9d to f17e706 Compare February 5, 2026 03:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Switch from trybuild to ui-test

2 participants