blob: 54335b9a6292cda2818e3351f74aa30ffa50a0c5 [file] [log] [blame]
/*-------------------------------------------------------------------------
* OpenGL Conformance Test Suite
* -----------------------------
*
* Copyright (c) 2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/ /*!
* \file
* \brief OpenGL Conformance Test Package that does not have predefined GL context.
*/ /*-------------------------------------------------------------------*/
#include "glcNoDefaultContextPackage.hpp"
#include "glcContextFlagsTests.hpp"
#include "glcKHRDebugTests.hpp"
#include "glcMultipleContextsTests.hpp"
#include "glcNoErrorTests.hpp"
#include "glcRobustBufferAccessBehaviorTests.hpp"
#include "glcRobustnessTests.hpp"
#include "gluRenderContext.hpp"
namespace glcts
{
namespace nodefaultcontext
{
class TestCaseWrapper : public tcu::TestCaseExecutor
{
public:
TestCaseWrapper(void);
~TestCaseWrapper(void);
void init(tcu::TestCase* testCase, const std::string& path);
void deinit(tcu::TestCase* testCase);
tcu::TestNode::IterateResult iterate(tcu::TestCase* testCase);
};
TestCaseWrapper::TestCaseWrapper(void)
{
}
TestCaseWrapper::~TestCaseWrapper(void)
{
}
void TestCaseWrapper::init(tcu::TestCase* testCase, const std::string&)
{
testCase->init();
}
void TestCaseWrapper::deinit(tcu::TestCase* testCase)
{
testCase->deinit();
}
tcu::TestNode::IterateResult TestCaseWrapper::iterate(tcu::TestCase* testCase)
{
const tcu::TestCase::IterateResult result = testCase->iterate();
return result;
}
} // nodefaultcontext
NoDefaultContextPackage::NoDefaultContextPackage(tcu::TestContext& testCtx, const char* name)
: tcu::TestPackage(testCtx, name, "CTS No Default Context Package")
{
}
NoDefaultContextPackage::~NoDefaultContextPackage(void)
{
}
tcu::TestCaseExecutor* NoDefaultContextPackage::createExecutor(void) const
{
return new nodefaultcontext::TestCaseWrapper();
}
void NoDefaultContextPackage::init(void)
{
tcu::TestCaseGroup* gl30Group = new tcu::TestCaseGroup(getTestContext(), "gl30", "");
gl30Group->addChild(new glcts::NoErrorTests(getTestContext(), glu::ApiType::core(3, 0)));
addChild(gl30Group);
tcu::TestCaseGroup* gl40Group = new tcu::TestCaseGroup(getTestContext(), "gl40", "");
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::RobustBufferAccessBehaviorTests(getTestContext(), glu::ApiType::core(4, 3)));
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)));
addChild(gl45Group);
tcu::TestCaseGroup* es2Group = new tcu::TestCaseGroup(getTestContext(), "es2", "");
es2Group->addChild(new glcts::NoErrorTests(getTestContext(), glu::ApiType::es(2, 0)));
addChild(es2Group);
tcu::TestCaseGroup* es32Group = new tcu::TestCaseGroup(getTestContext(), "es32", "");
es32Group->addChild(new glcts::RobustnessTests(getTestContext(), glu::ApiType::es(3, 2)));
es32Group->addChild(new glcts::ContextFlagsTests(getTestContext(), glu::ApiType::es(3, 2)));
es32Group->addChild(new glcts::RobustBufferAccessBehaviorTests(getTestContext(), glu::ApiType::es(3, 2)));
addChild(es32Group);
}
} // glcts