8000 Add target framework net7.0 by plioi · Pull Request #294 · fixie/fixie · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add target framework net7.0 #294

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

Merged
merged 7 commits into from
Nov 16, 2022
Merged

Add target framework net7.0 #294

merged 7 commits into from
Nov 16, 2022

Conversation

plioi
Copy link
Contributor
@plioi plioi commented Nov 16, 2022

This adds target framework net7.0 where appropriate:

  • Ensure that the GitHub Actions build environment includes the .NET 7 SDK.
  • Add target framework net7.0 to the Fixie, Fixie.TestAdapter, and Fixie.Tests projects.
  • Mirror Fixie.TestAdapter csproj changes in the corresponding nuspec.
  • Deliberately leave the Fixie.Console project targeting our support window lower bound of netcoreapp3.1. As a dotnet ... tool definition, we target low and already compensate for that with RollForward behavior.
  • Address all test failures that appeared while running on net7.0.

The primary novel change accounted for here on net7.0 runs comes in the method that cleans up a test failure stack trace for presentation. Here, we aim to present a stack trace where execution apparently begins in the test method itself, omitting surrounding test runner and method invocation noise leading up to the invocation of the test method. The implementation tends to need attention with each .NET release, and this time the change in .NET behavior comes in its new optimizations within MethodBase.Invoke as described here: https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7/#reflection . In short, we can seek and omit a few additional stack trace lines which represent the new reflection emit logic.

…ndencies as implied by the corresponding csproj file.

We need to do this manually as long as we have a nuspec, and we need a nuspec due to undesirable behavior of `dotnet pack` in the presence of the abnormal Microsoft.NET.Test.Sdk package.
…eir test method as the apparent start of execution, take into account potential MethodBase.Invoke optimization implementation details introduced in net7.0.
@plioi plioi marked this pull request as ready for review November 16, 2022 21:50
@plioi plioi merged commit f3da7aa into main Nov 16, 2022
@plioi plioi deleted the add-target-framework-net7 branch November 16, 2022 22:38
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.

1 participant
0