glslang/gtests
steve-lunarg 2199c2404b HLSL: fix for flattening assignments from non-symbol R-values.
If a member-wise assignment from a non-flattened struct to a flattened struct sees a complex R-value
(not a symbol), it now creates a temporary to hold that value, to avoid repeating the R-value.
This avoids, e.g, duplicating a whole function call.  Also, it avoids re-using the AST node, making a
new one for each member inside the member loop.

The latter (re-use of AST node) was also an issue in the GetDimensions intrinsic decomposition,
so this PR fixes that one too.
2016-10-04 17:07:45 -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 Parser: Implement extension GL_AMD_gpu_shader_half_float. 2016-09-30 16:13:06 +08: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
HexFloat.cpp Parser: Implement extension GL_AMD_gpu_shader_half_float. 2016-09-30 16:13:06 +08:00
Hlsl.FromFile.cpp HLSL: fix for flattening assignments from non-symbol R-values. 2016-10-04 17:07:45 -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 Change binding auto-map to use provided offsets. 2016-10-01 11:40:43 -06:00
TestFixture.cpp Non-functional: Rationalizing parse helper hierarchy, step 2 (effected error messaging and cascading errors). 2016-10-01 18:07:57 -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.