1/*------------------------------------------------------------------------- 2 * OpenGL Conformance Test Suite 3 * ----------------------------- 4 * 5 * Copyright (c) 2017 The Khronos Group Inc. 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 * 19 */ /*! 20 * \file 21 * \brief OpenGL Conformance Test Package that does not have predefined GL context. 22 */ /*-------------------------------------------------------------------*/ 23 24#include "glcNoDefaultContextPackage.hpp" 25#include "glcContextFlagsTests.hpp" 26#include "glcKHRDebugTests.hpp" 27#include "glcMultipleContextsTests.hpp" 28#include "glcNoErrorTests.hpp" 29#include "glcRobustBufferAccessBehaviorTests.hpp" 30#include "glcRobustnessTests.hpp" 31#include "gluRenderContext.hpp" 32 33namespace glcts 34{ 35namespace nodefaultcontext 36{ 37class TestCaseWrapper : public tcu::TestCaseExecutor 38{ 39public: 40 TestCaseWrapper(void); 41 ~TestCaseWrapper(void); 42 43 void init(tcu::TestCase* testCase, const std::string& path); 44 void deinit(tcu::TestCase* testCase); 45 tcu::TestNode::IterateResult iterate(tcu::TestCase* testCase); 46}; 47 48TestCaseWrapper::TestCaseWrapper(void) 49{ 50} 51 52TestCaseWrapper::~TestCaseWrapper(void) 53{ 54} 55 56void TestCaseWrapper::init(tcu::TestCase* testCase, const std::string&) 57{ 58 testCase->init(); 59} 60 61void TestCaseWrapper::deinit(tcu::TestCase* testCase) 62{ 63 testCase->deinit(); 64} 65 66tcu::TestNode::IterateResult TestCaseWrapper::iterate(tcu::TestCase* testCase) 67{ 68 const tcu::TestCase::IterateResult result = testCase->iterate(); 69 70 return result; 71} 72} // nodefaultcontext 73 74NoDefaultContextPackage::NoDefaultContextPackage(tcu::TestContext& testCtx, const char* name) 75 : tcu::TestPackage(testCtx, name, "CTS No Default Context Package") 76{ 77} 78 79NoDefaultContextPackage::~NoDefaultContextPackage(void) 80{ 81} 82 83tcu::TestCaseExecutor* NoDefaultContextPackage::createExecutor(void) const 84{ 85 return new nodefaultcontext::TestCaseWrapper(); 86} 87 88void NoDefaultContextPackage::init(void) 89{ 90 tcu::TestCaseGroup* gl30Group = new tcu::TestCaseGroup(getTestContext(), "gl30", ""); 91 gl30Group->addChild(new glcts::NoErrorTests(getTestContext(), glu::ApiType::core(3, 0))); 92 addChild(gl30Group); 93 94 tcu::TestCaseGroup* gl40Group = new tcu::TestCaseGroup(getTestContext(), "gl40", ""); 95 gl40Group->addChild(new glcts::MultipleContextsTests(getTestContext(), glu::ApiType::core(4, 0))); 96 addChild(gl40Group); 97 98 tcu::TestCaseGroup* gl43Group = new tcu::TestCaseGroup(getTestContext(), "gl43", ""); 99 gl43Group->addChild(new glcts::RobustBufferAccessBehaviorTests(getTestContext(), glu::ApiType::core(4, 3))); 100 gl43Group->addChild(new glcts::KHRDebugTests(getTestContext(), glu::ApiType::core(4, 3))); 101 addChild(gl43Group); 102 103 tcu::TestCaseGroup* gl45Group = new tcu::TestCaseGroup(getTestContext(), "gl45", ""); 104 gl45Group->addChild(new glcts::RobustnessTests(getTestContext(), glu::ApiType::core(4, 5))); 105 gl45Group->addChild(new glcts::ContextFlagsTests(getTestContext(), glu::ApiType::core(4, 5))); 106 addChild(gl45Group); 107 108 tcu::TestCaseGroup* es2Group = new tcu::TestCaseGroup(getTestContext(), "es2", ""); 109 es2Group->addChild(new glcts::NoErrorTests(getTestContext(), glu::ApiType::es(2, 0))); 110 addChild(es2Group); 111 112 tcu::TestCaseGroup* es32Group = new tcu::TestCaseGroup(getTestContext(), "es32", ""); 113 es32Group->addChild(new glcts::RobustnessTests(getTestContext(), glu::ApiType::es(3, 2))); 114 es32Group->addChild(new glcts::ContextFlagsTests(getTestContext(), glu::ApiType::es(3, 2))); 115 es32Group->addChild(new glcts::RobustBufferAccessBehaviorTests(getTestContext(), glu::ApiType::es(3, 2))); 116 addChild(es32Group); 117} 118 119} // glcts 120