glslang-zig/gtests
David Neto 8c3d5b4b6c SPIR-V: Aggressively prune unreachable merge, continue target
More aggressively prune unreachable code as follows.
When no control flow edges reach a merge block or continue target:
- delete their contents so that:
  - a merge block becomes OpLabel, then OpUnreachable
  - a continue target becomes OpLabel, then an OpBranch back to the
    loop header
- any basic block which is dominated by such a merge block or continue
  target is removed as well.
- decorations targeting the removed instructions are removed.

Enables the SPIR-V builder post-processing step the GLSLANG_WEB case.
2019-10-29 15:33:54 -04:00
..
AST.FromFile.cpp GLSL: Inherit memory qualifiers, both declaratively and in execution. 2019-08-22 08:54:22 -06:00
BuiltInResource.FromFile.cpp Gtests can be run on another source tree 2016-10-05 10:28:32 -04:00
CMakeLists.txt Handle install vs build include directories 2019-08-06 15:29:31 +01:00
Config.FromFile.cpp Build: Remove extra commas in calling INSTANTIATE_TEST_SUITE_P. 2019-01-29 16:00:42 -07:00
HexFloat.cpp Build: Remove extra commas in calling INSTANTIATE_TEST_SUITE_P. 2019-01-29 16:00:42 -07:00
Hlsl.FromFile.cpp HLSL: Fix #1912: add attribute syntax for overriding image formats. 2019-09-28 11:39:15 -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: Remove extra commas in calling INSTANTIATE_TEST_SUITE_P. 2019-01-29 16:00:42 -07:00
Link.FromFile.Vk.cpp Build: Remove extra commas in calling INSTANTIATE_TEST_SUITE_P. 2019-01-29 16:00:42 -07:00
main.cpp SPV: Implement Vulkan 1.1 features and extensions. 2018-03-06 16:12:04 -07:00
pch.cpp Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
pch.h Use precompiled headers for some glslang projects 2018-10-31 15:38:08 -05:00
Pp.FromFile.cpp Remove execute permissions 2018-08-07 03:16:20 +09:00
README.md Link in Google Test framework. 2016-03-31 10:31:30 -04:00
Remap.FromFile.cpp Remapper: handle embedded opcode in OpSpecConstantOp 2017-05-18 16:13:04 -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 SPIR-V: Aggressively prune unreachable merge, continue target 2019-10-29 15:33:54 -04:00
TestFixture.cpp Web: Remove/rationalize a set of *_EXTENSIONS, using GLSLANG_WEB. 2019-08-20 23:21:55 -06:00
TestFixture.h SPIR-V: Aggressively prune unreachable merge, continue target 2019-10-29 15:33:54 -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.