Tint has multiple levels of testing:
-
Unit tests, using the Googletest framework. These are the lowest level tests, comprehensively checking functionality of internal functions and classes. The test code is inside the Tint source tree in files with names ending in
_test.cc
To run them, build the
tint_unittests
target to produce thetint_unittests
executable, and then run the executable.The
tint_unittests
executable supports all the standard Googletest command line options, e.g. using filters to run only a subset of the tests. See Running Test Programs: Advanced Options -
End-to-end tests. These test the whole compiler flow, translating source shaders to output shaders in various languages, and optionally checking the text of diagnostics. See Tint end-to-end tests.
-
WebGPU Conformance Test Suite (CTS). The WebGPU CTS has both validation and execution tests, in the
webgpu:shader
hierarchy. See https://github.com/gpuweb/cts All test can be run in Chrome, and many tests can be run viadawn.node
, the Dawn bindings for NodeJS.