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

Upgrade NUnit to 3.14 and update test adapter and VS test SDK packages #1000

Merged
merged 1 commit into from
Nov 12, 2024

Conversation

paulirwin
Copy link
Contributor

  • You've read the Contributor Guide and Code of Conduct.
  • You've included unit or integration tests for your change, where applicable.
  • You've included inline docs for your change, where applicable.
  • There's an open issue for the PR that you are making. If you'd like to propose a change, please open an issue to discuss the change or find an existing issue.

Upgrade NUnit to 3.14.0, as well as the test adapter and VS test SDK packages.

Related #259

Description

This fixes an issue in Rider with test discovery, impacting the ability to see and individually run child tests of test classes.

@paulirwin paulirwin added this to the 4.8.0-beta00018 milestone Oct 26, 2024
@paulirwin paulirwin requested a review from NightOwl888 October 29, 2024 17:24
Copy link
Contributor

@NightOwl888 NightOwl888 left a comment

Choose a reason for hiding this comment

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

The good news is we can upgrade to 3.14.0 because the features that NUnit added were already present in 3.13.1, which is the version we were targeting when repeatable random test support was added.

The bad news is, until we do some more work to stabilize and add tests to the test framework (which is still experimental, see #547), I don't think upgrades are a thing we can support.

We are missing the scans for the FixtureLifecycleAttribute, and I don't recall whether that was an intentional design choice or if I was porting from an older version of NUnit (this line was added in 3.13.1). But as long as we own a chunk of NUnit code, we cannot guarantee new NUnit features will work if someone upgrades the NUnit version. IIRC, we also don't support all of NUnit's features (similar to how randomized-testing doesn't support all of JUnit's features).

I think we can leave the versioning as-is for this PR, but we should probably consider whether to put a version constraint on this so upgrades to 4.x are not possible for users. At least until we can spec out some extensibility for NUnit to add so we don't have to own a chunk of their code. But before we do that, we really should finish #1017 so we can work out what other parts of NUnit will need extending to support our test framework and randomized testing (#264) going forward.

@paulirwin
Copy link
Contributor Author

@NightOwl888 Thanks! Great info, as always. Also related: #1001 to upgrade to 4.x hopefully someday.

@paulirwin paulirwin merged commit 92029e8 into apache:master Nov 12, 2024
199 checks passed
@paulirwin paulirwin deleted the deps/nunit-3.14 branch November 12, 2024 14:47
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