1e5c31af7Sopenharmony_ci/*-------------------------------------------------------------------------
2e5c31af7Sopenharmony_ci * OpenGL Conformance Test Suite
3e5c31af7Sopenharmony_ci * -----------------------------
4e5c31af7Sopenharmony_ci *
5e5c31af7Sopenharmony_ci * Copyright (c) 2016 Google Inc.
6e5c31af7Sopenharmony_ci * Copyright (c) 2016 The Khronos Group Inc.
7e5c31af7Sopenharmony_ci *
8e5c31af7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
9e5c31af7Sopenharmony_ci * you may not use this file except in compliance with the License.
10e5c31af7Sopenharmony_ci * You may obtain a copy of the License at
11e5c31af7Sopenharmony_ci *
12e5c31af7Sopenharmony_ci *      http://www.apache.org/licenses/LICENSE-2.0
13e5c31af7Sopenharmony_ci *
14e5c31af7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
15e5c31af7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
16e5c31af7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17e5c31af7Sopenharmony_ci * See the License for the specific language governing permissions and
18e5c31af7Sopenharmony_ci * limitations under the License.
19e5c31af7Sopenharmony_ci *
20e5c31af7Sopenharmony_ci */ /*!
21e5c31af7Sopenharmony_ci * \file
22e5c31af7Sopenharmony_ci * \brief OpenGL Conformance Test Configuration List Package
23e5c31af7Sopenharmony_ci */ /*-------------------------------------------------------------------*/
24e5c31af7Sopenharmony_ci
25e5c31af7Sopenharmony_ci#include "glcConfigPackage.hpp"
26e5c31af7Sopenharmony_ci#include "glcConfigListCase.hpp"
27e5c31af7Sopenharmony_ci
28e5c31af7Sopenharmony_ci#include "glcTestPackage.hpp"
29e5c31af7Sopenharmony_ci#include "tcuTestLog.hpp"
30e5c31af7Sopenharmony_ci
31e5c31af7Sopenharmony_cinamespace glcts
32e5c31af7Sopenharmony_ci{
33e5c31af7Sopenharmony_cinamespace config
34e5c31af7Sopenharmony_ci{
35e5c31af7Sopenharmony_ciclass TestCaseWrapper : public tcu::TestCaseExecutor
36e5c31af7Sopenharmony_ci{
37e5c31af7Sopenharmony_cipublic:
38e5c31af7Sopenharmony_ci	TestCaseWrapper(void);
39e5c31af7Sopenharmony_ci	~TestCaseWrapper(void);
40e5c31af7Sopenharmony_ci
41e5c31af7Sopenharmony_ci	void init(tcu::TestCase* testCase, const std::string& path);
42e5c31af7Sopenharmony_ci	void deinit(tcu::TestCase* testCase);
43e5c31af7Sopenharmony_ci	tcu::TestNode::IterateResult iterate(tcu::TestCase* testCase);
44e5c31af7Sopenharmony_ci};
45e5c31af7Sopenharmony_ci
46e5c31af7Sopenharmony_ciTestCaseWrapper::TestCaseWrapper(void)
47e5c31af7Sopenharmony_ci{
48e5c31af7Sopenharmony_ci}
49e5c31af7Sopenharmony_ci
50e5c31af7Sopenharmony_ciTestCaseWrapper::~TestCaseWrapper(void)
51e5c31af7Sopenharmony_ci{
52e5c31af7Sopenharmony_ci}
53e5c31af7Sopenharmony_ci
54e5c31af7Sopenharmony_civoid TestCaseWrapper::init(tcu::TestCase* testCase, const std::string&)
55e5c31af7Sopenharmony_ci{
56e5c31af7Sopenharmony_ci	testCase->init();
57e5c31af7Sopenharmony_ci}
58e5c31af7Sopenharmony_ci
59e5c31af7Sopenharmony_civoid TestCaseWrapper::deinit(tcu::TestCase* testCase)
60e5c31af7Sopenharmony_ci{
61e5c31af7Sopenharmony_ci	testCase->deinit();
62e5c31af7Sopenharmony_ci}
63e5c31af7Sopenharmony_ci
64e5c31af7Sopenharmony_citcu::TestNode::IterateResult TestCaseWrapper::iterate(tcu::TestCase* testCase)
65e5c31af7Sopenharmony_ci{
66e5c31af7Sopenharmony_ci	const tcu::TestCase::IterateResult result = testCase->iterate();
67e5c31af7Sopenharmony_ci
68e5c31af7Sopenharmony_ci	return result;
69e5c31af7Sopenharmony_ci}
70e5c31af7Sopenharmony_ci}
71e5c31af7Sopenharmony_ci
72e5c31af7Sopenharmony_ciConfigPackage::ConfigPackage(tcu::TestContext& testCtx, const char* name)
73e5c31af7Sopenharmony_ci	: tcu::TestPackage(testCtx, name, "CTS Configuration List Package")
74e5c31af7Sopenharmony_ci{
75e5c31af7Sopenharmony_ci}
76e5c31af7Sopenharmony_ci
77e5c31af7Sopenharmony_ciConfigPackage::~ConfigPackage(void)
78e5c31af7Sopenharmony_ci{
79e5c31af7Sopenharmony_ci}
80e5c31af7Sopenharmony_ci
81e5c31af7Sopenharmony_citcu::TestCaseExecutor* ConfigPackage::createExecutor(void) const
82e5c31af7Sopenharmony_ci{
83e5c31af7Sopenharmony_ci	return new config::TestCaseWrapper();
84e5c31af7Sopenharmony_ci}
85e5c31af7Sopenharmony_ci
86e5c31af7Sopenharmony_civoid ConfigPackage::init(void)
87e5c31af7Sopenharmony_ci{
88e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "es2", "OpenGL ES 2 Configurations", glu::ApiType::es(2, 0)));
89e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "es3", "OpenGL ES 3 Configurations", glu::ApiType::es(3, 0)));
90e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "es31", "OpenGL ES 3.1 Configurations", glu::ApiType::es(3, 1)));
91e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "es32", "OpenGL ES 3.2 Configurations", glu::ApiType::es(3, 2)));
92e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl30", "OpenGL 3.0 Configurations", glu::ApiType::core(3, 0)));
93e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl31", "OpenGL 3.1 Configurations", glu::ApiType::core(3, 1)));
94e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl32", "OpenGL 3.2 Configurations", glu::ApiType::core(3, 2)));
95e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl33", "OpenGL 3.3 Configurations", glu::ApiType::core(3, 3)));
96e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl40", "OpenGL 4.0 Configurations", glu::ApiType::core(4, 0)));
97e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl41", "OpenGL 4.1 Configurations", glu::ApiType::core(4, 1)));
98e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl42", "OpenGL 4.2 Configurations", glu::ApiType::core(4, 2)));
99e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl43", "OpenGL 4.3 Configurations", glu::ApiType::core(4, 3)));
100e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl44", "OpenGL 4.4 Configurations", glu::ApiType::core(4, 4)));
101e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl45", "OpenGL 4.5 Configurations", glu::ApiType::core(4, 5)));
102e5c31af7Sopenharmony_ci	addChild(new ConfigListCase(m_testCtx, "gl46", "OpenGL 4.6 Configurations", glu::ApiType::core(4, 6)));
103e5c31af7Sopenharmony_ci}
104e5c31af7Sopenharmony_ci
105e5c31af7Sopenharmony_ci} // glcts
106