Browse Source

GL: test AbstractShaderProgram::link() failure.

pull/191/head
Vladimír Vondruš 8 years ago
parent
commit
d1cf23190f
  1. 24
      src/Magnum/GL/Test/AbstractShaderProgramGLTest.cpp

24
src/Magnum/GL/Test/AbstractShaderProgramGLTest.cpp

@ -61,7 +61,9 @@ struct AbstractShaderProgramGLTest: OpenGLTester {
void createMultipleOutputsIndexed();
#endif
void linkFailure();
void uniformNotFound();
void uniform();
void uniformVector();
void uniformMatrix();
@ -90,7 +92,9 @@ AbstractShaderProgramGLTest::AbstractShaderProgramGLTest() {
&AbstractShaderProgramGLTest::createMultipleOutputsIndexed,
#endif
&AbstractShaderProgramGLTest::linkFailure,
&AbstractShaderProgramGLTest::uniformNotFound,
&AbstractShaderProgramGLTest::uniform,
&AbstractShaderProgramGLTest::uniformVector,
&AbstractShaderProgramGLTest::uniformMatrix,
@ -348,6 +352,26 @@ void AbstractShaderProgramGLTest::createMultipleOutputsIndexed() {
}
#endif
void AbstractShaderProgramGLTest::linkFailure() {
Shader shader(
#ifndef CORRADE_TARGET_APPLE
Version::GL300
#else
Version::GL310
#endif
, Shader::Type::Fragment);
shader.addSource("[fu] bleh error #:! stuff\n");
{
Error redirectError{nullptr};
CORRADE_VERIFY(!shader.compile());
}
MyPublicShader program;
program.attachShaders({shader});
CORRADE_VERIFY(!program.link());
}
void AbstractShaderProgramGLTest::uniformNotFound() {
MyPublicShader program;

Loading…
Cancel
Save