|
Packit |
ed9f85 |
Glslang Tests based on the Google Test Framework
|
|
Packit |
ed9f85 |
================================================
|
|
Packit |
ed9f85 |
|
|
Packit |
ed9f85 |
This directory contains [Google Test][gtest] based test fixture and test
|
|
Packit |
ed9f85 |
cases for glslang.
|
|
Packit |
ed9f85 |
|
|
Packit |
ed9f85 |
Apart from typical unit tests, necessary utility methods are added into
|
|
Packit |
ed9f85 |
the [`GlslangTests`](TestFixture.h) fixture to provide the ability to do
|
|
Packit |
ed9f85 |
file-based integration tests. Various `*.FromFile.cpp` files lists names
|
|
Packit |
ed9f85 |
of files containing input shader code in the `Test/` directory. Utility
|
|
Packit |
ed9f85 |
methods will load the input shader source, compile them, and compare with
|
|
Packit |
ed9f85 |
the corresponding expected output in the `Test/baseResults/` directory.
|
|
Packit |
ed9f85 |
|
|
Packit |
ed9f85 |
How to run the tests
|
|
Packit |
ed9f85 |
--------------------
|
|
Packit |
ed9f85 |
|
|
Packit |
ed9f85 |
Please make sure you have a copy of [Google Test][gtest] checked out under
|
|
Packit |
ed9f85 |
the `External` directory before building. After building, just run the
|
|
Packit |
ed9f85 |
`ctest` command or the `gtests/glslangtests` binary in your build directory.
|
|
Packit |
ed9f85 |
|
|
Packit |
ed9f85 |
The `gtests/glslangtests` binary also provides an `--update-mode` command
|
|
Packit |
ed9f85 |
line option, which, if supplied, will overwrite the golden files under
|
|
Packit |
ed9f85 |
the `Test/baseResults/` directory with real output from that invocation.
|
|
Packit |
ed9f85 |
This serves as an easy way to update golden files.
|
|
Packit |
ed9f85 |
|
|
Packit |
ed9f85 |
[gtest]: https://github.com/google/googletest
|