1#ifndef _GLCTESTCASE_HPP
2#define _GLCTESTCASE_HPP
3/*-------------------------------------------------------------------------
4 * OpenGL Conformance Test Suite
5 * -----------------------------
6 *
7 * Copyright (c) 2016 Google Inc.
8 * Copyright (c) 2016 The Khronos Group Inc.
9 *
10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
13 *
14 *      http://www.apache.org/licenses/LICENSE-2.0
15 *
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
21 *
22 */ /*!
23 * \file
24 * \brief OpenGL test case.
25 */ /*-------------------------------------------------------------------*/
26
27#include "glcContext.hpp"
28#include "tcuDefs.hpp"
29#include "tcuTestCase.hpp"
30
31namespace deqp
32{
33
34class TestCaseGroup : public tcu::TestCaseGroup
35{
36public:
37	TestCaseGroup(Context& context, const char* name, const char* description);
38	TestCaseGroup(Context& context, const char* name, const char* description, const std::vector<TestNode*>& children);
39
40	virtual ~TestCaseGroup(void)
41	{
42	}
43
44	Context& getContext(void)
45	{
46		return m_context;
47	}
48
49protected:
50	Context& m_context;
51};
52
53class TestCase : public tcu::TestCase
54{
55public:
56	TestCase(Context& context, const char* name, const char* description);
57	TestCase(Context& context, tcu::TestNodeType nodeType, const char* name, const char* description);
58	virtual ~TestCase(void)
59	{
60	}
61
62protected:
63	Context& m_context;
64};
65
66inline TestCaseGroup::TestCaseGroup(Context& context, const char* name, const char* description)
67	: tcu::TestCaseGroup(context.getTestContext(), name, description), m_context(context)
68{
69}
70
71inline TestCaseGroup::TestCaseGroup(Context& context, const char* name, const char* description,
72									const std::vector<TestNode*>& children)
73	: tcu::TestCaseGroup(context.getTestContext(), name, description, children), m_context(context)
74{
75}
76
77inline TestCase::TestCase(Context& context, const char* name, const char* description)
78	: tcu::TestCase(context.getTestContext(), name, description), m_context(context)
79{
80}
81
82inline TestCase::TestCase(Context& context, tcu::TestNodeType nodeType, const char* name, const char* description)
83	: tcu::TestCase(context.getTestContext(), nodeType, name, description), m_context(context)
84{
85}
86
87} // deqp
88
89namespace glcts
90{
91
92using deqp::TestCaseGroup;
93
94} // glcts
95
96#endif // _GLCTESTCASE_HPP
97