Skip to content

test(stable-mir-ui): add external UI test harness with skip management#968

Open
Stevengre wants to merge 4 commits intomasterfrom
codex/import-stable-mir-ui-tests
Open

test(stable-mir-ui): add external UI test harness with skip management#968
Stevengre wants to merge 4 commits intomasterfrom
codex/import-stable-mir-ui-tests

Conversation

@Stevengre
Copy link
Contributor

@Stevengre Stevengre commented Mar 4, 2026

Summary

  • Add parametrized pytest harness running kmir prove-rs against every entry in stable-mir-json's passing.tsv
  • Ship skip.txt (2859 entries) for known-failing cases, with --update-skip mode to shrink it by re-proving skipped cases
  • 300s per-test timeout via pytest-timeout; proof show output saved to tmp_path on failure

Usage

# Normal run (skipped cases are skipped)
RUST_DIR_ROOT=/path/to/rust make test-stable-mir-ui

# Shrink skip.txt by re-proving skipped cases
RUST_DIR_ROOT=/path/to/rust make test-stable-mir-ui TEST_ARGS="--update-skip"

Test plan

  • make check passes (B011 lint fixed)
  • Single squashed commit, rebased on origin/master

@Stevengre Stevengre self-assigned this Mar 4, 2026
@Stevengre Stevengre marked this pull request as draft March 5, 2026 13:09
@Stevengre Stevengre force-pushed the codex/import-stable-mir-ui-tests branch from aa11396 to 40658b4 Compare March 5, 2026 14:41
@Stevengre Stevengre changed the title Import strict stable-mir-json UI passing tests test(stable-mir-ui): add external UI test harness with skip management Mar 5, 2026
@Stevengre Stevengre force-pushed the codex/import-stable-mir-ui-tests branch from 40658b4 to 2d4a181 Compare March 5, 2026 15:26
Add a parametrized pytest harness that runs kmir prove-rs against every
entry in stable-mir-json's passing.tsv, with:

- skip.txt for known-failing cases (2859 entries initially skipped)
- --update-skip mode to shrink skip.txt by re-proving skipped cases
- 300s per-test timeout via pytest-timeout
- proof show output saved to tmp_path on failure for debugging

New files:
  kmir/src/tests/external/conftest.py          (--update-skip option)
  kmir/src/tests/external/test_stable_mir_ui_pass.py
  kmir/src/tests/external/data/stable-mir-ui/skip.txt

Modified:
  Makefile         (test-stable-mir-ui target)
  kmir/pyproject.toml  (pytest-timeout dependency)
  kmir/uv.lock
@Stevengre Stevengre force-pushed the codex/import-stable-mir-ui-tests branch from 2d4a181 to a9c1f58 Compare March 5, 2026 15:29
@Stevengre Stevengre marked this pull request as ready for review March 6, 2026 03:32
Copy link
Collaborator

@dkcumming dkcumming left a comment

Choose a reason for hiding this comment

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

I think this is fine. Seems like passing.tsv has some ability to get out of sync with skip.txt if tests change name or are removed as rustc versions change, but this is minor and right now things are set for us. It think this is good to merge now, and until we fix the LLVM compilation issue it should stay off CI.

I will approve but I wouldn't mind @tothtamas28 option on the python if you have time

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.

2 participants