From c2f69b20e8a4ec3d23f094361d9da873a5e8662f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 19 Sep 2013 01:50:00 +0200 Subject: [PATCH] Shaders: test compilation of Flat and VertexColor shaders. --- src/Shaders/Test/CMakeLists.txt | 2 + src/Shaders/Test/FlatTest.cpp | 55 ++++++++++++++++++++++++++++ src/Shaders/Test/VertexColorTest.cpp | 55 ++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 src/Shaders/Test/FlatTest.cpp create mode 100644 src/Shaders/Test/VertexColorTest.cpp diff --git a/src/Shaders/Test/CMakeLists.txt b/src/Shaders/Test/CMakeLists.txt index c7b45ce7e..94b0bc7a6 100644 --- a/src/Shaders/Test/CMakeLists.txt +++ b/src/Shaders/Test/CMakeLists.txt @@ -24,5 +24,7 @@ if(BUILD_GL_TESTS) corrade_add_test(ShadersDistanceFieldVectorTest DistanceFieldVectorTest.cpp LIBRARIES MagnumShaders ${GL_TEST_LIBRARIES}) + corrade_add_test(ShadersFlatTest FlatTest.cpp LIBRARIES MagnumShaders ${GL_TEST_LIBRARIES}) corrade_add_test(ShadersVectorTest VectorTest.cpp LIBRARIES MagnumShaders ${GL_TEST_LIBRARIES}) + corrade_add_test(ShadersVertexColorTest VertexColorTest.cpp LIBRARIES MagnumShaders ${GL_TEST_LIBRARIES}) endif() diff --git a/src/Shaders/Test/FlatTest.cpp b/src/Shaders/Test/FlatTest.cpp new file mode 100644 index 000000000..3576beefb --- /dev/null +++ b/src/Shaders/Test/FlatTest.cpp @@ -0,0 +1,55 @@ +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +#include "Shaders/Flat.h" +#include "Test/AbstractOpenGLTester.h" + +namespace Magnum { namespace Shaders { namespace Test { + +class FlatTest: public Magnum::Test::AbstractOpenGLTester { + public: + explicit FlatTest(); + + void compile2D(); + void compile3D(); +}; + +FlatTest::FlatTest() { + addTests({&FlatTest::compile2D, + &FlatTest::compile3D}); +} + +void FlatTest::compile2D() { + Shaders::Flat2D shader; + CORRADE_VERIFY(shader.validate().first); +} + +void FlatTest::compile3D() { + Shaders::Flat3D shader; + CORRADE_VERIFY(shader.validate().first); +} + +}}} + +CORRADE_TEST_MAIN(Magnum::Shaders::Test::FlatTest) diff --git a/src/Shaders/Test/VertexColorTest.cpp b/src/Shaders/Test/VertexColorTest.cpp new file mode 100644 index 000000000..c20915b4d --- /dev/null +++ b/src/Shaders/Test/VertexColorTest.cpp @@ -0,0 +1,55 @@ +/* + This file is part of Magnum. + + Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +#include "Shaders/VertexColor.h" +#include "Test/AbstractOpenGLTester.h" + +namespace Magnum { namespace Shaders { namespace Test { + +class VertexColorTest: public Magnum::Test::AbstractOpenGLTester { + public: + explicit VertexColorTest(); + + void compile2D(); + void compile3D(); +}; + +VertexColorTest::VertexColorTest() { + addTests({&VertexColorTest::compile2D, + &VertexColorTest::compile3D}); +} + +void VertexColorTest::compile2D() { + Shaders::VertexColor2D shader; + CORRADE_VERIFY(shader.validate().first); +} + +void VertexColorTest::compile3D() { + Shaders::VertexColor3D shader; + CORRADE_VERIFY(shader.validate().first); +} + +}}} + +CORRADE_TEST_MAIN(Magnum::Shaders::Test::VertexColorTest)