Description
Extend ModuleTester beyond Python-only test execution to support running tests written in other languages — primarily C++ and C# (or web). This would allow teams working on multi-language projects to manage all their test plans in a single tool.
Current behavior
- Only Python scripts can be executed as test items.
- Test discovery (
guitest) only works with Python files.
- Non-Python tests must be wrapped in Python launcher scripts.
Expected behavior
- Test items can reference executables (
.exe, compiled test binaries) directly.
- Support for common C++ test frameworks: Google Test, Catch2 (parse their output).
- Support for C# test runners:
dotnet test with result parsing.
- Language-agnostic "command" test type for arbitrary executables.
- Test discovery can be extended via plugins or configuration.
Implementation ideas
- Add a generic
CommandTestItem type that runs any executable and captures exit code + output.
- Add output parsers for Google Test XML (
--gtest_output=xml) and dotnet test --logger trx.
- Allow
moduletester.ini to define custom test runners:
[test_runners]
cpp = gtest
csharp = dotnet_test
- Plugin architecture:
ITestRunner interface with discover(), execute(), parse_result().
Acceptance criteria
References
Ideas like Conan2 package manager for C++ project written in Python : https://github.com/conan-io/conan
Description
Extend ModuleTester beyond Python-only test execution to support running tests written in other languages — primarily C++ and C# (or web). This would allow teams working on multi-language projects to manage all their test plans in a single tool.
Current behavior
guitest) only works with Python files.Expected behavior
.exe, compiled test binaries) directly.dotnet testwith result parsing.Implementation ideas
CommandTestItemtype that runs any executable and captures exit code + output.--gtest_output=xml) anddotnet test --logger trx.moduletester.inito define custom test runners:ITestRunnerinterface withdiscover(),execute(),parse_result().Acceptance criteria
dotnet test)References
Ideas like Conan2 package manager for C++ project written in Python : https://github.com/conan-io/conan