How Should We Test wgpu #1611
cwfitzgerald
started this conversation in
Ideas
Replies: 1 comment 1 reply
-
This sounds very reasonable. It's also not a point of bifurcation: we can start armed with your list and then adjust as we go. One such adjustment could be to upstream several categories of these tests into the main CTS. This would actually be everything in "Should test" except for "CTS-like tests for native features". I think we should make the best effort to at least try upstreaming, and ask our partners to do the same. In this case, our cumulative benefit would be the greatest :) |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Premise
Now that #1538, which introduced our system of core tests, has merged and some residual issues with it have been solved. It's time to start thinking about what tests actually need to be written. I want to put together a proposal/list of the kinds of tests that need to be written, but I wanted to open this up to the community before I write up a formal list which we can issue a call to action for.
Defense in Depth
i.e. where do these tests fit in the world?
These core tests aren't the only tests that will be checking the validity of our code. The WebGPU CTS (conformance test suite) is a standardized test suite for all WebGPU implementations. This tests a lot of the more mechanical and validation-based operations. Through #1421, we should be able to run CTS in CI at some point through our friends at deno, so we can consider it a part of our active defenses.
The example reftests, part of our core tests, help us by making sure our end-to-end process works well enough for the scenes in the examples. While the examples do cover quite a few features, they do not test them individually or thoroughly.
Distributed Testing
As a future goal of #1379, we will build a distributed testing network such that we can automatically run all of our core tests across a large array of hardware. This network will likely not test the WebGPU CTS due to the required infrastructure to check it.
My Current Ideas
The following is my current idea of what we should or shouldn't test in these core tests. These are categories and would not represent individual tests.
Should Test
Shouldn't Test
Questions
Beta Was this translation helpful? Give feedback.
All reactions