glslang/gtests
steve-lunarg cf43e66125 Fix defects in uniform array flattening
Fix for two defects as follows:

- The IO mapping traverser was not setting inVisit, and would skip some AST nodes.
  Depending on the order of nodes, this could have prevented the binding from
  showing up in the generated SPIR-V.

- If a uniform array was flattened, each of the flattened scalars from the array
  is still a (now-scalar) uniform.  It was being converted to a temporary.
2016-09-22 15:58:06 -06:00
..
AST.FromFile.cpp PP: Fix issue #408: # as last character in macro. 2016-07-30 12:41:35 -06:00
BuiltInResource.FromFile.cpp Rename DefaultResourceLimits.* to ResourceLimits.*. 2016-05-19 13:53:16 -04:00
CMakeLists.txt Remapper: move remapper tests into the glslangtests executable. 2016-09-02 09:21:12 -06:00
Config.FromFile.cpp Front-end: Fix known crashes by early exit on error (issue #29, issue #34, issue #35). 2016-07-09 14:53:11 -06:00
Hlsl.FromFile.cpp Flatten uniform arrays 2016-09-22 08:47:48 -06:00
Initializer.h Infrastructure: Make shared symbol-table cache complete, delete work around. 2016-08-09 19:15:17 -06:00
Link.FromFile.cpp Front-end: Fix known crashes by early exit on error (issue #29, issue #34, issue #35). 2016-07-09 14:53:11 -06:00
main.cpp Link in Google Test framework. 2016-03-31 10:31:30 -04:00
Pp.FromFile.cpp Remove duplicated tests from the runtests script. 2016-06-28 17:54:07 -04:00
README.md Link in Google Test framework. 2016-03-31 10:31:30 -04:00
Remap.FromFile.cpp WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
Settings.cpp Link in Google Test framework. 2016-03-31 10:31:30 -04:00
Settings.h Link in Google Test framework. 2016-03-31 10:31:30 -04:00
Spv.FromFile.cpp Fix defects in uniform array flattening 2016-09-22 15:58:06 -06:00
TestFixture.cpp WIP: SPV Remapper: add remapper test framework 2016-08-25 10:46:51 -06:00
TestFixture.h Fix defects in uniform array flattening 2016-09-22 15:58:06 -06:00

Glslang Tests based on the Google Test Framework

This directory contains Google Test based test fixture and test cases for glslang.

Apart from typical unit tests, necessary utility methods are added into the GlslangTests 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 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.