• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*-------------------------------------------------------------------------
2  * drawElements Quality Program Tester Core
3  * ----------------------------------------
4  *
5  * Copyright 2014 The Android Open Source Project
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  *//*!
20  * \file
21  * \brief Context shared between test cases.
22  *//*--------------------------------------------------------------------*/
23 
24 #include "tcuTestContext.hpp"
25 #include "tcuCommandLine.hpp"
26 #include "tcuTestLog.hpp"
27 
28 namespace tcu
29 {
30 
TestContext(Platform & platform,Archive & rootArchive,TestLog & log,const CommandLine & cmdLine,qpWatchDog * watchDog)31 TestContext::TestContext (
32 	Platform&			platform,
33 	Archive&			rootArchive,
34 	TestLog&			log,
35 	const CommandLine&	cmdLine,
36 	qpWatchDog*			watchDog)
37 	: m_platform		(platform)
38 	, m_rootArchive		(rootArchive)
39 	, m_log				(log)
40 	, m_cmdLine			(cmdLine)
41 	, m_watchDog		(watchDog)
42 	, m_curArchive		(DE_NULL)
43 	, m_testResult		(QP_TEST_RESULT_LAST)
44 	, m_terminateAfter	(false)
45 {
46 	setCurrentArchive(m_rootArchive);
47 }
48 
writeSessionInfo(void)49 void TestContext::writeSessionInfo(void)
50 {
51 	const std::string sessionInfo = "#sessionInfo commandLineParameters \"";
52 	m_log.writeSessionInfo(sessionInfo + m_cmdLine.getInitialCmdLine() + "\"\n");
53 }
54 
touchWatchdog(void)55 void TestContext::touchWatchdog (void)
56 {
57 	if (m_watchDog)
58 		qpWatchDog_touch(m_watchDog);
59 }
60 
touchWatchdogAndDisableIntervalTimeLimit(void)61 void TestContext::touchWatchdogAndDisableIntervalTimeLimit (void)
62 {
63 	if (m_watchDog)
64 		qpWatchDog_touchAndDisableIntervalTimeLimit(m_watchDog);
65 }
66 
touchWatchdogAndEnableIntervalTimeLimit(void)67 void TestContext::touchWatchdogAndEnableIntervalTimeLimit (void)
68 {
69 	if (m_watchDog)
70 		qpWatchDog_touchAndEnableIntervalTimeLimit(m_watchDog);
71 }
72 
setTestResult(qpTestResult testResult,const char * description)73 void TestContext::setTestResult (qpTestResult testResult, const char* description)
74 {
75 	m_testResult		= testResult;
76 	m_testResultDesc	= description;
77 }
78 
79 } // tcu
80