1 #ifndef _GLCTESTRUNNER_HPP
2 #define _GLCTESTRUNNER_HPP
3 /*-------------------------------------------------------------------------
4 * OpenGL Conformance Test Suite
5 * -----------------------------
7 * Copyright (c) 2016 Google Inc.
8 * Copyright (c) 2016 The Khronos Group Inc.
10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
14 * http://www.apache.org/licenses/LICENSE-2.0
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
25 */ /*-------------------------------------------------------------------*/
27 #include "gluPlatform.hpp"
28 #include "tcuDefs.hpp"
47 std::vector<std::string> args;
48 std::string logFilename;
51 // Conformance test run summary - written to cts-run-summary.xml
56 std::string configLogFilename;
57 std::vector<TestRunParams> runParams;
59 TestRunSummary(void) : isConformant(false)
65 runType = glu::ApiType();
67 configLogFilename.clear();
79 VERBOSE_COMMANDS = (1 << 0),
80 VERBOSE_IMAGES = (1 << 1),
81 VERBOSE_SHADERS = (1 << 2),
83 VERBOSE_ALL = VERBOSE_COMMANDS | VERBOSE_IMAGES,
85 PRINT_SUMMARY = (1 << 3)
88 TestRunner(tcu::Platform& platform, tcu::Archive& archive, const char* logDirPath, glu::ApiType type,
95 TestRunner(const TestRunner& other);
96 TestRunner operator=(const TestRunner& other);
101 void initSession(const TestRunParams& runParams);
102 void deinitSession(void);
103 bool iterateSession(void);
107 ITERATE_INIT = 0, //!< Call init() on this iteration.
108 ITERATE_DEINIT, //!< Call deinit() on this iteration.
110 ITERATE_INIT_SESSION, //!< Init current session.
111 ITERATE_DEINIT_SESSION, //!< Deinit session and move to next.
112 ITERATE_ITERATE_SESSION, //!< Iterate current session.
117 tcu::Platform& m_platform;
118 tcu::Archive& m_archive;
119 std::string m_logDirPath;
124 IterateState m_iterState;
125 std::vector<TestRunParams> m_runSessions;
126 std::vector<TestRunParams>::const_iterator m_sessionIter;
127 RunSession* m_curSession;
130 int m_sessionsExecuted;
131 int m_sessionsPassed;
132 int m_sessionsFailed;
133 TestRunSummary m_summary;
138 #endif // _GLCTESTRUNNER_HPP