1*35238bceSAndroid Build Coastguard Worker /*-------------------------------------------------------------------------
2*35238bceSAndroid Build Coastguard Worker * drawElements Internal Test Module
3*35238bceSAndroid Build Coastguard Worker * ---------------------------------
4*35238bceSAndroid Build Coastguard Worker *
5*35238bceSAndroid Build Coastguard Worker * Copyright 2014 The Android Open Source Project
6*35238bceSAndroid Build Coastguard Worker *
7*35238bceSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
8*35238bceSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
9*35238bceSAndroid Build Coastguard Worker * You may obtain a copy of the License at
10*35238bceSAndroid Build Coastguard Worker *
11*35238bceSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0
12*35238bceSAndroid Build Coastguard Worker *
13*35238bceSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
14*35238bceSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
15*35238bceSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16*35238bceSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
17*35238bceSAndroid Build Coastguard Worker * limitations under the License.
18*35238bceSAndroid Build Coastguard Worker *
19*35238bceSAndroid Build Coastguard Worker *//*!
20*35238bceSAndroid Build Coastguard Worker * \file
21*35238bceSAndroid Build Coastguard Worker * \brief delibs self-tests.
22*35238bceSAndroid Build Coastguard Worker *//*--------------------------------------------------------------------*/
23*35238bceSAndroid Build Coastguard Worker
24*35238bceSAndroid Build Coastguard Worker #include "ditDelibsTests.hpp"
25*35238bceSAndroid Build Coastguard Worker #include "tcuTestLog.hpp"
26*35238bceSAndroid Build Coastguard Worker
27*35238bceSAndroid Build Coastguard Worker // depool
28*35238bceSAndroid Build Coastguard Worker #include "dePoolArray.h"
29*35238bceSAndroid Build Coastguard Worker #include "dePoolHeap.h"
30*35238bceSAndroid Build Coastguard Worker #include "dePoolHash.h"
31*35238bceSAndroid Build Coastguard Worker #include "dePoolSet.h"
32*35238bceSAndroid Build Coastguard Worker #include "dePoolHashSet.h"
33*35238bceSAndroid Build Coastguard Worker #include "dePoolHashArray.h"
34*35238bceSAndroid Build Coastguard Worker #include "dePoolMultiSet.h"
35*35238bceSAndroid Build Coastguard Worker
36*35238bceSAndroid Build Coastguard Worker // dethread
37*35238bceSAndroid Build Coastguard Worker #include "deThreadTest.h"
38*35238bceSAndroid Build Coastguard Worker #include "deThread.h"
39*35238bceSAndroid Build Coastguard Worker
40*35238bceSAndroid Build Coastguard Worker // deutil
41*35238bceSAndroid Build Coastguard Worker #include "deTimerTest.h"
42*35238bceSAndroid Build Coastguard Worker #include "deCommandLine.h"
43*35238bceSAndroid Build Coastguard Worker
44*35238bceSAndroid Build Coastguard Worker // debase
45*35238bceSAndroid Build Coastguard Worker #include "deInt32.h"
46*35238bceSAndroid Build Coastguard Worker #include "deFloat16.h"
47*35238bceSAndroid Build Coastguard Worker #include "deMath.h"
48*35238bceSAndroid Build Coastguard Worker #include "deSha1.h"
49*35238bceSAndroid Build Coastguard Worker #include "deMemory.h"
50*35238bceSAndroid Build Coastguard Worker
51*35238bceSAndroid Build Coastguard Worker // decpp
52*35238bceSAndroid Build Coastguard Worker #include "deBlockBuffer.hpp"
53*35238bceSAndroid Build Coastguard Worker #include "deFilePath.hpp"
54*35238bceSAndroid Build Coastguard Worker #include "dePoolArray.hpp"
55*35238bceSAndroid Build Coastguard Worker #include "deRingBuffer.hpp"
56*35238bceSAndroid Build Coastguard Worker #include "deSharedPtr.hpp"
57*35238bceSAndroid Build Coastguard Worker #include "deThreadSafeRingBuffer.hpp"
58*35238bceSAndroid Build Coastguard Worker #include "deUniquePtr.hpp"
59*35238bceSAndroid Build Coastguard Worker #include "deRandom.hpp"
60*35238bceSAndroid Build Coastguard Worker #include "deCommandLine.hpp"
61*35238bceSAndroid Build Coastguard Worker #include "deArrayBuffer.hpp"
62*35238bceSAndroid Build Coastguard Worker #include "deStringUtil.hpp"
63*35238bceSAndroid Build Coastguard Worker #include "deSpinBarrier.hpp"
64*35238bceSAndroid Build Coastguard Worker #include "deSTLUtil.hpp"
65*35238bceSAndroid Build Coastguard Worker #include "deAppendList.hpp"
66*35238bceSAndroid Build Coastguard Worker
67*35238bceSAndroid Build Coastguard Worker namespace dit
68*35238bceSAndroid Build Coastguard Worker {
69*35238bceSAndroid Build Coastguard Worker
70*35238bceSAndroid Build Coastguard Worker using tcu::TestLog;
71*35238bceSAndroid Build Coastguard Worker
72*35238bceSAndroid Build Coastguard Worker class DepoolTests : public tcu::TestCaseGroup
73*35238bceSAndroid Build Coastguard Worker {
74*35238bceSAndroid Build Coastguard Worker public:
DepoolTests(tcu::TestContext & testCtx)75*35238bceSAndroid Build Coastguard Worker DepoolTests(tcu::TestContext &testCtx) : tcu::TestCaseGroup(testCtx, "depool", "depool self-tests")
76*35238bceSAndroid Build Coastguard Worker {
77*35238bceSAndroid Build Coastguard Worker }
78*35238bceSAndroid Build Coastguard Worker
init(void)79*35238bceSAndroid Build Coastguard Worker void init(void)
80*35238bceSAndroid Build Coastguard Worker {
81*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "array", "dePoolArray_selfTest()", dePoolArray_selfTest));
82*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "heap", "dePoolHeap_selfTest()", dePoolHeap_selfTest));
83*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "hash", "dePoolHash_selfTest()", dePoolHash_selfTest));
84*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "set", "dePoolSet_selfTest()", dePoolSet_selfTest));
85*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "hash_set", "dePoolHashSet_selfTest()", dePoolHashSet_selfTest));
86*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "hash_array", "dePoolHashArray_selfTest()", dePoolHashArray_selfTest));
87*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "multi_set", "dePoolMultiSet_selfTest()", dePoolMultiSet_selfTest));
88*35238bceSAndroid Build Coastguard Worker }
89*35238bceSAndroid Build Coastguard Worker };
90*35238bceSAndroid Build Coastguard Worker
91*35238bceSAndroid Build Coastguard Worker extern "C"
92*35238bceSAndroid Build Coastguard Worker {
93*35238bceSAndroid Build Coastguard Worker typedef uint32_t (*GetUint32Func)(void);
94*35238bceSAndroid Build Coastguard Worker }
95*35238bceSAndroid Build Coastguard Worker
96*35238bceSAndroid Build Coastguard Worker class GetUint32Case : public tcu::TestCase
97*35238bceSAndroid Build Coastguard Worker {
98*35238bceSAndroid Build Coastguard Worker public:
GetUint32Case(tcu::TestContext & testCtx,const char * name,const char * description,GetUint32Func func)99*35238bceSAndroid Build Coastguard Worker GetUint32Case(tcu::TestContext &testCtx, const char *name, const char *description, GetUint32Func func)
100*35238bceSAndroid Build Coastguard Worker : tcu::TestCase(testCtx, name, description)
101*35238bceSAndroid Build Coastguard Worker , m_func(func)
102*35238bceSAndroid Build Coastguard Worker , m_description(description)
103*35238bceSAndroid Build Coastguard Worker {
104*35238bceSAndroid Build Coastguard Worker }
105*35238bceSAndroid Build Coastguard Worker
iterate(void)106*35238bceSAndroid Build Coastguard Worker IterateResult iterate(void)
107*35238bceSAndroid Build Coastguard Worker {
108*35238bceSAndroid Build Coastguard Worker m_testCtx.getLog() << TestLog::Message << m_description << " returned " << m_func() << TestLog::EndMessage;
109*35238bceSAndroid Build Coastguard Worker m_testCtx.setTestResult(QP_TEST_RESULT_PASS, "Pass");
110*35238bceSAndroid Build Coastguard Worker return STOP;
111*35238bceSAndroid Build Coastguard Worker }
112*35238bceSAndroid Build Coastguard Worker
113*35238bceSAndroid Build Coastguard Worker private:
114*35238bceSAndroid Build Coastguard Worker GetUint32Func m_func;
115*35238bceSAndroid Build Coastguard Worker const char *m_description;
116*35238bceSAndroid Build Coastguard Worker };
117*35238bceSAndroid Build Coastguard Worker
118*35238bceSAndroid Build Coastguard Worker class DethreadTests : public tcu::TestCaseGroup
119*35238bceSAndroid Build Coastguard Worker {
120*35238bceSAndroid Build Coastguard Worker public:
DethreadTests(tcu::TestContext & testCtx)121*35238bceSAndroid Build Coastguard Worker DethreadTests(tcu::TestContext &testCtx) : tcu::TestCaseGroup(testCtx, "dethread", "dethread self-tests")
122*35238bceSAndroid Build Coastguard Worker {
123*35238bceSAndroid Build Coastguard Worker }
124*35238bceSAndroid Build Coastguard Worker
init(void)125*35238bceSAndroid Build Coastguard Worker void init(void)
126*35238bceSAndroid Build Coastguard Worker {
127*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "thread", "deThread_selfTest()", deThread_selfTest));
128*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "mutex", "deMutex_selfTest()", deMutex_selfTest));
129*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "semaphore", "deSemaphore_selfTest()", deSemaphore_selfTest));
130*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "atomic", "deAtomic_selfTest()", deAtomic_selfTest));
131*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "singleton", "deSingleton_selfTest()", deSingleton_selfTest));
132*35238bceSAndroid Build Coastguard Worker addChild(new GetUint32Case(m_testCtx, "total_physical_cores", "deGetNumTotalPhysicalCores()",
133*35238bceSAndroid Build Coastguard Worker deGetNumTotalPhysicalCores));
134*35238bceSAndroid Build Coastguard Worker addChild(new GetUint32Case(m_testCtx, "total_logical_cores", "deGetNumTotalLogicalCores()",
135*35238bceSAndroid Build Coastguard Worker deGetNumTotalLogicalCores));
136*35238bceSAndroid Build Coastguard Worker addChild(new GetUint32Case(m_testCtx, "available_logical_cores", "deGetNumAvailableLogicalCores()",
137*35238bceSAndroid Build Coastguard Worker deGetNumAvailableLogicalCores));
138*35238bceSAndroid Build Coastguard Worker }
139*35238bceSAndroid Build Coastguard Worker };
140*35238bceSAndroid Build Coastguard Worker
141*35238bceSAndroid Build Coastguard Worker class DeutilTests : public tcu::TestCaseGroup
142*35238bceSAndroid Build Coastguard Worker {
143*35238bceSAndroid Build Coastguard Worker public:
DeutilTests(tcu::TestContext & testCtx)144*35238bceSAndroid Build Coastguard Worker DeutilTests(tcu::TestContext &testCtx) : tcu::TestCaseGroup(testCtx, "deutil", "deutil self-tests")
145*35238bceSAndroid Build Coastguard Worker {
146*35238bceSAndroid Build Coastguard Worker }
147*35238bceSAndroid Build Coastguard Worker
init(void)148*35238bceSAndroid Build Coastguard Worker void init(void)
149*35238bceSAndroid Build Coastguard Worker {
150*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "timer", "deTimer_selfTest()", deTimer_selfTest));
151*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "command_line", "deCommandLine_selfTest()", deCommandLine_selfTest));
152*35238bceSAndroid Build Coastguard Worker }
153*35238bceSAndroid Build Coastguard Worker };
154*35238bceSAndroid Build Coastguard Worker
155*35238bceSAndroid Build Coastguard Worker class DebaseTests : public tcu::TestCaseGroup
156*35238bceSAndroid Build Coastguard Worker {
157*35238bceSAndroid Build Coastguard Worker public:
DebaseTests(tcu::TestContext & testCtx)158*35238bceSAndroid Build Coastguard Worker DebaseTests(tcu::TestContext &testCtx) : tcu::TestCaseGroup(testCtx, "debase", "debase self-tests")
159*35238bceSAndroid Build Coastguard Worker {
160*35238bceSAndroid Build Coastguard Worker }
161*35238bceSAndroid Build Coastguard Worker
init(void)162*35238bceSAndroid Build Coastguard Worker void init(void)
163*35238bceSAndroid Build Coastguard Worker {
164*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "int32", "deInt32_selfTest()", deInt32_selfTest));
165*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "float16", "deFloat16_selfTest()", deFloat16_selfTest));
166*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "math", "deMath_selfTest()", deMath_selfTest));
167*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "sha1", "deSha1_selfTest()", deSha1_selfTest));
168*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "memory", "deMemory_selfTest()", deMemory_selfTest));
169*35238bceSAndroid Build Coastguard Worker }
170*35238bceSAndroid Build Coastguard Worker };
171*35238bceSAndroid Build Coastguard Worker
172*35238bceSAndroid Build Coastguard Worker class DecppTests : public tcu::TestCaseGroup
173*35238bceSAndroid Build Coastguard Worker {
174*35238bceSAndroid Build Coastguard Worker public:
DecppTests(tcu::TestContext & testCtx)175*35238bceSAndroid Build Coastguard Worker DecppTests(tcu::TestContext &testCtx) : tcu::TestCaseGroup(testCtx, "decpp", "decpp self-tests")
176*35238bceSAndroid Build Coastguard Worker {
177*35238bceSAndroid Build Coastguard Worker }
178*35238bceSAndroid Build Coastguard Worker
init(void)179*35238bceSAndroid Build Coastguard Worker void init(void)
180*35238bceSAndroid Build Coastguard Worker {
181*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "block_buffer", "de::BlockBuffer_selfTest()", de::BlockBuffer_selfTest));
182*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "file_path", "de::FilePath_selfTest()", de::FilePath_selfTest));
183*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "pool_array", "de::PoolArray_selfTest()", de::PoolArray_selfTest));
184*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "ring_buffer", "de::RingBuffer_selfTest()", de::RingBuffer_selfTest));
185*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "shared_ptr", "de::SharedPtr_selfTest()", de::SharedPtr_selfTest));
186*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "thread_safe_ring_buffer", "de::ThreadSafeRingBuffer_selfTest()",
187*35238bceSAndroid Build Coastguard Worker de::ThreadSafeRingBuffer_selfTest));
188*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "unique_ptr", "de::UniquePtr_selfTest()", de::UniquePtr_selfTest));
189*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "random", "de::Random_selfTest()", de::Random_selfTest));
190*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "commandline", "de::cmdline::selfTest()", de::cmdline::selfTest));
191*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "array_buffer", "de::ArrayBuffer_selfTest()", de::ArrayBuffer_selfTest));
192*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "string_util", "de::StringUtil_selfTest()", de::StringUtil_selfTest));
193*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "spin_barrier", "de::SpinBarrier_selfTest()", de::SpinBarrier_selfTest));
194*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "stl_util", "de::STLUtil_selfTest()", de::STLUtil_selfTest));
195*35238bceSAndroid Build Coastguard Worker addChild(new SelfCheckCase(m_testCtx, "append_list", "de::AppendList_selfTest()", de::AppendList_selfTest));
196*35238bceSAndroid Build Coastguard Worker }
197*35238bceSAndroid Build Coastguard Worker };
198*35238bceSAndroid Build Coastguard Worker
DelibsTests(tcu::TestContext & testCtx)199*35238bceSAndroid Build Coastguard Worker DelibsTests::DelibsTests(tcu::TestContext &testCtx) : tcu::TestCaseGroup(testCtx, "delibs", "delibs Tests")
200*35238bceSAndroid Build Coastguard Worker {
201*35238bceSAndroid Build Coastguard Worker }
202*35238bceSAndroid Build Coastguard Worker
~DelibsTests(void)203*35238bceSAndroid Build Coastguard Worker DelibsTests::~DelibsTests(void)
204*35238bceSAndroid Build Coastguard Worker {
205*35238bceSAndroid Build Coastguard Worker }
206*35238bceSAndroid Build Coastguard Worker
init(void)207*35238bceSAndroid Build Coastguard Worker void DelibsTests::init(void)
208*35238bceSAndroid Build Coastguard Worker {
209*35238bceSAndroid Build Coastguard Worker addChild(new DepoolTests(m_testCtx));
210*35238bceSAndroid Build Coastguard Worker addChild(new DethreadTests(m_testCtx));
211*35238bceSAndroid Build Coastguard Worker addChild(new DeutilTests(m_testCtx));
212*35238bceSAndroid Build Coastguard Worker addChild(new DebaseTests(m_testCtx));
213*35238bceSAndroid Build Coastguard Worker addChild(new DecppTests(m_testCtx));
214*35238bceSAndroid Build Coastguard Worker }
215*35238bceSAndroid Build Coastguard Worker
216*35238bceSAndroid Build Coastguard Worker } // namespace dit
217