Conversation
These require a full-blown desktop environment which is hardly ever available where these tests are run
It's pointless because it doesn't ever throw
summary: Run #35
❌ Some tests failed!
Github Test Reporter by CTRF 💚 🔄 This comment has been updated |
There was a problem hiding this comment.
Pull Request Overview
This PR introduces comprehensive integration test infrastructure with multi-platform support (Windows, macOS, Linux, and WSL). The changes enable automated testing across different operating systems using GitHub Actions, with proper platform-specific test handling and skipping mechanisms.
Key Changes:
- Added GitHub Actions workflow for running integration tests on Ubuntu, Windows, and macOS
- Upgraded target framework and test package versions
- Introduced platform-specific test attributes (
SkippableFact,SupportedOSPlatform,SkipOnWslFact) to handle OS-specific functionality - Enhanced Electron runtime initialization with better error handling and debug logging
- Added support for passing extra arguments to Electron process
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/integration-tests.yml |
New CI/CD workflow for multi-platform integration testing with test result reporting |
src/testEnvironments.json |
Test environment configuration for WSL and Docker environments |
src/ElectronNET.IntegrationTests/xunit.runner.json |
xUnit test runner configuration with sequential execution |
src/ElectronNET.IntegrationTests/ElectronNET.IntegrationTests.csproj |
Updated target framework to net10.0 and upgraded test package versions |
src/ElectronNET.IntegrationTests/ElectronFixture.cs |
Enhanced test fixture with timeout handling, error logging, and about:blank URL parameter |
src/ElectronNET.IntegrationTests/Common/SkipOnWslFactAttribute.cs |
New custom attribute to skip tests on WSL environments |
src/ElectronNET.IntegrationTests/Tests/*.cs |
Updated tests with platform-specific attributes and removed redundant OS detection logic |
src/ElectronNET/build/ElectronNET.props |
Made RuntimeIdentifier conditional to support cross-platform builds |
src/ElectronNET.API/ElectronNetRuntime.cs |
Added ElectronExtraArguments property for passing additional Electron arguments |
src/ElectronNET.API/Runtime/Controllers/RuntimeControllerDotNetFirst.cs |
Integrated extra arguments handling and added null safety checks |
src/ElectronNET.API/Runtime/Services/ElectronProcess/ElectronProcessActive.cs |
Added macOS Electron path support and enhanced error logging |
src/ElectronNET.API/Runtime/StartupManager.cs |
Added diagnostic logging for test assembly detection |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/ElectronNET.API/Runtime/Services/ElectronProcess/ElectronProcessActive.cs
Outdated
Show resolved
Hide resolved
d90a3d5 to
615208c
Compare
|
I've let those few failing tests unaddressed (for the moment) for a more insteresting appearance. A comprehensive test report can be found on the Actions overwiew (build summary) page: https://github.com/softworkz/ElectronNET/actions/runs/19387149581?pr=8 |
Windows
Linux
macOS
... plus WSL (locally, from VS Test Explorer)