xref: /aosp_15_r20/external/deqp/external/openglcts/modules/common/glcTestCase.hpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
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 
31 namespace deqp
32 {
33 
34 class TestCaseGroup : public tcu::TestCaseGroup
35 {
36 public:
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 
~TestCaseGroup(void)40     virtual ~TestCaseGroup(void)
41     {
42     }
43 
getContext(void)44     Context &getContext(void)
45     {
46         return m_context;
47     }
48 
49 protected:
50     Context &m_context;
51 };
52 
53 class TestCase : public tcu::TestCase
54 {
55 public:
56     TestCase(Context &context, const char *name, const char *description);
57     TestCase(Context &context, tcu::TestNodeType nodeType, const char *name, const char *description);
~TestCase(void)58     virtual ~TestCase(void)
59     {
60     }
61 
62 protected:
63     Context &m_context;
64 };
65 
TestCaseGroup(Context & context,const char * name,const char * description)66 inline TestCaseGroup::TestCaseGroup(Context &context, const char *name, const char *description)
67     : tcu::TestCaseGroup(context.getTestContext(), name, description)
68     , m_context(context)
69 {
70 }
71 
TestCaseGroup(Context & context,const char * name,const char * description,const std::vector<TestNode * > & children)72 inline TestCaseGroup::TestCaseGroup(Context &context, const char *name, const char *description,
73                                     const std::vector<TestNode *> &children)
74     : tcu::TestCaseGroup(context.getTestContext(), name, description, children)
75     , m_context(context)
76 {
77 }
78 
TestCase(Context & context,const char * name,const char * description)79 inline TestCase::TestCase(Context &context, const char *name, const char *description)
80     : tcu::TestCase(context.getTestContext(), name, description)
81     , m_context(context)
82 {
83 }
84 
TestCase(Context & context,tcu::TestNodeType nodeType,const char * name,const char * description)85 inline TestCase::TestCase(Context &context, tcu::TestNodeType nodeType, const char *name, const char *description)
86     : tcu::TestCase(context.getTestContext(), nodeType, name, description)
87     , m_context(context)
88 {
89 }
90 
91 } // namespace deqp
92 
93 namespace glcts
94 {
95 
96 using deqp::TestCaseGroup;
97 
98 } // namespace glcts
99 
100 #endif // _GLCTESTCASE_HPP
101