148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos/*-------------------------------------------------------------------------
248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * OpenGL Conformance Test Suite
348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * -----------------------------
448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos *
548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Copyright (c) 2016 Google Inc.
648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Copyright (c) 2016 The Khronos Group Inc.
748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos *
848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Licensed under the Apache License, Version 2.0 (the "License");
948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * you may not use this file except in compliance with the License.
1048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * You may obtain a copy of the License at
1148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos *
1248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos *      http://www.apache.org/licenses/LICENSE-2.0
1348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos *
1448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Unless required by applicable law or agreed to in writing, software
1548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * distributed under the License is distributed on an "AS IS" BASIS,
1648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * See the License for the specific language governing permissions and
1848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * limitations under the License.
1948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos *
2084322c9402f810da3cd80b52e9f9ef72150a9004Alexander Galazin */ /*!
2148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * \file
2248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * \brief OpenGL Conformance Test Configuration List Package
2384322c9402f810da3cd80b52e9f9ef72150a9004Alexander Galazin */ /*-------------------------------------------------------------------*/
2448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
2548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "glcConfigPackage.hpp"
2648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "glcConfigListCase.hpp"
2748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
2848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "glcTestPackage.hpp"
2948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuTestLog.hpp"
3048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
3148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosnamespace glcts
3248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
3348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosnamespace config
3448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
3548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosclass TestCaseWrapper : public tcu::TestCaseExecutor
3648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
3748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulospublic:
3848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	TestCaseWrapper(void);
3948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	~TestCaseWrapper(void);
4048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
4148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	void init(tcu::TestCase* testCase, const std::string& path);
4248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	void deinit(tcu::TestCase* testCase);
4348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	tcu::TestNode::IterateResult iterate(tcu::TestCase* testCase);
4448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos};
4548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
4648087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosTestCaseWrapper::TestCaseWrapper(void)
4748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
4848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
4948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
5048087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosTestCaseWrapper::~TestCaseWrapper(void)
5148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
5248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
5348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
5448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosvoid TestCaseWrapper::init(tcu::TestCase* testCase, const std::string&)
5548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
5648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	testCase->init();
5748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
5848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
5948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosvoid TestCaseWrapper::deinit(tcu::TestCase* testCase)
6048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
6148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	testCase->deinit();
6248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
6348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
6448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulostcu::TestNode::IterateResult TestCaseWrapper::iterate(tcu::TestCase* testCase)
6548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
6648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	const tcu::TestCase::IterateResult result = testCase->iterate();
6748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
6848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	return result;
6948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
7048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
7148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
7248087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosConfigPackage::ConfigPackage(tcu::TestContext& testCtx, const char* name)
7348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	: tcu::TestPackage(testCtx, name, "CTS Configuration List Package")
7448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
7548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
7648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
7748087f5f0eb08759ee763f98daf3b34becb74559Pyry HaulosConfigPackage::~ConfigPackage(void)
7848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
7948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
8048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
8148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulostcu::TestCaseExecutor* ConfigPackage::createExecutor(void) const
8248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
8348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	return new config::TestCaseWrapper();
8448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
8548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
8648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosvoid ConfigPackage::init(void)
8748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{
8848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "es2", "OpenGL ES 2 Configurations", glu::ApiType::es(2, 0)));
8948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "es3", "OpenGL ES 3 Configurations", glu::ApiType::es(3, 0)));
9048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "es31", "OpenGL ES 3.1 Configurations", glu::ApiType::es(3, 1)));
9148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "es32", "OpenGL ES 3.2 Configurations", glu::ApiType::es(3, 2)));
9248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl30", "OpenGL 3.0 Configurations", glu::ApiType::core(3, 0)));
9348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl31", "OpenGL 3.1 Configurations", glu::ApiType::core(3, 1)));
9448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl32", "OpenGL 3.2 Configurations", glu::ApiType::core(3, 2)));
9548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl33", "OpenGL 3.3 Configurations", glu::ApiType::core(3, 3)));
9648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl40", "OpenGL 4.0 Configurations", glu::ApiType::core(4, 0)));
9748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl41", "OpenGL 4.1 Configurations", glu::ApiType::core(4, 1)));
9848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl42", "OpenGL 4.2 Configurations", glu::ApiType::core(4, 2)));
9948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl43", "OpenGL 4.3 Configurations", glu::ApiType::core(4, 3)));
10048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl44", "OpenGL 4.4 Configurations", glu::ApiType::core(4, 4)));
10148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos	addChild(new ConfigListCase(m_testCtx, "gl45", "OpenGL 4.5 Configurations", glu::ApiType::core(4, 5)));
10248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}
10348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos
10448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} // glcts
105