teglTestPackage.hpp revision 193f59811b2c0fe57808a06923b82ed00c41bd0f
1#ifndef _TEGLTESTPACKAGE_HPP
2#define _TEGLTESTPACKAGE_HPP
3/*-------------------------------------------------------------------------
4 * drawElements Quality Program EGL 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 EGL Test Package
24 *//*--------------------------------------------------------------------*/
25
26#include "tcuDefs.hpp"
27#include "tcuTestPackage.hpp"
28#include "teglTestCase.hpp"
29#include "tcuResource.hpp"
30
31namespace deqp
32{
33namespace egl
34{
35
36class TestCaseWrapper : public tcu::TestCaseWrapper
37{
38public:
39									TestCaseWrapper			(EglTestContext& eglTestContext);
40									~TestCaseWrapper		(void);
41
42	bool							initTestCase			(tcu::TestCase* testCase);
43	bool							deinitTestCase			(tcu::TestCase* testCase);
44
45	tcu::TestNode::IterateResult	iterateTestCase			(tcu::TestCase* testCase);
46};
47
48class PackageContext
49{
50public:
51									PackageContext			(tcu::TestContext& testCtx);
52									~PackageContext			(void);
53
54	EglTestContext&					getEglTestContext		(void) { return m_eglTestCtx;	}
55	tcu::TestCaseWrapper&			getTestCaseWrapper		(void) { return m_caseWrapper;	}
56
57private:
58	EglTestContext					m_eglTestCtx;
59	TestCaseWrapper					m_caseWrapper;
60};
61
62class TestPackage : public tcu::TestPackage
63{
64public:
65									TestPackage				(tcu::TestContext& testCtx);
66	virtual							~TestPackage			(void);
67
68	virtual void					init					(void);
69	virtual void					deinit					(void);
70
71	tcu::TestCaseWrapper&			getTestCaseWrapper		(void) { return m_packageCtx->getTestCaseWrapper(); }
72	tcu::ResourcePrefix&			getArchive				(void) { return m_archive; }
73
74private:
75	PackageContext*					m_packageCtx;
76	tcu::ResourcePrefix				m_archive;
77};
78
79} // egl
80} // deqp
81
82#endif // _TEGLTESTPACKAGE_HPP
83