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.ccTo run them, build the
tint_unitteststarget to produce thetint_unittestsexecutable, and then run the executable.The
tint_unittestsexecutable 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:shaderhierarchy. 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.