summaryrefslogtreecommitdiff
path: root/test/test-render.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2022-11-17 19:44:40 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2022-11-17 19:44:49 +0000
commit46fb6990bfcd07497229a5081b8e38287054be01 (patch)
tree14eb8ee576836826f9739be122b7645be484685a /test/test-render.cpp
parentShaders can be deleted once attached to a program (diff)
downloadilt-46fb6990bfcd07497229a5081b8e38287054be01.tar.bz2
ilt-46fb6990bfcd07497229a5081b8e38287054be01.tar.xz
ilt-46fb6990bfcd07497229a5081b8e38287054be01.zip
Move OpenGL context behaviour tests into their own app
For our own sanity :)
Diffstat (limited to 'test/test-render.cpp')
-rw-r--r--test/test-render.cpp71
1 files changed, 0 insertions, 71 deletions
diff --git a/test/test-render.cpp b/test/test-render.cpp
index 590f8b3..89b2d90 100644
--- a/test/test-render.cpp
+++ b/test/test-render.cpp
@@ -48,77 +48,6 @@ public:
BOOST_GLOBAL_FIXTURE(ApplicationBase);
-#define TEST_WINDOW_PARAMS __FILE__, 0, 0, 640, 480, SDL_WINDOW_OPENGL | SDL_WINDOW_HIDDEN
-static void
-CreateProgramTest()
-{
- ProgramRef p;
- BOOST_REQUIRE(p);
-}
-BOOST_AUTO_TEST_CASE(windowContextThingsBehaviour1)
-{
- BOOST_REQUIRE(!glCreateProgram); // Init not called yet
- {
- SDL_WindowPtr window {TEST_WINDOW_PARAMS};
- BOOST_REQUIRE(window);
- BOOST_REQUIRE(!glCreateProgram);
- BOOST_REQUIRE_NE(glewInit(), GLEW_OK); // No context yet
- {
- SDL_GLContextPtr context {window};
- BOOST_REQUIRE(context);
- BOOST_REQUIRE(!glCreateProgram);
- BOOST_REQUIRE_EQUAL(glewInit(), GLEW_OK);
- BOOST_REQUIRE(glCreateProgram);
- CreateProgramTest();
- } // Context destroyed
- BOOST_REQUIRE(glCreateProgram); // Functions still set
- BOOST_REQUIRE_THROW({ ProgramRef p; }, std::exception); // Get fails with no context
- {
- SDL_GLContextPtr context {window};
- BOOST_REQUIRE(context);
- CreateProgramTest();
- }
- }
- {
- SDL_WindowPtr window {TEST_WINDOW_PARAMS};
- BOOST_REQUIRE(window);
- SDL_GLContextPtr context {window};
- BOOST_REQUIRE(context);
- CreateProgramTest();
- }
-}
-
-BOOST_AUTO_TEST_CASE(windowContextThingsBehaviour2)
-{
- SDL_WindowPtr window1 {TEST_WINDOW_PARAMS};
- BOOST_REQUIRE(window1);
- {
- SDL_WindowPtr window2 {TEST_WINDOW_PARAMS};
- BOOST_REQUIRE(window2);
- SDL_GLContextPtr context {window2};
- BOOST_REQUIRE(context);
- CreateProgramTest();
- }
- BOOST_REQUIRE_THROW({ ProgramRef p; }, std::exception); // Get fails with no context
-}
-
-BOOST_AUTO_TEST_CASE(windowContextThingsBehaviour3)
-{
- std::optional<SDL_WindowPtr> window1 {std::in_place, TEST_WINDOW_PARAMS};
- std::optional<SDL_WindowPtr> window2 {std::in_place, TEST_WINDOW_PARAMS};
- BOOST_REQUIRE(window1);
- BOOST_REQUIRE(window1.value());
- SDL_GLContextPtr context {window1.value()};
- BOOST_REQUIRE(context);
- CreateProgramTest();
- window1.reset();
- BOOST_REQUIRE_THROW({ ProgramRef p; }, std::exception); // Get fails with context's window gone
- window1.emplace(TEST_WINDOW_PARAMS);
- BOOST_REQUIRE(window1);
- BOOST_REQUIRE(window1.value());
- BOOST_REQUIRE_THROW({ ProgramRef p; }, std::exception); // Get still fails with context's window gone
-}
-
BOOST_FIXTURE_TEST_SUITE(w, TestRenderWindow);
BOOST_AUTO_TEST_CASE(basic)