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
Add end-to-end test framework inspired from iOS interactive tests #8110
base: develop
Are you sure you want to change the base?
Conversation
@tomspilman @harry-cpp Please take a look |
08889da
to
9838a8b
Compare
Squashed commits and cleaned up comments/code etc. Tested on DesktopGL (mac/windows) + iOS |
f5dddae
to
5203bc3
Compare
This PR is now ready for you folks, please take a look. I have more coming up that adds RenderTarget/etc tests to this and also adds WindowsDX/Android runners etc. it's been very useful to understand/verify behaviors as I have made Metal work using these tests in parallel. Not sure how I magically summon reviewers but here we go: @SimonDarksideJ @harry-cpp @tomspilman :) |
This brings interactive tests from iOS and allows them to be run in any environment. Specifically, given a set of `Game` classes under `Tests/Interactive/Tests`, we can run that `Game` instance in a test harness under DesktopGL (Mac/Windows)/iOS (Android coming next). - Lots of reshuffling from Tests/Interactive/iOS -> Common/Tests - Also added doc to run the tests in simulator/on-device. - New TestRunners (for now DesktopGL on Mac/Windows and iOS)- will add Android next - DesktopGL only allows running one test per run, due to STA/SDL Window event loop. - Added doc in Tests/Interactive/README.md on how to run the test runners.
Could someone take a look? @mrhelmut |
I can resolve conflicts (mostly license/doc?) but could someone please take a look? This was super useful in testing out/verifying Metal, and hence I think for the proposed GDK/Vulkan/DX12 stuff it will be beneficial as well. @mrhelmut @harry-cpp |
@SimonDarksideJ FYI... |
Looks interesting @Mindfulplays , can you resolve the conflicts so we can get a report from the build server environment and then we can compare. |
} | ||
|
||
/// <summary>Output an error message to the console.</summary> | ||
public static void E(string message) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we get more descriptive method names for these? LogError
or LogDebug
This brings interactive tests from iOS and allows them to be run in any environment.
Specifically, given a set of
Game
classes underTests/Interactive/Tests
, we can run thatGame
instance in a test harness under DesktopGL (Mac/Windows)/iOS (Android coming next).TestGame
that implementsGame
and allows a test author to signal when the test is done. (i.e. either by clicking the Exit button or the test can run automatically, then signal Exit)