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
47private:
48	EglTestContext&					m_eglTestCtx;
49};
50
51class PackageContext
52{
53public:
54									PackageContext			(tcu::TestContext& testCtx);
55									~PackageContext			(void);
56
57	EglTestContext&					getEglTestContext		(void) { return *m_eglTestCtx;	}
58	tcu::TestCaseWrapper&			getTestCaseWrapper		(void) { return *m_caseWrapper;	}
59
60private:
61	EglTestContext*					m_eglTestCtx;
62	TestCaseWrapper*				m_caseWrapper;
63};
64
65class TestPackage : public tcu::TestPackage
66{
67public:
68									TestPackage				(tcu::TestContext& testCtx);
69	virtual							~TestPackage			(void);
70
71	virtual void					init					(void);
72	virtual void					deinit					(void);
73
74	tcu::TestCaseWrapper&			getTestCaseWrapper		(void) { return m_packageCtx->getTestCaseWrapper(); }
75	tcu::ResourcePrefix&			getArchive				(void) { return m_archive; }
76
77private:
78	PackageContext*					m_packageCtx;
79	tcu::ResourcePrefix				m_archive;
80};
81
82} // egl
83} // deqp
84
85#endif // _TEGLTESTPACKAGE_HPP
86