Path: blob/main_old/src/tests/deqp_support/tcuRandomOrderExecutor.h
1693 views
/*-------------------------------------------------------------------------1* drawElements Quality Program Tester Core2* ----------------------------------------3*4* Copyright 2014 The Android Open Source Project5*6* Licensed under the Apache License, Version 2.0 (the "License");7* you may not use this file except in compliance with the License.8* You may obtain a copy of the License at9*10* http://www.apache.org/licenses/LICENSE-2.011*12* Unless required by applicable law or agreed to in writing, software13* distributed under the License is distributed on an "AS IS" BASIS,14* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15* See the License for the specific language governing permissions and16* limitations under the License.17*18*/ /*!19* \file20* \brief Generic main().21*/ /*--------------------------------------------------------------------*/2223#ifndef TCU_RANDOM_ORDER_EXECUTOR_H_24#define TCU_RANDOM_ORDER_EXECUTOR_H_2526#include "deUniquePtr.hpp"27#include "tcuTestHierarchyIterator.hpp"2829#include "tests/test_utils/RenderDoc.h"3031namespace tcu32{3334class RandomOrderExecutor35{36public:37RandomOrderExecutor(TestPackageRoot &root, TestContext &testCtx, bool enableRenderDocCapture);38~RandomOrderExecutor(void);3940TestStatus execute(const std::string &path);4142private:43void pruneStack(size_t newStackSize);44TestCase *seekToCase(const std::string &path);4546TestStatus executeInner(TestCase *testCase, const std::string &casePath);4748struct NodeStackEntry49{50TestNode *node;51std::vector<TestNode *> children;5253NodeStackEntry(void) : node(DE_NULL) {}54NodeStackEntry(TestNode *node_) : node(node_) {}55};5657TestContext &m_testCtx;5859DefaultHierarchyInflater m_inflater;60std::vector<NodeStackEntry> m_nodeStack;6162de::MovePtr<TestCaseExecutor> m_caseExecutor;6364RenderDoc mRenderDoc;65};6667} // namespace tcu6869#endif // TCU_RANDOM_ORDER_EXECUTOR_H_707172