Skip to content

Move compile-pass tests to check-pass or build-pass #62277

Description

@cramertj

compile-pass was the old way to assert that UI tests were able to successfully build. However, it would do a full build of the code, including codegen and linking. Many of our tests don't need this, however, and should instead use the new check-pass, introduced in #61778. For tests that exercise codegen and linking, build-pass can be used instead.

As a first step, it would be good to remove compile-pass to prevent users adding new tests that unconsciously take a dependency on codegen/linking, and push them to use check/build-pass to make the distinction explicit.

To do this, we'd like to start with a mass migration of compile-pass tests to build-pass (rather than check-pass because we don't want to accidentally stop testing codegen/linking functionality). However, we don't want to lose the distinction between tests which are intentionally build-pass and those that have been automatically migrated, so automatically-migrated tests should include a note like // build-pass (FIXME(this-issue-#): could be check-pass?) or similar.

Once that's done, we can remove compile-pass and work on moving over the FIXME-tagged tests to either check-pass or remove the FIXME.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-compiletestArea: The compiletest test runnerA-testsuiteArea: The testsuite used to check the correctness of rustcC-cleanupCategory: PRs that clean code up or issues documenting cleanup.E-mediumCall for participation: Medium difficulty. Experience needed to fix: Intermediate.E-mentorCall for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions