Link in Google Test framework.
The existing test harness is a homemade shell script. All the tests and the expected results are written in plain text files. The harness just reads in a test, invoke the glslangValidator binary on it, and compare the result with the golden file. All tests are kinda integration tests. This patch add Google Test as an external project, which provides a new harness for reading shader source files, compile to SPIR-V, and then compare with the expected output.
This commit is contained in:
parent
c3869fee41
commit
414eb60482
23 changed files with 1618 additions and 106 deletions
26
gtests/README.md
Normal file
26
gtests/README.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
Glslang Tests based on the Google Test Framework
|
||||
================================================
|
||||
|
||||
This directory contains [Google Test][gtest] based test fixture and test
|
||||
cases for glslang.
|
||||
|
||||
Apart from typical unit tests, necessary utility methods are added into
|
||||
the [`GlslangTests`](TestFixture.h) fixture to provide the ability to do
|
||||
file-based integration tests. Various `*.FromFile.cpp` files lists names
|
||||
of files containing input shader code in the `Test/` directory. Utility
|
||||
methods will load the input shader source, compile them, and compare with
|
||||
the corresponding expected output in the `Test/baseResults/` directory.
|
||||
|
||||
How to run the tests
|
||||
--------------------
|
||||
|
||||
Please make sure you have a copy of [Google Test][gtest] checked out under
|
||||
the `External` directory before building. After building, just run the
|
||||
`ctest` command or the `gtests/glslangtests` binary in your build directory.
|
||||
|
||||
The `gtests/glslangtests` binary also provides an `--update-mode` command
|
||||
line option, which, if supplied, will overwrite the golden files under
|
||||
the `Test/baseResults/` directory with real output from that invocation.
|
||||
This serves as an easy way to update golden files.
|
||||
|
||||
[gtest]: https://github.com/google/googletest
|
||||
Loading…
Add table
Add a link
Reference in a new issue