Glslang
Khronos-reference front end for GLSL/ESSL, partial front end for HLSL
...Right now, there are two test harnesses existing in glslang: one is Google Test, one is the runtests script. The former runs unit tests and single-shader single-threaded integration tests, while the latter runs multiple-shader linking tests and multi-threaded tests. Test results should always be included with a pull request that modifies functionality.