webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
tcuRandomOrderExecutor.h
Go to the documentation of this file.
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  */ /*--------------------------------------------------------------------*/
23 
24 #ifndef TCU_RANDOM_ORDER_EXECUTOR_H_
25 #define TCU_RANDOM_ORDER_EXECUTOR_H_
26 
27 #include "tcuTestHierarchyIterator.hpp"
28 #include "deUniquePtr.hpp"
29 
30 namespace tcu
31 {
32 
34 {
35  public:
36  RandomOrderExecutor(TestPackageRoot &root, TestContext &testCtx);
38 
39  TestStatus execute(const std::string &path);
40 
41  private:
42  void pruneStack(size_t newStackSize);
43  TestCase *seekToCase(const std::string &path);
44 
45  TestStatus executeInner(TestCase *testCase, const std::string &casePath);
46 
47  struct NodeStackEntry
48  {
49  TestNode *node;
50  std::vector<TestNode *> children;
51 
52  NodeStackEntry(void) : node(DE_NULL) {}
53  NodeStackEntry(TestNode *node_) : node(node_) {}
54  };
55 
56  TestContext &m_testCtx;
57 
58  DefaultHierarchyInflater m_inflater;
59  std::vector<NodeStackEntry> m_nodeStack;
60 
61  de::MovePtr<TestCaseExecutor> m_caseExecutor;
62 };
63 
64 } // tcu
65 
66 #endif // TCU_RANDOM_ORDER_EXECUTOR_H_
def root
Definition: pyjsontestrunner.py:60
~RandomOrderExecutor(void)
Definition: tcuRandomOrderExecutor.cpp:48
path
Definition: generate.py:74
Definition: TestNode.idl:25
map< string, Node * > children
Definition: field_mask_util.cc:217
Definition: tcuANGLENativeDisplayFactory.cpp:47
Definition: tcuRandomOrderExecutor.h:33
RandomOrderExecutor(TestPackageRoot &root, TestContext &testCtx)
Definition: tcuRandomOrderExecutor.cpp:41
GLsizei const GLchar *const * string
Definition: gl2.h:479
Definition: TypeConversions.idl:26
TestCase
Definition: gtest_test_utils.py:62
TestStatus execute(const std::string &path)
Definition: tcuRandomOrderExecutor.cpp:173