xref: /aosp_15_r20/external/deqp/modules/gles3/tes3TestCase.hpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1 #ifndef _TES3TESTCASE_HPP
2 #define _TES3TESTCASE_HPP
3 /*-------------------------------------------------------------------------
4  * drawElements Quality Program OpenGL ES 3.0 Module
5  * -------------------------------------------------
6  *
7  * Copyright 2014 The Android Open Source Project
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  *//*!
22  * \file
23  * \brief OpenGL ES 3.0 test case.
24  *//*--------------------------------------------------------------------*/
25 
26 #include "tcuDefs.hpp"
27 #include "tcuTestCase.hpp"
28 #include "tes3Context.hpp"
29 
30 namespace deqp
31 {
32 namespace gles3
33 {
34 
35 class TestCaseGroup : public tcu::TestCaseGroup
36 {
37 public:
38     TestCaseGroup(Context &context, const char *name, const char *description);
39     TestCaseGroup(Context &context, const char *name, const char *description, const std::vector<TestNode *> &children);
~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 gles3
92 } // namespace deqp
93 
94 #endif // _TES3TESTCASE_HPP
95