glslang/gtests
David Neto 2067d1a93e
Add test case for read-only storage texture passed to helper function (#2414)
This is based on spv.paramMemory.frag.out which exercises the
writeonly storage image case.

This appears to need desktop GLSL.

The generated SPIR-V fails validation because the image_write function
takes a parameter which is pointer to an OpTypeImage with Unknown format.
But the parameters passed in are pointer to OpTypeImage with formats Rgba32f
and Rgba16f. The validator rejects this, saying the parameter types must
match.
2020-10-07 16:10:27 -06:00
..
AST.FromFile.cpp Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -06:00
BuiltInResource.FromFile.cpp Gtests can be run on another source tree 2016-10-05 10:28:32 -04:00
CMakeLists.txt Revert "Add new SpirvToolsDisassemble API interface + Improve Doc on existing API interface (#2408)" 2020-10-05 16:58:31 -06:00
Config.FromFile.cpp Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -06:00
HexFloat.cpp Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -06:00
Hlsl.FromFile.cpp Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -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 Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -06:00
Link.FromFile.Vk.cpp Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -06:00
main.cpp SPV: Implement Vulkan 1.1 features and extensions. 2018-03-06 16:12:04 -07:00
pch.h Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
Pp.FromFile.cpp Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -06:00
README.md Link in Google Test framework. 2016-03-31 10:31:30 -04:00
Remap.FromFile.cpp Build/Test: Dropping 2013 allows using the latest googletests. 2020-08-05 11:07:07 -06:00
Settings.cpp Gtests can be run on another source tree 2016-10-05 10:28:32 -04:00
Settings.h Gtests can be run on another source tree 2016-10-05 10:28:32 -04:00
Spv.FromFile.cpp Add test case for read-only storage texture passed to helper function (#2414) 2020-10-07 16:10:27 -06:00
TestFixture.cpp Add support for GLSL_EXT_ray_tracing 2020-03-17 20:42:47 -04:00
TestFixture.h Use GLSLANG_ANGLE to strip features to what ANGLE requires 2020-07-31 12:44:49 -04: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.