Fix issue with randomly failing tests to due parallel execution#872
Conversation
…terSettingsFile tests.
📝 WalkthroughWalkthroughThese changes update test infrastructure by bumping the TUnit testing framework to version 1.11.28, refactoring the build helper's working path generation to use assembly location, expanding test parameters for non-debug builds, and adding Refit.HttpClientFactory as a package dependency to the embedded project template. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Pull request overview
This PR addresses random test failures caused by parallel test execution by changing temporary directory locations and adding missing dependencies. The key improvement is using the assembly location as the base for temporary directories instead of the system temp folder, which helps avoid conflicts between parallel test runs.
Changes:
- Modified temporary directory creation to use assembly location instead of system temp path in BuildHelper and one WriteRefitterSettingsFile test
- Added Refit.HttpClientFactory package reference to test project files to support generated code compilation
- Updated TUnit test framework from v1.9.2 to v1.11.28
- Added conditional compilation to limit SwaggerPetstore IObservableResponse test cases to Release builds only
- Implemented cleanup skip when builds fail to preserve artifacts for debugging
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Refitter.Tests/WriteRefitterSettingsFileTests.cs | Updated one test to use assembly location for temp directory; removed trailing whitespace |
| src/Refitter.Tests/SwaggerPetstoreTests.cs | Added conditional compilation directives to run additional test cases only in Release mode |
| src/Refitter.Tests/Refitter.Tests.csproj | Updated TUnit dependency from v1.9.2 to v1.11.28 |
| src/Refitter.Tests/Build/ProjectFileContents.cs | Added Refit.HttpClientFactory package reference to test project template |
| src/Refitter.Tests/Build/BuildHelper.cs | Changed temp directory to use assembly location; added cleanup that only runs on successful builds |
| src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csproj | Updated TUnit dependency from v1.9.2 to v1.11.28 |
| var folder = Path.GetDirectoryName(GetType().Assembly.Location) ?? Path.GetTempPath(); | ||
| var tempDir = Path.Combine(folder, Guid.NewGuid().ToString()); |
There was a problem hiding this comment.
Only one test method in this file has been updated to use the assembly location pattern, but there are five other test methods (starting at lines 160, 199, 241, 288, and 337) that still use Path.GetTempPath() directly. For consistency and to fully address parallel execution issues, all tests that create temporary directories in this file should use the same pattern: Path.GetDirectoryName(GetType().Assembly.Location) ?? Path.GetTempPath().
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@src/Refitter.Tests/Build/ProjectFileContents.cs`:
- Line 12: Update the embedded project template in ProjectFileContents (the
string containing the PackageReference) so the Refit.HttpClientFactory
PackageReference line uses Version="9.0.2" instead of "8.0.0"; locate the
PackageReference entry for "Refit.HttpClientFactory" in the ProjectFileContents
constant and change the Version attribute to 9.0.2 to match the rest of the test
projects.
🧹 Nitpick comments (1)
src/Refitter.Tests/Build/BuildHelper.cs (1)
46-53: Cleanup behavior is correct but consider logging cleanup failures.The cleanup logic correctly:
- Only runs on successful builds (after the exception throw on failure)
- Swallows exceptions to prevent test failures due to cleanup issues
This aligns with the PR objective to "skip cleanup if build fails" for easier debugging. However, silently swallowing cleanup errors could hide issues in CI environments where disk space accumulates.
💡 Optional: Add trace logging for cleanup failures
try { Directory.Delete(path, true); } catch { - // Ignore cleanup errors + // Ignore cleanup errors - log for diagnostics if needed + // System.Diagnostics.Trace.WriteLine($"Failed to cleanup test directory: {path}"); }
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csprojsrc/Refitter.Tests/Build/BuildHelper.cssrc/Refitter.Tests/Build/ProjectFileContents.cssrc/Refitter.Tests/Refitter.Tests.csprojsrc/Refitter.Tests/SwaggerPetstoreTests.cssrc/Refitter.Tests/WriteRefitterSettingsFileTests.cs
🧰 Additional context used
📓 Path-based instructions (1)
**/*.cs
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
**/*.cs: Always rundotnet format src/Refitter.slnbefore committing or CI (.github/workflows/build.yml) will fail
Follow existing C# coding conventions defined in.editorconfig
Use PascalCase for public members in C# code
Use camelCase for parameters and local variables in C# code
Include XML documentation for public APIs in C# code
Use meaningful variable and method names in C# code
Keep methods focused with single responsibility in C# code
Code must be properly formatted according to.editorconfigrules for CI to pass
Files:
src/Refitter.Tests/WriteRefitterSettingsFileTests.cssrc/Refitter.Tests/Build/BuildHelper.cssrc/Refitter.Tests/SwaggerPetstoreTests.cssrc/Refitter.Tests/Build/ProjectFileContents.cs
🧠 Learnings (10)
📓 Common learnings
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter.Core/**/*.cs : For Core library changes: Run full test suite and verify generated code builds successfully
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter/**/*.cs : For CLI changes: Test with a real OpenAPI specification to ensure generation works correctly
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter.Tests/Examples/**/*.cs : New CLI options must add unit tests in `src/Refitter.Tests/Examples/` following the established pattern
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to **/*.Tests.cs : All new code must include unit tests following the pattern used in `Refitter.Tests.Examples` namespace
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: When making framework-specific changes, always test both .NET 8.0 and .NET 9.0 targets
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter.Core/**/*.cs : For Core library changes: Run full test suite and verify generated code builds successfully
Applied to files:
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csprojsrc/Refitter.Tests/WriteRefitterSettingsFileTests.cssrc/Refitter.Tests/Build/BuildHelper.cssrc/Refitter.Tests/SwaggerPetstoreTests.cssrc/Refitter.Tests/Refitter.Tests.csprojsrc/Refitter.Tests/Build/ProjectFileContents.cs
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter/**/*.cs : For CLI changes: Test with a real OpenAPI specification to ensure generation works correctly
Applied to files:
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csprojsrc/Refitter.Tests/WriteRefitterSettingsFileTests.cssrc/Refitter.Tests/Build/BuildHelper.cssrc/Refitter.Tests/SwaggerPetstoreTests.cssrc/Refitter.Tests/Refitter.Tests.csprojsrc/Refitter.Tests/Build/ProjectFileContents.cs
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter.Tests/Examples/**/*.cs : New CLI options must add unit tests in `src/Refitter.Tests/Examples/` following the established pattern
Applied to files:
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csprojsrc/Refitter.Tests/WriteRefitterSettingsFileTests.cssrc/Refitter.Tests/Build/BuildHelper.cssrc/Refitter.Tests/SwaggerPetstoreTests.cssrc/Refitter.Tests/Refitter.Tests.csprojsrc/Refitter.Tests/Build/ProjectFileContents.cs
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to **/*.Tests.cs : All new code must include unit tests following the pattern used in `Refitter.Tests.Examples` namespace
Applied to files:
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csprojsrc/Refitter.Tests/WriteRefitterSettingsFileTests.cssrc/Refitter.Tests/SwaggerPetstoreTests.cssrc/Refitter.Tests/Refitter.Tests.csprojsrc/Refitter.Tests/Build/ProjectFileContents.cs
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter.Core/Settings/RefitGeneratorSettings.cs : New CLI options must add corresponding property to `src/Refitter.Core/Settings/RefitGeneratorSettings.cs`
Applied to files:
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csprojsrc/Refitter.Tests/WriteRefitterSettingsFileTests.cssrc/Refitter.Tests/Build/ProjectFileContents.cs
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter.Core/**/*Generator.cs : New CLI options must implement logic in `src/Refitter.Core/RefitInterfaceGenerator.cs` or related generator classes
Applied to files:
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csproj
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Applies to src/Refitter/GenerateCommand.cs : New CLI options must update the `CreateRefitGeneratorSettings()` method in `src/Refitter/GenerateCommand.cs` to map the setting
Applied to files:
src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csprojsrc/Refitter.Tests/WriteRefitterSettingsFileTests.cs
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: Always verify that generated Refit interfaces compile and work correctly after changes
Applied to files:
src/Refitter.Tests/SwaggerPetstoreTests.cs
📚 Learning: 2026-01-13T07:38:42.714Z
Learnt from: CR
Repo: christianhelle/refitter PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2026-01-13T07:38:42.714Z
Learning: When making framework-specific changes, always test both .NET 8.0 and .NET 9.0 targets
Applied to files:
src/Refitter.Tests/Build/ProjectFileContents.cs
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
- GitHub Check: CodeQL analysis (csharp)
- GitHub Check: Agent
- GitHub Check: Analyze (csharp)
- GitHub Check: 👌 Verify build
- GitHub Check: 👌 Verify build
- GitHub Check: 👌 Verify build
🔇 Additional comments (6)
src/Refitter.Tests/Refitter.Tests.csproj (1)
26-26: LGTM!The TUnit version update to 1.11.28 is consistent with the corresponding change in
Refitter.SourceGenerator.Tests.csproj. This ensures uniform test framework behavior across all test projects.src/Refitter.Tests/Build/BuildHelper.cs (1)
10-12: Good fix for parallel execution isolation.Using the assembly location as the base directory with a unique GUID ensures each parallel test run gets its own isolated working directory. The fallback to
Path.GetTempPath()handles edge cases where the assembly location might be unavailable.src/Refitter.Tests/SwaggerPetstoreTests.cs (1)
587-591: LGTM!The conditional test parameterization for
Can_Build_Generated_Code_With_IObservableResponsefollows the established pattern used by other build tests in this file (e.g.,Can_Build_Generated_Code,Can_Build_Generated_Code_With_IApiResponse). This reduces test execution time during local DEBUG builds while maintaining full coverage in CI/Release builds.src/Refitter.SourceGenerator.Tests/Refitter.SourceGenerator.Tests.csproj (1)
17-17: TUnit version bump to 1.11.28 is consistent and current.The update is synchronized across both
Refitter.SourceGenerator.Tests.csprojandRefitter.Tests.csprojat the latest available version.src/Refitter.Tests/WriteRefitterSettingsFileTests.cs (2)
116-117: LGTM! Appropriate fix for parallel test execution.Using the assembly location as the base for the temp directory makes sense here since this is the only test that calls
Directory.SetCurrentDirectory(). This isolates the working directory from other parallel test runs and aligns with the approach mentioned in the PR summary forBuildHelper.cs.
272-275: LGTM! Stronger assertion improves test reliability.Deserializing and checking the actual property value is more robust than string containment checks. This verifies the serialization/deserialization round-trip works correctly for
ContractsOutputFolder.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
| <GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
| </PropertyGroup> | ||
| <ItemGroup> | ||
| <PackageReference Include=""Refit.HttpClientFactory"" Version=""8.0.0"" /> |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Find all Refit.HttpClientFactory references with version info
rg "Refit\.HttpClientFactory.*Version" --type=xml -B2 -A2Repository: christianhelle/refitter
Length of output: 49
🏁 Script executed:
#!/bin/bash
# Broader search for all Refit.HttpClientFactory references
rg "Refit\.HttpClientFactory" -A1 -B1
# Also check the specific files mentioned
echo "=== ProjectFileContents.cs ==="
cat -n src/Refitter.Tests/Build/ProjectFileContents.cs
echo "=== Refitter.SourceGenerator.Tests.csproj ==="
rg "Refit\.HttpClientFactory" src/Refitter.SourceGenerator.Tests.csproj -A1 -B1Repository: christianhelle/refitter
Length of output: 6271
🏁 Script executed:
#!/bin/bash
# Check the pattern of package versions in ProjectFileContents.cs to see if they're intentionally pinned to net8.0
echo "=== All packages in embedded project (net8.0) ==="
cat -n src/Refitter.Tests/Build/ProjectFileContents.cs | grep -A 30 "Net80App"
# Check if there are comments explaining version choice
echo "=== Check for version-related comments in file ==="
rg -i "version|8\.0\.|9\.0\." src/Refitter.Tests/Build/ProjectFileContents.cs -B2 -A2
# Verify Refit.HttpClientFactory compatibility - check if 9.0.2 supports net8.0
echo "=== Check git history for this change ==="
git log --oneline -n 20 -- src/Refitter.Tests/Build/ProjectFileContents.csRepository: christianhelle/refitter
Length of output: 3717
Update Refit.HttpClientFactory to version 9.0.2 for consistency.
Adding Refit.HttpClientFactory to the embedded project template is good for verifying generated code compiles. However, version 8.0.0 creates an inconsistency: all test projects and examples (MinimalApi, MSBuild, MauiExample, MultipleFiles, ConsoleApp, and SourceGenerator.Tests) use version 9.0.2. The embedded template should match to ensure generated code is tested against the same version used across the test suite. Change to Version="9.0.2".
🤖 Prompt for AI Agents
In `@src/Refitter.Tests/Build/ProjectFileContents.cs` at line 12, Update the
embedded project template in ProjectFileContents (the string containing the
PackageReference) so the Refit.HttpClientFactory PackageReference line uses
Version="9.0.2" instead of "8.0.0"; locate the PackageReference entry for
"Refit.HttpClientFactory" in the ProjectFileContents constant and change the
Version attribute to 9.0.2 to match the rest of the test projects.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #872 +/- ##
===========================================
- Coverage 92.76% 51.92% -40.85%
===========================================
Files 23 23
Lines 1950 1610 -340
===========================================
- Hits 1809 836 -973
- Misses 48 755 +707
+ Partials 93 19 -74
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Updated [refitter](https://github.com/christianhelle/refitter) from 1.7.1 to 2.0.0. <details> <summary>Release notes</summary> _Sourced from [refitter's releases](https://github.com/christianhelle/refitter/releases)._ ## 2.0.0 ## What's Changed * Fix numeric format with pattern quirk - infer type from format for all numeric types by @Copilot in christianhelle/refitter#869 * Read group documentation from document tags. by @DJ4ddi in christianhelle/refitter#887 * Fix null reference and XML escaping in XmlDocumentationGenerator by @Copilot in christianhelle/refitter#890 * Fix build workflow: add dotnet restore before dotnet msbuild in Prepare step by @Copilot in christianhelle/refitter#892 christianhelle/refitter#895 * Fix MSBuild workflow by @christianhelle in christianhelle/refitter#898 * Add support for generating a single client from multiple OpenAPI specifications by @Copilot in christianhelle/refitter#904 * Migrate from Microsoft.OpenApi.Readers 1.x to Microsoft.OpenApi 3.x by @vgmello in christianhelle/refitter#907 * Improve Smoke Tests execution time by @christianhelle in christianhelle/refitter#915 * Fix #580: Nullable strings marked correctly by @christianhelle in christianhelle/refitter#921 * Fix #672: MultipleInterfaces ByTag method naming scoped per-interface by @christianhelle in christianhelle/refitter#922 * Fix #635: Refactor source generator to use context.AddSource() by @christianhelle in christianhelle/refitter#923 * Add custom format mappings configuration by @christianhelle in christianhelle/refitter#927 * Fix multipart form-data parameter extraction by @christianhelle in christianhelle/refitter#928 christianhelle/refitter#911 christianhelle/refitter#902 * Fix smoke tests: --interface-only variant missing using directive for contract types by @Copilot in christianhelle/refitter#933 * Fix SonarCloud Code Quality Issues by @Copilot in christianhelle/refitter#932 * Add debug logging for source generator when searching for .refitter files by @codymullins in christianhelle/refitter#743 * Fix: Base type not generated for types using oneOf with discriminator by @Copilot in christianhelle/refitter#906 * Add option for Method Level Authorization header attribute by @Roflincopter in christianhelle/refitter#897 * Fix PR #897 review feedback and add comprehensive bearer auth tests by @christianhelle in christianhelle/refitter#936 * Fix numeric suffix added to interface method names in ByTag mode by @Copilot in christianhelle/refitter#914 * Improve OpenAPI parse + codegen throughput by removing avoidable allocations and repeated regex work by @Copilot in christianhelle/refitter#937 * Move [JsonConverter] from enum properties to enum types by @christianhelle in christianhelle/refitter#938 * Fix broken CLI tool help text by @christianhelle in christianhelle/refitter#940 * Improve code coverage to >90% by @christianhelle in christianhelle/refitter#941 * Microsoft.OpenApi v3.4 by @christianhelle in christianhelle/refitter#945 * Add Unicode support for XML doc comment generation by @christianhelle in christianhelle/refitter#948 * Add PropertyNamingPolicy support for JSON property naming by @christianhelle in christianhelle/refitter#969 christianhelle/refitter#966 * Fix recursive schema stack overflows by @christianhelle in christianhelle/refitter#971 * Made Header Parameters for Security Schemes safe to use as C# variable name by @smoerijf in christianhelle/refitter#977 * Enhance schema alias handling and property name generation by @christianhelle in christianhelle/refitter#996 * Verify alias handling and sanitize PascalCase properties by @christianhelle in christianhelle/refitter#997 * Harden .refitter settings deserialization and output path handling by @christianhelle in christianhelle/refitter#1000 * Special-case the default .refitter filename before deriving OutputFilename by @coderabbitai[bot] in christianhelle/refitter#1002 * [v2.0 audit] Fix pre-release regressions from #1057 by @christianhelle in christianhelle/refitter#1064 * Resolve high-severity audit findings from #1057 by @christianhelle in christianhelle/refitter#1067 * [v2.0 audit] Close remaining verified #1057 regressions by @christianhelle in christianhelle/refitter#1070 * Harden generation flows by @christianhelle in christianhelle/refitter#1071 * Breaking changes and Migration Guide for v2.0.0 by @christianhelle in christianhelle/refitter#1009 * Handle equivalent duplicate schemas in multi-spec merge by @christianhelle in christianhelle/refitter#1076 * Tighten warning handling across Refitter builds by @christianhelle in christianhelle/refitter#1079 * Fix default solution path and update .NET version in VS Code config by @christianhelle in christianhelle/refitter#1082 * Fix docker smoke tests by @christianhelle in christianhelle/refitter#1081 * Sanitize malformed schema type names without renaming clean schemas by @christianhelle in christianhelle/refitter#1085 ... (truncated) ## 1.7.3 ## What's Changed * Add support for systems running only .NET 10.0 (without .NET 8.0 or 9.0) in Refitter.MSBuild by @christianhelle in christianhelle/refitter#882 * Update to return HttpResponseMessage for file downloads by @frogcrush in christianhelle/refitter#877 ## New Contributors * @frogcrush made their first contribution in christianhelle/refitter#877 **Full Changelog**: christianhelle/refitter@1.7.2...1.7.3 ## 1.7.2 **Implemented enhancements:** - Improve Immutable Records ergonomics [\#844](christianhelle/refitter#844) - Omit certain operation headers and include all others [\#840](christianhelle/refitter#840) - Create .refitter settings file as part of output [\#859](christianhelle/refitter#859) by @[christianhelle - Fix integerType enum deserialization issue [\#855](christianhelle/refitter#855) ([christianhelle](https://github.com/christianhelle)) - support custom nswag template directory \#844 [\#854](christianhelle/refitter#854) by @kmc059000 - Fix missing method parameter XML code-documentation [\#850](christianhelle/refitter#850) ([christianhelle](https://github.com/christianhelle)) **Fixed bugs:** - integerType parsing in settings file fails [\#851](christianhelle/refitter#851) - CS1573 : Method parameter has no matching XML comment [\#846](christianhelle/refitter#846) **Merged pull requests:** - docs: add frogcrush as a contributor for code [\#878](christianhelle/refitter#878) ([allcontributors[bot]](https://github.com/apps/allcontributors)) - Migrate solution files from .sln to .slnx format [\#876](christianhelle/refitter#876) ([Copilot](https://github.com/apps/copilot-swe-agent)) - Fix issue with randomly failing tests to due parallel execution [\#872](christianhelle/refitter#872) ([christianhelle](https://github.com/christianhelle)) - chore\(deps\): update dependency tunit to 1.9.2 [\#863](christianhelle/refitter#863) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency tunit to 1.7.7 [\#862](christianhelle/refitter#862) ([renovate[bot]](https://github.com/apps/renovate)) - Add unit tests for WriteRefitterSettingsFile functionality [\#860](christianhelle/refitter#860) ([Copilot](https://github.com/apps/copilot-swe-agent)) - chore\(deps\): update dependency ruby to v4 [\#858](christianhelle/refitter#858) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency tunit to 1.6.28 [\#857](christianhelle/refitter#857) ([renovate[bot]](https://github.com/apps/renovate)) - docs: add 0x2badc0de as a contributor for bug [\#856](christianhelle/refitter#856) ([allcontributors[bot]](https://github.com/apps/allcontributors)) - chore\(deps\): update dependency swashbuckle.aspnetcore to 10.1.0 [\#853](christianhelle/refitter#853) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency tunit to 1.6.0 [\#852](christianhelle/refitter#852) ([renovate[bot]](https://github.com/apps/renovate)) - docs: add lilinus as a contributor for code [\#849](christianhelle/refitter#849) ([allcontributors[bot]](https://github.com/apps/allcontributors)) - chore\(deps\): update dependency ruby to v3.4.8 [\#845](christianhelle/refitter#845) ([renovate[bot]](https://github.com/apps/renovate)) - chore\(deps\): update dependency tunit to 1.5.70 [\#837](christianhelle/refitter#837) ([renovate[bot]](https://github.com/apps/renovate)) **Full Changelog**: christianhelle/refitter@1.7.1...1.7.2 Commits viewable in [compare view](christianhelle/refitter@1.7.1...2.0.0). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>



Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.