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