Move khr_debug tests to NoContext
authorMichael Chock <mchock@nvidia.com>
Thu, 8 Mar 2018 19:41:05 +0000 (11:41 -0800)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Mon, 26 Mar 2018 08:48:36 +0000 (04:48 -0400)
As implemented, the KHR-GL4*.khr_debug.* tests can terminate the EGL
display used by other tests. As recommended, move these tests to the
KHR-NoContext.* group.

Since the test names are already changing, fix the spelling of
'receiving' in one test case.

Components: OpenGL

VK-GL-CTS Issue: 1062

Renamed tests:
KHR-GL4*.khr_debug.* -> KHR-NoContext.gl43.khr_debug.*

Change-Id: I766131f77206cad1cb34955426a81cf10b50e159

16 files changed:
external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl43-master.txt
external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl44-master.txt
external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl45-master.txt
external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl46-master.txt
external/openglcts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.x/gl43-khr-master.txt [new file with mode: 0644]
external/openglcts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.x/mustpass.xml
external/openglcts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.x/src/gl43-khr-master.txt [new file with mode: 0644]
external/openglcts/modules/common/CMakeLists.txt
external/openglcts/modules/common/glcKHRDebugTests.cpp [moved from external/openglcts/modules/gl/gl4cKHRDebugTests.cpp with 93% similarity]
external/openglcts/modules/common/glcKHRDebugTests.hpp [moved from external/openglcts/modules/gl/gl4cKHRDebugTests.hpp with 92% similarity]
external/openglcts/modules/common/glcNoDefaultContextPackage.cpp
external/openglcts/modules/gl/CMakeLists.txt
external/openglcts/modules/gl/gl4cTestPackages.cpp
external/openglcts/modules/runner/glcKhronosMustpassGlNocontext.hpp
external/openglcts/scripts/build_caselists.py
external/openglcts/scripts/build_mustpass.py

index 6cc5ba8..43d6968 100644 (file)
@@ -3683,13 +3683,6 @@ KHR-GL43.copy_image.exceeding_boundaries
 KHR-GL43.copy_image.invalid_alignment
 KHR-GL43.draw_indirect_43.advanced-twoPass-Compute-arrays
 KHR-GL43.draw_indirect_43.advanced-twoPass-Compute-elements
-KHR-GL43.khr_debug.api_errors_non_debug
-KHR-GL43.khr_debug.labels_non_debug
-KHR-GL43.khr_debug.receiveing_messages
-KHR-GL43.khr_debug.groups
-KHR-GL43.khr_debug.api_errors_debug
-KHR-GL43.khr_debug.labels_debug
-KHR-GL43.khr_debug.synchronous_calls
 KHR-GL43.program_interface_query.empty-shaders
 KHR-GL43.program_interface_query.simple-shaders
 KHR-GL43.program_interface_query.input-types
index 4d096da..3d6c095 100644 (file)
@@ -3683,13 +3683,6 @@ KHR-GL44.copy_image.exceeding_boundaries
 KHR-GL44.copy_image.invalid_alignment
 KHR-GL44.draw_indirect_43.advanced-twoPass-Compute-arrays
 KHR-GL44.draw_indirect_43.advanced-twoPass-Compute-elements
-KHR-GL44.khr_debug.api_errors_non_debug
-KHR-GL44.khr_debug.labels_non_debug
-KHR-GL44.khr_debug.receiveing_messages
-KHR-GL44.khr_debug.groups
-KHR-GL44.khr_debug.api_errors_debug
-KHR-GL44.khr_debug.labels_debug
-KHR-GL44.khr_debug.synchronous_calls
 KHR-GL44.program_interface_query.empty-shaders
 KHR-GL44.program_interface_query.simple-shaders
 KHR-GL44.program_interface_query.input-types
index d5068a6..3d9bb6b 100644 (file)
@@ -3684,13 +3684,6 @@ KHR-GL45.copy_image.exceeding_boundaries
 KHR-GL45.copy_image.invalid_alignment
 KHR-GL45.draw_indirect_43.advanced-twoPass-Compute-arrays
 KHR-GL45.draw_indirect_43.advanced-twoPass-Compute-elements
-KHR-GL45.khr_debug.api_errors_non_debug
-KHR-GL45.khr_debug.labels_non_debug
-KHR-GL45.khr_debug.receiveing_messages
-KHR-GL45.khr_debug.groups
-KHR-GL45.khr_debug.api_errors_debug
-KHR-GL45.khr_debug.labels_debug
-KHR-GL45.khr_debug.synchronous_calls
 KHR-GL45.program_interface_query.empty-shaders
 KHR-GL45.program_interface_query.simple-shaders
 KHR-GL45.program_interface_query.input-types
index df4aff7..1a25461 100644 (file)
@@ -3684,13 +3684,6 @@ KHR-GL46.copy_image.exceeding_boundaries
 KHR-GL46.copy_image.invalid_alignment
 KHR-GL46.draw_indirect_43.advanced-twoPass-Compute-arrays
 KHR-GL46.draw_indirect_43.advanced-twoPass-Compute-elements
-KHR-GL46.khr_debug.api_errors_non_debug
-KHR-GL46.khr_debug.labels_non_debug
-KHR-GL46.khr_debug.receiveing_messages
-KHR-GL46.khr_debug.groups
-KHR-GL46.khr_debug.api_errors_debug
-KHR-GL46.khr_debug.labels_debug
-KHR-GL46.khr_debug.synchronous_calls
 KHR-GL46.program_interface_query.empty-shaders
 KHR-GL46.program_interface_query.simple-shaders
 KHR-GL46.program_interface_query.input-types
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.x/gl43-khr-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.x/gl43-khr-master.txt
new file mode 100644 (file)
index 0000000..16ec445
--- /dev/null
@@ -0,0 +1,7 @@
+KHR-NoContext.gl43.khr_debug.api_errors_non_debug
+KHR-NoContext.gl43.khr_debug.labels_non_debug
+KHR-NoContext.gl43.khr_debug.receiving_messages
+KHR-NoContext.gl43.khr_debug.groups
+KHR-NoContext.gl43.khr_debug.api_errors_debug
+KHR-NoContext.gl43.khr_debug.labels_debug
+KHR-NoContext.gl43.khr_debug.synchronous_calls
index 584e263..2030340 100644 (file)
@@ -20,6 +20,7 @@
        <TestPackage name="Khronos Mustpass GL NoContext">
                <Configuration caseListFile="gl30-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
                <Configuration caseListFile="gl40-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
+               <Configuration caseListFile="gl43-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
                <Configuration caseListFile="gl45-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
        </TestPackage>
 </Mustpass>
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.x/src/gl43-khr-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.x/src/gl43-khr-master.txt
new file mode 100644 (file)
index 0000000..c9c40fc
--- /dev/null
@@ -0,0 +1 @@
+KHR-NoContext.gl43.*
index 41e4b3f..787364b 100644 (file)
@@ -32,6 +32,8 @@ set(GLCTS_COMMON_SRCS
        glcFragDepthTests.hpp
        glcInfoTests.cpp
        glcInfoTests.hpp
+       glcKHRDebugTests.cpp
+       glcKHRDebugTests.hpp
        glcMultipleContextsTests.cpp
        glcMultipleContextsTests.hpp
        glcNoErrorTests.cpp
@@ -2,7 +2,7 @@
  * OpenGL Conformance Test Suite
  * -----------------------------
  *
- * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2018 The Khronos Group Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  */ /*-------------------------------------------------------------------*/
 
 /**
- * \file  gl4cKHRDebugTests.cpp
+ * \file  glcKHRDebugTests.cpp
  * \brief Implements conformance tests for "KHR Debug" functionality.
  */ /*-------------------------------------------------------------------*/
 
-#include "gl4cKHRDebugTests.hpp"
+#include "glcKHRDebugTests.hpp"
 
 #include "gluPlatform.hpp"
 #include "gluRenderConfig.hpp"
@@ -47,7 +47,7 @@
 
 using namespace glw;
 
-namespace gl4cts
+namespace glcts
 {
 namespace KHRDebug
 {
@@ -62,7 +62,7 @@ namespace KHRDebug
                                                                                                         \
                if (expected_error != generated_error)                                                          \
                {                                                                                               \
-                       m_context.getTestContext().getLog()                                                         \
+                       m_testCtx.getLog()                                                                          \
                                << tcu::TestLog::Message << "File: " << __FILE__ << ", line: " << __LINE__              \
                                << ". Got wrong error: " << glu::getErrorStr(generated_error)                           \
                                << ", expected: " << glu::getErrorStr(expected_error) << ", message: " << error_message \
@@ -142,11 +142,11 @@ void fillGroupStack(const Functions* gl)
 /** Constructor
  * Creates and set as current new context that should be used by test.
  *
- * @param context  Test context
+ * @param testCtx  Test context
  * @param is_debug Selects if debug or non-debug context should be created
  **/
-TestBase::TestBase(deqp::Context& context, bool is_debug)
-       : m_gl(0), m_is_debug(is_debug), m_rc(0), m_test_base_context(context), m_orig_rc(0)
+TestBase::TestBase(tcu::TestContext& testContext, glu::ApiType apiType, bool is_debug)
+       : m_gl(0), m_is_debug(is_debug), m_rc(0), m_testContext(testContext), m_apiType(apiType)
 {
        /* Nothing to be done here */
 }
@@ -175,9 +175,6 @@ void TestBase::init()
                initNonDebug();
        }
 
-       m_orig_rc = &m_test_base_context.getRenderContext();
-       m_test_base_context.setRenderContext(m_rc);
-
        /* Get functions */
        m_gl = &m_rc->getFunctions();
 }
@@ -186,11 +183,10 @@ void TestBase::init()
  **/
 void TestBase::initDebug()
 {
-       tcu::Platform&  platform = m_test_base_context.getTestContext().getPlatform();
-       glu::RenderConfig renderCfg(
-               glu::ContextType(m_test_base_context.getRenderContext().getType().getAPI(), glu::CONTEXT_DEBUG));
+       tcu::Platform&  platform = m_testContext.getPlatform();
+       glu::RenderConfig renderCfg(glu::ContextType(m_apiType, glu::CONTEXT_DEBUG));
 
-       const tcu::CommandLine& commandLine = m_test_base_context.getTestContext().getCommandLine();
+       const tcu::CommandLine& commandLine = m_testContext.getCommandLine();
        parseRenderConfig(&renderCfg, commandLine);
 
        if (commandLine.getSurfaceType() != tcu::SURFACETYPE_WINDOW)
@@ -204,11 +200,10 @@ void TestBase::initDebug()
  **/
 void TestBase::initNonDebug()
 {
-       tcu::Platform&  platform = m_test_base_context.getTestContext().getPlatform();
-       glu::RenderConfig renderCfg(
-               glu::ContextType(m_test_base_context.getRenderContext().getType().getAPI(), glu::ContextFlags(0)));
+       tcu::Platform&  platform = m_testContext.getPlatform();
+       glu::RenderConfig renderCfg(glu::ContextType(m_apiType, glu::ContextFlags(0)));
 
-       const tcu::CommandLine& commandLine = m_test_base_context.getTestContext().getCommandLine();
+       const tcu::CommandLine& commandLine = m_testContext.getCommandLine();
        parseRenderConfig(&renderCfg, commandLine);
 
        if (commandLine.getSurfaceType() != tcu::SURFACETYPE_WINDOW)
@@ -222,26 +217,21 @@ void TestBase::initNonDebug()
  **/
 void TestBase::done()
 {
-       /* Delete context used by test */
-       m_test_base_context.setRenderContext(m_orig_rc);
-
+       /* Delete context used by test and make no context current */
        delete m_rc;
 
-       /* Switch back to original context */
-       m_test_base_context.getRenderContext().makeCurrent();
-
        m_rc = 0;
        m_gl = 0;
 }
 
 /** Constructor
  *
- * @param context  Test context
+ * @param testCtx  Test context
  * @param is_debug Selects if debug or non-debug context should be used
  * @param name     Name of test
  **/
-APIErrorsTest::APIErrorsTest(deqp::Context& context, bool is_debug, const GLchar* name)
-       : TestCase(context, name, "Verifies that errors are generated as expected"), TestBase(context, is_debug)
+APIErrorsTest::APIErrorsTest(tcu::TestContext& testCtx, glu::ApiType apiType, bool is_debug, const GLchar* name)
+       : TestBase(testCtx, apiType, is_debug), TestCase(testCtx, name, "Verifies that errors are generated as expected")
 {
        /* Nothing to be done */
 }
@@ -655,7 +645,7 @@ tcu::TestNode::IterateResult APIErrorsTest::iterate()
        }
 
        /* Set result */
-       m_context.getTestContext().setTestResult(QP_TEST_RESULT_PASS, "Pass");
+       m_testCtx.setTestResult(QP_TEST_RESULT_PASS, "Pass");
 
        /* Done */
        TestBase::done();
@@ -665,12 +655,12 @@ tcu::TestNode::IterateResult APIErrorsTest::iterate()
 
 /** Constructor
  *
- * @param context  Test context
+ * @param testCtx  Test context
  * @param is_debug Selects if debug or non-debug context should be used
  * @param name     Name of test
  **/
-LabelsTest::LabelsTest(deqp::Context& context, bool is_debug, const GLchar* name)
-       : TestCase(context, name, "Verifies that labels can be assigned and queried"), TestBase(context, is_debug)
+LabelsTest::LabelsTest(tcu::TestContext& testCtx, glu::ApiType apiType, bool is_debug, const GLchar* name)
+       : TestCase(testCtx, name, "Verifies that labels can be assigned and queried"), TestBase(testCtx, apiType, is_debug)
 {
        /* Nothing to be done */
 }
@@ -864,7 +854,7 @@ tcu::TestNode::IterateResult LabelsTest::iterate()
                {
                        test_case.m_destroy(m_gl, id);
 
-                       m_context.getTestContext().getLog()
+                       m_testCtx.getLog()
                                << tcu::TestLog::Message << "Error during test case: " << test_case.m_name << tcu::TestLog::EndMessage;
 
                        TCU_FAIL(exc.what());
@@ -874,7 +864,7 @@ tcu::TestNode::IterateResult LabelsTest::iterate()
        }
 
        /* Set result */
-       m_context.getTestContext().setTestResult(QP_TEST_RESULT_PASS, "Pass");
+       m_testCtx.setTestResult(QP_TEST_RESULT_PASS, "Pass");
 
        /* Done */
        TestBase::done();
@@ -1261,13 +1251,13 @@ GLvoid LabelsTest::deleteVertexArray(const Functions* gl, GLuint id)
 
 /** Constructor
  *
- * @param context  Test context
+ * @param testCtx  Test context
  * @param is_debug Selects if debug or non-debug context should be used
  * @param name     Name of test
  **/
-ReceiveingMessagesTest::ReceiveingMessagesTest(deqp::Context& context)
-       : TestCase(context, "receiveing_messages", "Verifies that messages can be received")
-       , TestBase(context, true /* is_debug */)
+ReceivingMessagesTest::ReceivingMessagesTest(tcu::TestContext& testCtx, glu::ApiType apiType)
+       : TestCase(testCtx, "receiving_messages", "Verifies that messages can be received")
+       , TestBase(testCtx, apiType, true /* is_debug */)
 {
        /* Nothing to be done */
 }
@@ -1276,7 +1266,7 @@ ReceiveingMessagesTest::ReceiveingMessagesTest(deqp::Context& context)
  *
  * @return tcu::TestNode::STOP
  **/
-tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
+tcu::TestNode::IterateResult ReceivingMessagesTest::iterate()
 {
        static const size_t bufSize               = 32;
        static const GLchar label[]               = "foo";
@@ -1335,7 +1325,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (1 != ret)
                {
-                       m_context.getTestContext().getLog() << tcu::TestLog::Message
+                       m_testCtx.getLog() << tcu::TestLog::Message
                                                                                                << "GetDebugMessageLog returned invalid number of messages: " << ret
                                                                                                << ", expected 1" << tcu::TestLog::EndMessage;
 
@@ -1549,7 +1539,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (n_debug_messages != max_debug_messages)
                {
-                       m_context.getTestContext().getLog()
+                       m_testCtx.getLog()
                                << tcu::TestLog::Message << "State of DEBUG_LOGGED_MESSAGES: " << n_debug_messages << ", expected "
                                << max_debug_messages << tcu::TestLog::EndMessage;
 
@@ -1601,7 +1591,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (ret != (GLuint)half_count)
                {
-                       m_context.getTestContext().getLog() << tcu::TestLog::Message
+                       m_testCtx.getLog() << tcu::TestLog::Message
                                                                                                << "GetDebugMessageLog returned unexpected number of messages: " << ret
                                                                                                << ", expected " << half_count << tcu::TestLog::EndMessage;
 
@@ -1613,7 +1603,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (n_debug_messages != rest_count)
                {
-                       m_context.getTestContext().getLog()
+                       m_testCtx.getLog()
                                << tcu::TestLog::Message << "State of DEBUG_LOGGED_MESSAGES: " << n_debug_messages << ", expected "
                                << rest_count << tcu::TestLog::EndMessage;
 
@@ -1667,7 +1657,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (ret != (GLuint)(rest_count - 1))
                {
-                       m_context.getTestContext().getLog() << tcu::TestLog::Message
+                       m_testCtx.getLog() << tcu::TestLog::Message
                                                                                                << "GetDebugMessageLog returned unexpected number of messages: " << ret
                                                                                                << ", expected " << (rest_count - 1) << tcu::TestLog::EndMessage;
 
@@ -1679,7 +1669,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (n_debug_messages != 1)
                {
-                       m_context.getTestContext().getLog()
+                       m_testCtx.getLog()
                                << tcu::TestLog::Message << "State of DEBUG_LOGGED_MESSAGES: " << n_debug_messages << ", expected "
                                << (rest_count - 1) << tcu::TestLog::EndMessage;
 
@@ -1732,7 +1722,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (ret != 1)
                {
-                       m_context.getTestContext().getLog() << tcu::TestLog::Message
+                       m_testCtx.getLog() << tcu::TestLog::Message
                                                                                                << "GetDebugMessageLog returned unexpected number of messages: " << ret
                                                                                                << ", expected 1" << tcu::TestLog::EndMessage;
 
@@ -1744,7 +1734,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
 
                if (n_debug_messages != 0)
                {
-                       m_context.getTestContext().getLog()
+                       m_testCtx.getLog()
                                << tcu::TestLog::Message << "State of DEBUG_LOGGED_MESSAGES: " << n_debug_messages << ", expected 1"
                                << tcu::TestLog::EndMessage;
 
@@ -1786,7 +1776,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
        }
 
        /* Set result */
-       m_context.getTestContext().setTestResult(QP_TEST_RESULT_PASS, "Pass");
+       m_testCtx.setTestResult(QP_TEST_RESULT_PASS, "Pass");
 
        /* Done */
        TestBase::done();
@@ -1804,7 +1794,7 @@ tcu::TestNode::IterateResult ReceiveingMessagesTest::iterate()
  * @param ignored
  * @param info    Pointer to uint counter
  **/
-void ReceiveingMessagesTest::debug_proc(glw::GLenum /* source */, glw::GLenum /* type */, glw::GLuint /* id */,
+void ReceivingMessagesTest::debug_proc(glw::GLenum /* source */, glw::GLenum /* type */, glw::GLuint /* id */,
                                                                                glw::GLenum /* severity */, glw::GLsizei /* length */,
                                                                                const glw::GLchar* /* message */, const void* info)
 {
@@ -1819,7 +1809,7 @@ void ReceiveingMessagesTest::debug_proc(glw::GLenum /* source */, glw::GLenum /*
  * @param expected_callback  Expected state of DEBUG_CALLBACK_FUNCTION
  * @param expected_user_info Expected state of DEBUG_CALLBACK_USER_PARAM
  **/
-void ReceiveingMessagesTest::inspectDebugState(GLboolean expected_state, GLDEBUGPROC expected_callback,
+void ReceivingMessagesTest::inspectDebugState(GLboolean expected_state, GLDEBUGPROC expected_callback,
                                                                                           GLvoid* expected_user_info) const
 {
        GLboolean debug_state = -1;
@@ -1828,7 +1818,7 @@ void ReceiveingMessagesTest::inspectDebugState(GLboolean expected_state, GLDEBUG
 
        if (expected_state != debug_state)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message << "State of DEBUG_OUTPUT: " << debug_state
+               m_testCtx.getLog() << tcu::TestLog::Message << "State of DEBUG_OUTPUT: " << debug_state
                                                                                        << ", expected " << expected_state << tcu::TestLog::EndMessage;
 
                TCU_FAIL("Invalid state of DEBUG_OUTPUT");
@@ -1858,14 +1848,14 @@ void ReceiveingMessagesTest::inspectDebugState(GLboolean expected_state, GLDEBUG
  * @param callback_counter            Reference to counter
  * @param expected_number_of_messages Expected value of counter
  **/
-void ReceiveingMessagesTest::inspectCallbackCounter(GLuint& callback_counter, GLuint expected_number_of_messages) const
+void ReceivingMessagesTest::inspectCallbackCounter(GLuint& callback_counter, GLuint expected_number_of_messages) const
 {
        m_gl->finish();
        GLU_EXPECT_NO_ERROR(m_gl->getError(), "Finish");
 
        if (expected_number_of_messages != callback_counter)
        {
-               m_context.getTestContext().getLog()
+               m_testCtx.getLog()
                        << tcu::TestLog::Message << "Debug callback was executed invalid number of times: " << callback_counter
                        << ", expected " << expected_number_of_messages << tcu::TestLog::EndMessage;
 
@@ -1877,7 +1867,7 @@ void ReceiveingMessagesTest::inspectCallbackCounter(GLuint& callback_counter, GL
  *
  * @param expected_number_of_messages Expected number of messages
  **/
-void ReceiveingMessagesTest::inspectMessageLog(GLuint expected_number_of_messages) const
+void ReceivingMessagesTest::inspectMessageLog(GLuint expected_number_of_messages) const
 {
        static const size_t bufSize               = 32;
        static const size_t read_messages = 4;
@@ -1896,7 +1886,7 @@ void ReceiveingMessagesTest::inspectMessageLog(GLuint expected_number_of_message
 
        if (expected_number_of_messages != ret)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message
+               m_testCtx.getLog() << tcu::TestLog::Message
                                                                                        << "GetDebugMessageLog returned invalid number of messages: " << ret
                                                                                        << ", expected " << expected_number_of_messages << tcu::TestLog::EndMessage;
 
@@ -1906,13 +1896,13 @@ void ReceiveingMessagesTest::inspectMessageLog(GLuint expected_number_of_message
 
 /** Constructor
  *
- * @param context  Test context
+ * @param testCtx  Test context
  * @param is_debug Selects if debug or non-debug context should be used
  * @param name     Name of test
  **/
-GroupsTest::GroupsTest(deqp::Context& context)
-       : TestCase(context, "groups", "Verifies that groups can be used to control generated messages")
-       , TestBase(context, true /* is_debug */)
+GroupsTest::GroupsTest(tcu::TestContext& testCtx, glu::ApiType apiType)
+       : TestCase(testCtx, "groups", "Verifies that groups can be used to control generated messages")
+       , TestBase(testCtx, apiType, true /* is_debug */)
 {
        /* Nothing to be done */
 }
@@ -2111,7 +2101,7 @@ tcu::TestNode::IterateResult GroupsTest::iterate()
        inspectGroupStack(1);
 
        /* Set result */
-       m_context.getTestContext().setTestResult(QP_TEST_RESULT_PASS, "Pass");
+       m_testCtx.setTestResult(QP_TEST_RESULT_PASS, "Pass");
 
        /* Done */
        TestBase::done();
@@ -2132,7 +2122,7 @@ void GroupsTest::inspectGroupStack(GLuint expected_depth) const
 
        if (expected_depth != (GLuint)stack_depth)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message
+               m_testCtx.getLog() << tcu::TestLog::Message
                                                                                        << "State of DEBUG_GROUP_STACK_DEPTH: " << stack_depth << ", expected "
                                                                                        << expected_depth << tcu::TestLog::EndMessage;
 
@@ -2175,7 +2165,7 @@ void GroupsTest::inspectMessageLog(glw::GLenum expected_source, glw::GLenum expe
 
        if (expected_source != source)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message << "Got message with invalid source: " << source
+               m_testCtx.getLog() << tcu::TestLog::Message << "Got message with invalid source: " << source
                                                                                        << ", expected " << expected_source << tcu::TestLog::EndMessage;
 
                TCU_FAIL("Invalid source of message");
@@ -2183,7 +2173,7 @@ void GroupsTest::inspectMessageLog(glw::GLenum expected_source, glw::GLenum expe
 
        if (expected_type != type)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message << "Got message with invalid type: " << type
+               m_testCtx.getLog() << tcu::TestLog::Message << "Got message with invalid type: " << type
                                                                                        << ", expected " << expected_type << tcu::TestLog::EndMessage;
 
                TCU_FAIL("Invalid type of message");
@@ -2191,7 +2181,7 @@ void GroupsTest::inspectMessageLog(glw::GLenum expected_source, glw::GLenum expe
 
        if (expected_id != id)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message << "Got message with invalid id: " << id
+               m_testCtx.getLog() << tcu::TestLog::Message << "Got message with invalid id: " << id
                                                                                        << ", expected " << expected_id << tcu::TestLog::EndMessage;
 
                TCU_FAIL("Invalid id of message");
@@ -2199,7 +2189,7 @@ void GroupsTest::inspectMessageLog(glw::GLenum expected_source, glw::GLenum expe
 
        if (expected_severity != severity)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message
+               m_testCtx.getLog() << tcu::TestLog::Message
                                                                                        << "Got message with invalid severity: " << severity << ", expected "
                                                                                        << expected_severity << tcu::TestLog::EndMessage;
 
@@ -2211,7 +2201,7 @@ void GroupsTest::inspectMessageLog(glw::GLenum expected_source, glw::GLenum expe
        // OpenGL 4.5 Core Spec, Page 530 and Page 535
        if (expected_length + 1 != length)
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message << "Got message with invalid length: " << length
+               m_testCtx.getLog() << tcu::TestLog::Message << "Got message with invalid length: " << length
                                                                                        << ", expected " << expected_length << tcu::TestLog::EndMessage;
 
                TCU_FAIL("Invalid length of message");
@@ -2219,7 +2209,7 @@ void GroupsTest::inspectMessageLog(glw::GLenum expected_source, glw::GLenum expe
 
        if (0 != strcmp(expected_label, messageLog))
        {
-               m_context.getTestContext().getLog() << tcu::TestLog::Message
+               m_testCtx.getLog() << tcu::TestLog::Message
                                                                                        << "Got message with invalid message: " << messageLog << ", expected "
                                                                                        << expected_label << tcu::TestLog::EndMessage;
 
@@ -2255,13 +2245,13 @@ void GroupsTest::verifyEmptyLog() const
 
 /** Constructor
  *
- * @param context  Test context
+ * @param testCtx  Test context
  * @param is_debug Selects if debug or non-debug context should be used
  * @param name     Name of test
  **/
-SynchronousCallsTest::SynchronousCallsTest(deqp::Context& context)
-       : TestCase(context, "synchronous_calls", "Verifies that messages can be received")
-       , TestBase(context, true /* is_debug */)
+SynchronousCallsTest::SynchronousCallsTest(tcu::TestContext& testCtx, glu::ApiType apiType)
+       : TestCase(testCtx, "synchronous_calls", "Verifies that messages can be received")
+       , TestBase(testCtx, apiType, true /* is_debug */)
 {
        /* Create pthread_key_t visible to all threads
         * The key has value NULL associated with it in all existing
@@ -2387,7 +2377,7 @@ tcu::TestNode::IterateResult SynchronousCallsTest::iterate()
        }
 
        /* Set result */
-       m_context.getTestContext().setTestResult(QP_TEST_RESULT_PASS, "Pass");
+       m_testCtx.setTestResult(QP_TEST_RESULT_PASS, "Pass");
 
        /* Done */
        TestBase::done();
@@ -2424,8 +2414,10 @@ void SynchronousCallsTest::debug_proc(glw::GLenum /* source */, glw::GLenum /* t
  *
  *  @param context Rendering context.
  **/
-KHRDebugTests::KHRDebugTests(deqp::Context& context)
-       : TestCaseGroup(context, "khr_debug", "Verifies \"khr debug\" functionality")
+KHRDebugTests::KHRDebugTests(tcu::TestContext& testCtx, glu::ApiType apiType)
+       : TestCaseGroup(testCtx, "khr_debug", "Verifies \"khr debug\" functionality")
+       , m_apiType(apiType)
+
 {
        /* Left blank on purpose */
 }
@@ -2435,13 +2427,13 @@ KHRDebugTests::KHRDebugTests(deqp::Context& context)
  **/
 void KHRDebugTests::init(void)
 {
-       addChild(new KHRDebug::APIErrorsTest(m_context, false, "api_errors_non_debug"));
-       addChild(new KHRDebug::LabelsTest(m_context, false, "labels_non_debug"));
-       addChild(new KHRDebug::ReceiveingMessagesTest(m_context));
-       addChild(new KHRDebug::GroupsTest(m_context));
-       addChild(new KHRDebug::APIErrorsTest(m_context, true, "api_errors_debug"));
-       addChild(new KHRDebug::LabelsTest(m_context, true, "labels_debug"));
-       addChild(new KHRDebug::SynchronousCallsTest(m_context));
+       addChild(new KHRDebug::APIErrorsTest(m_testCtx, m_apiType, false, "api_errors_non_debug"));
+       addChild(new KHRDebug::LabelsTest(m_testCtx, m_apiType, false, "labels_non_debug"));
+       addChild(new KHRDebug::ReceivingMessagesTest(m_testCtx, m_apiType));
+       addChild(new KHRDebug::GroupsTest(m_testCtx, m_apiType));
+       addChild(new KHRDebug::APIErrorsTest(m_testCtx, m_apiType, true, "api_errors_debug"));
+       addChild(new KHRDebug::LabelsTest(m_testCtx, m_apiType, true, "labels_debug"));
+       addChild(new KHRDebug::SynchronousCallsTest(m_testCtx, m_apiType));
 }
 
-} /* gl4cts namespace */
+} /* glcts namespace */
@@ -1,10 +1,10 @@
-#ifndef _GL4CKHRDEBUGTESTS_HPP
-#define _GL4CKHRDEBUGTESTS_HPP
+#ifndef _GLCKHRDEBUGTESTS_HPP
+#define _GLCKHRDEBUGTESTS_HPP
 /*-------------------------------------------------------------------------
  * OpenGL Conformance Test Suite
  * -----------------------------
  *
- * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2018 The Khronos Group Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@
  */ /*-------------------------------------------------------------------*/
 
 /**
- * \file  gl4cKHRDebugTests.hpp
+ * \file  glcKHRDebugTests.hpp
  * \brief Declares test classes for "KHR Debug" functionality.
  */ /*-------------------------------------------------------------------*/
 
@@ -43,7 +43,7 @@ namespace glw
 class Functions;
 }
 
-namespace gl4cts
+namespace glcts
 {
 namespace KHRDebug
 {
@@ -54,7 +54,7 @@ class TestBase
 {
 public:
        /* Public methods */
-       TestBase(deqp::Context& context, bool is_debug);
+       TestBase(tcu::TestContext& testContext, glu::ApiType apiType, bool is_debug);
        virtual ~TestBase();
 
 protected:
@@ -73,8 +73,8 @@ private:
        void initNonDebug();
 
        /* Private fields */
-       deqp::Context&          m_test_base_context;
-       glu::RenderContext* m_orig_rc;
+       tcu::TestContext&       m_testContext;
+       glu::ApiType            m_apiType;
 };
 
 /** Implementation of test APIErrors. Description follows:
@@ -139,11 +139,11 @@ private:
  * GetPointerv function should generate:
  * - INVALID_ENUM when <pname> is invalid.
  **/
-class APIErrorsTest : public deqp::TestCase, public TestBase
+class APIErrorsTest : public TestBase, public tcu::TestCase
 {
 public:
        /* Public methods */
-       APIErrorsTest(deqp::Context& context, bool is_debug, const glw::GLchar* name);
+       APIErrorsTest(tcu::TestContext& testCtx, glu::ApiType apiType, bool is_debug, const glw::GLchar* name);
 
        virtual ~APIErrorsTest()
        {
@@ -180,11 +180,11 @@ public:
  * will be zero;
  * - delete object.
  **/
-class LabelsTest : public deqp::TestCase, public TestBase
+class LabelsTest : public tcu::TestCase, public TestBase
 {
 public:
        /* Public methods */
-       LabelsTest(deqp::Context& context, bool is_debug, const glw::GLchar* name);
+       LabelsTest(tcu::TestContext& testCtx, glu::ApiType apiType, bool is_debug, const glw::GLchar* name);
 
        virtual ~LabelsTest()
        {
@@ -220,7 +220,7 @@ private:
        static glw::GLvoid deleteVertexArray(const glw::Functions* gl, glw::GLuint id);
 };
 
-/** Implementation of test ReceiveingMessages. Description follows:
+/** Implementation of test ReceivingMessages. Description follows:
  *
  * This test verifies that it is possible to receive messages.
  *
@@ -302,13 +302,13 @@ private:
  * available;
  * - fetch the message and verify it is the newest one;
  **/
-class ReceiveingMessagesTest : public deqp::TestCase, public TestBase
+class ReceivingMessagesTest : public tcu::TestCase, public TestBase
 {
 public:
        /* Public methods */
-       ReceiveingMessagesTest(deqp::Context& context);
+       ReceivingMessagesTest(tcu::TestContext& testCtx, glu::ApiType apiType);
 
-       virtual ~ReceiveingMessagesTest()
+       virtual ~ReceivingMessagesTest()
        {
        }
 
@@ -383,11 +383,11 @@ private:
  *
  * - check state of DEBUG_GROUP_STACK_DEPTH; It should be 1.
  **/
-class GroupsTest : public deqp::TestCase, public TestBase
+class GroupsTest : public tcu::TestCase, public TestBase
 {
 public:
        /* Public methods */
-       GroupsTest(deqp::Context& context);
+       GroupsTest(tcu::TestContext& testCtx, glu::ApiType apiType);
 
        virtual ~GroupsTest()
        {
@@ -433,11 +433,11 @@ private:
  *   * callback_executed is set to 1 and thread_id is the same
  *   as "test" thread - implementation sent message to proper thread;
  **/
-class SynchronousCallsTest : public deqp::TestCase, public TestBase
+class SynchronousCallsTest : public tcu::TestCase, public TestBase
 {
 public:
        /* Public methods */
-       SynchronousCallsTest(deqp::Context& context);
+       SynchronousCallsTest(tcu::TestContext& testCtx, glu::ApiType apiType);
        ~SynchronousCallsTest(void);
 
        /* Public methods inherited from TestCase */
@@ -454,11 +454,11 @@ private:
 } /* KHRDebug */
 
 /** Group class for khr debug conformance tests */
-class KHRDebugTests : public deqp::TestCaseGroup
+class KHRDebugTests : public tcu::TestCaseGroup
 {
 public:
        /* Public methods */
-       KHRDebugTests(deqp::Context& context);
+       KHRDebugTests(tcu::TestContext& testCtx, glu::ApiType apiType);
 
        virtual ~KHRDebugTests(void)
        {
@@ -470,8 +470,11 @@ private:
        /* Private methods */
        KHRDebugTests(const KHRDebugTests& other);
        KHRDebugTests& operator=(const KHRDebugTests& other);
+
+       /* Private members */
+       glu::ApiType m_apiType;
 };
 
-} /* gl4cts */
+} /* glcts */
 
-#endif // _GL4CKHRDEBUGTESTS_HPP
+#endif // _GLCKHRDEBUGTESTS_HPP
index e918e67..77c67b1 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "glcNoDefaultContextPackage.hpp"
 #include "glcContextFlagsTests.hpp"
+#include "glcKHRDebugTests.hpp"
 #include "glcMultipleContextsTests.hpp"
 #include "glcNoErrorTests.hpp"
 #include "glcRobustnessTests.hpp"
@@ -93,6 +94,10 @@ void NoDefaultContextPackage::init(void)
        gl40Group->addChild(new glcts::MultipleContextsTests(getTestContext(), glu::ApiType::core(4, 0)));
        addChild(gl40Group);
 
+       tcu::TestCaseGroup* gl43Group = new tcu::TestCaseGroup(getTestContext(), "gl43", "");
+       gl43Group->addChild(new glcts::KHRDebugTests(getTestContext(), glu::ApiType::core(4, 3)));
+       addChild(gl43Group);
+
        tcu::TestCaseGroup* gl45Group = new tcu::TestCaseGroup(getTestContext(), "gl45", "");
        gl45Group->addChild(new glcts::RobustnessTests(getTestContext(), glu::ApiType::core(4, 5)));
        gl45Group->addChild(new glcts::ContextFlagsTests(getTestContext(), glu::ApiType::core(4, 5)));
index a50d553..41f4f4a 100644 (file)
@@ -48,8 +48,6 @@ set(GLCTS_GL_SRCS
        gl4cES31CompatibilityShaderStorageBufferObjectTests.cpp
        gl4cES31CompatibilityTests.cpp
        gl4cES31CompatibilityTests.hpp
-       gl4cKHRDebugTests.cpp
-       gl4cKHRDebugTests.hpp
        gl4cMapBufferAlignmentTests.cpp
        gl4cMapBufferAlignmentTests.hpp
        gl4cMultiBindTests.cpp
index a1bc0a7..4bc5887 100644 (file)
@@ -38,7 +38,6 @@
 #include "gl4cGlSpirvTests.hpp"
 #include "gl4cIncompleteTextureAccessTests.hpp"
 #include "gl4cIndirectParametersTests.hpp"
-#include "gl4cKHRDebugTests.hpp"
 #include "gl4cLimitsTests.hpp"
 #include "gl4cMapBufferAlignmentTests.hpp"
 #include "gl4cMultiBindTests.hpp"
@@ -230,7 +229,6 @@ void GL43TestPackage::init(void)
                addChild(new glcts::ArrayOfArraysTestGroupGL(getContext()));
                addChild(new gl4cts::CopyImageTests(getContext()));
                addChild(new glcts::DrawIndirectTestsGL43(getContext()));
-               addChild(new gl4cts::KHRDebugTests(getContext()));
                addChild(new gl4cts::ProgramInterfaceQueryTests(getContext()));
                addChild(new gl4cts::ComputeShaderTests(getContext()));
                addChild(new deqp::RobustBufferAccessBehaviorTests(getContext()));
index c1281dc..d74d9c9 100644 (file)
@@ -24,6 +24,7 @@ const char* mustpassDir = "gl_cts/data/mustpass/gl/khronos_mustpass_noctx/4.6.0.
 static const RunParams khronos_mustpass_gl_nocontext_first_cfg[] = {
        { glu::ApiType::core(3, 0), "khr-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
        { glu::ApiType::core(4, 0), "khr-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
+       { glu::ApiType::core(4, 3), "khr-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
        { glu::ApiType::core(4, 5), "khr-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
 };
 
index 828b2cc..35710b9 100644 (file)
@@ -77,6 +77,7 @@ MODULES = [
        Module("GTF-GL30",              "GL30"),
        Module("KHR-NOCTX-GL30","GL30"),
        Module("KHR-NOCTX-GL40","GL40"),
+       Module("KHR-NOCTX-GL43","GL43"),
        Module("KHR-NOCTX-GL45","GL45"),
 ]
 GLCTS_BIN_NAME = "glcts"
@@ -103,7 +104,7 @@ def getModulesPath (buildCfg):
 
 def getCaseListFileName (module, caseListType):
        mname = module.name
-       if mname == "KHR-NOCTX-ES2" or mname == "KHR-NOCTX-ES32" or mname == "KHR-NOCTX-GL30" or mname == "KHR-NOCTX-GL40" or mname == "KHR-NOCTX-GL45":
+       if mname == "KHR-NOCTX-ES2" or mname == "KHR-NOCTX-ES32" or mname == "KHR-NOCTX-GL30" or mname == "KHR-NOCTX-GL40" or mname == "KHR-NOCTX-GL43" or mname == "KHR-NOCTX-GL45":
                mname =  "KHR-NoContext"
        return "%s-cases.%s" % (mname, caseListType)
 
index c3531a2..0e9fee9 100644 (file)
@@ -1014,6 +1014,7 @@ GL_MODULES                                                        = OrderedDict([
 
 NOCTX_GL30_KHR_MODULE                  = getModuleByName("KHR-NOCTX-GL30")
 NOCTX_GL40_KHR_MODULE                  = getModuleByName("KHR-NOCTX-GL40")
+NOCTX_GL43_KHR_MODULE                  = getModuleByName("KHR-NOCTX-GL43")
 NOCTX_GL45_KHR_MODULE                  = getModuleByName("KHR-NOCTX-GL45")
 
 GLCTS_NOCTX_GL30_KHR_PKG                       = Package(module = NOCTX_GL30_KHR_MODULE, configurations = [
@@ -1034,6 +1035,15 @@ GLCTS_NOCTX_GL40_KHR_PKG                 = Package(module = NOCTX_GL40_KHR_MODULE, configurati
                                        filters                 = [include("gl40-khr-master.txt")]),
        ])
 
+GLCTS_NOCTX_GL43_KHR_PKG                       = Package(module = NOCTX_GL43_KHR_MODULE, configurations = [
+               # Master
+               Configuration(name                      = "khr-master",
+                                       surfacewidth    = "64",
+                                       surfaceheight   = "64",
+                                       baseseed                = "1",
+                                       filters                 = [include("gl43-khr-master.txt")]),
+       ])
+
 GLCTS_NOCTX_GL45_KHR_PKG                       = Package(module = NOCTX_GL45_KHR_MODULE, configurations = [
                # Master
                Configuration(name                      = "khr-master",
@@ -1070,7 +1080,7 @@ def generateGLMustpass():
                        gl_packages.append(pkg1)
 
                mustpass = [Mustpass(project = GL_CTS_KHR_MP_PROJECT, version = "4.6.0.x", isCurrent=True, packages = gl_packages),
-                                       Mustpass(project = GL_CTS_NOCTX_PROJECT, version = "4.6.0.x", isCurrent=True, packages = [GLCTS_NOCTX_GL30_KHR_PKG, GLCTS_NOCTX_GL40_KHR_PKG, GLCTS_NOCTX_GL45_KHR_PKG]),
+                                       Mustpass(project = GL_CTS_NOCTX_PROJECT, version = "4.6.0.x", isCurrent=True, packages = [GLCTS_NOCTX_GL30_KHR_PKG, GLCTS_NOCTX_GL40_KHR_PKG, GLCTS_NOCTX_GL43_KHR_PKG, GLCTS_NOCTX_GL45_KHR_PKG]),
                                        ]
                return mustpass