tesseract v5.3.3.20231005
googletest-shuffle-test Namespace Reference

Classes

class  GTestShuffleUnitTest
 

Functions

def AlsoRunDisabledTestsFlag ()
 
def FilterFlag (test_filter)
 
def RepeatFlag (n)
 
def ShuffleFlag ()
 
def RandomSeedFlag (n)
 
def RunAndReturnOutput (extra_env, args)
 
def GetTestsForAllIterations (extra_env, args)
 
def GetTestCases (tests)
 
def CalculateTestLists ()
 

Variables

 COMMAND = gtest_test_utils.GetTestExecutablePath('googletest-shuffle-test_')
 
string TOTAL_SHARDS_ENV_VAR = 'GTEST_TOTAL_SHARDS'
 
string SHARD_INDEX_ENV_VAR = 'GTEST_SHARD_INDEX'
 
string TEST_FILTER = 'A*.A:A*.B:C*'
 
list ALL_TESTS = []
 
list ACTIVE_TESTS = []
 
list FILTERED_TESTS = []
 
list SHARDED_TESTS = []
 
list SHUFFLED_ALL_TESTS = []
 
list SHUFFLED_ACTIVE_TESTS = []
 
list SHUFFLED_FILTERED_TESTS = []
 
list SHUFFLED_SHARDED_TESTS = []
 

Function Documentation

◆ AlsoRunDisabledTestsFlag()

def googletest-shuffle-test.AlsoRunDisabledTestsFlag ( )

Definition at line 56 of file googletest-shuffle-test.py.

57 return '--gtest_also_run_disabled_tests'
58
59

◆ CalculateTestLists()

def googletest-shuffle-test.CalculateTestLists ( )
Calculates the list of tests run under different flags.

Definition at line 128 of file googletest-shuffle-test.py.

129 """Calculates the list of tests run under different flags."""
130
131 if not ALL_TESTS:
132 ALL_TESTS.extend(
134
135 if not ACTIVE_TESTS:
136 ACTIVE_TESTS.extend(GetTestsForAllIterations({}, [])[0])
137
138 if not FILTERED_TESTS:
139 FILTERED_TESTS.extend(
140 GetTestsForAllIterations({}, [FilterFlag(TEST_FILTER)])[0])
141
142 if not SHARDED_TESTS:
143 SHARDED_TESTS.extend(
144 GetTestsForAllIterations({TOTAL_SHARDS_ENV_VAR: '3',
145 SHARD_INDEX_ENV_VAR: '1'},
146 [])[0])
147
148 if not SHUFFLED_ALL_TESTS:
149 SHUFFLED_ALL_TESTS.extend(GetTestsForAllIterations(
151
152 if not SHUFFLED_ACTIVE_TESTS:
153 SHUFFLED_ACTIVE_TESTS.extend(GetTestsForAllIterations(
154 {}, [ShuffleFlag(), RandomSeedFlag(1)])[0])
155
156 if not SHUFFLED_FILTERED_TESTS:
157 SHUFFLED_FILTERED_TESTS.extend(GetTestsForAllIterations(
158 {}, [ShuffleFlag(), RandomSeedFlag(1), FilterFlag(TEST_FILTER)])[0])
159
160 if not SHUFFLED_SHARDED_TESTS:
161 SHUFFLED_SHARDED_TESTS.extend(
162 GetTestsForAllIterations({TOTAL_SHARDS_ENV_VAR: '3',
163 SHARD_INDEX_ENV_VAR: '1'},
164 [ShuffleFlag(), RandomSeedFlag(1)])[0])
165
166
def GetTestsForAllIterations(extra_env, args)

◆ FilterFlag()

def googletest-shuffle-test.FilterFlag (   test_filter)

Definition at line 60 of file googletest-shuffle-test.py.

60def FilterFlag(test_filter):
61 return '--gtest_filter=%s' % (test_filter,)
62
63

◆ GetTestCases()

def googletest-shuffle-test.GetTestCases (   tests)
Returns a list of test cases in the given full test names.

Args:
  tests: a list of full test names

Returns:
  A list of test cases from 'tests', in their original order.
  Consecutive duplicates are removed.

Definition at line 108 of file googletest-shuffle-test.py.

108def GetTestCases(tests):
109 """Returns a list of test cases in the given full test names.
110
111 Args:
112 tests: a list of full test names
113
114 Returns:
115 A list of test cases from 'tests', in their original order.
116 Consecutive duplicates are removed.
117 """
118
119 test_cases = []
120 for test in tests:
121 test_case = test.split('.')[0]
122 if not test_case in test_cases:
123 test_cases.append(test_case)
124
125 return test_cases
126
127

◆ GetTestsForAllIterations()

def googletest-shuffle-test.GetTestsForAllIterations (   extra_env,
  args 
)
Runs the test program and returns a list of test lists.

Args:
  extra_env: a map from environment variables to their values
  args: command line flags to pass to googletest-shuffle-test_

Returns:
  A list where the i-th element is the list of tests run in the i-th
  test iteration.

Definition at line 85 of file googletest-shuffle-test.py.

85def GetTestsForAllIterations(extra_env, args):
86 """Runs the test program and returns a list of test lists.
87
88 Args:
89 extra_env: a map from environment variables to their values
90 args: command line flags to pass to googletest-shuffle-test_
91
92 Returns:
93 A list where the i-th element is the list of tests run in the i-th
94 test iteration.
95 """
96
97 test_iterations = []
98 for line in RunAndReturnOutput(extra_env, args).split('\n'):
99 if line.startswith('----'):
100 tests = []
101 test_iterations.append(tests)
102 elif line.strip():
103 tests.append(line.strip()) # 'TestCaseName.TestName'
104
105 return test_iterations
106
107
const std::vector< std::string > split(const std::string &s, char c)
Definition: helpers.h:43
def RunAndReturnOutput(extra_env, args)

◆ RandomSeedFlag()

def googletest-shuffle-test.RandomSeedFlag (   n)

Definition at line 72 of file googletest-shuffle-test.py.

72def RandomSeedFlag(n):
73 return '--gtest_random_seed=%s' % (n,)
74
75

◆ RepeatFlag()

def googletest-shuffle-test.RepeatFlag (   n)

Definition at line 64 of file googletest-shuffle-test.py.

64def RepeatFlag(n):
65 return '--gtest_repeat=%s' % (n,)
66
67

◆ RunAndReturnOutput()

def googletest-shuffle-test.RunAndReturnOutput (   extra_env,
  args 
)
Runs the test program and returns its output.

Definition at line 76 of file googletest-shuffle-test.py.

76def RunAndReturnOutput(extra_env, args):
77 """Runs the test program and returns its output."""
78
79 environ_copy = os.environ.copy()
80 environ_copy.update(extra_env)
81
82 return gtest_test_utils.Subprocess([COMMAND] + args, env=environ_copy).output
83
84

◆ ShuffleFlag()

def googletest-shuffle-test.ShuffleFlag ( )

Definition at line 68 of file googletest-shuffle-test.py.

68def ShuffleFlag():
69 return '--gtest_shuffle'
70
71

Variable Documentation

◆ ACTIVE_TESTS

list googletest-shuffle-test.ACTIVE_TESTS = []

Definition at line 46 of file googletest-shuffle-test.py.

◆ ALL_TESTS

list googletest-shuffle-test.ALL_TESTS = []

Definition at line 45 of file googletest-shuffle-test.py.

◆ COMMAND

googletest-shuffle-test.COMMAND = gtest_test_utils.GetTestExecutablePath('googletest-shuffle-test_')

Definition at line 37 of file googletest-shuffle-test.py.

◆ FILTERED_TESTS

list googletest-shuffle-test.FILTERED_TESTS = []

Definition at line 47 of file googletest-shuffle-test.py.

◆ SHARD_INDEX_ENV_VAR

string googletest-shuffle-test.SHARD_INDEX_ENV_VAR = 'GTEST_SHARD_INDEX'

Definition at line 41 of file googletest-shuffle-test.py.

◆ SHARDED_TESTS

list googletest-shuffle-test.SHARDED_TESTS = []

Definition at line 48 of file googletest-shuffle-test.py.

◆ SHUFFLED_ACTIVE_TESTS

list googletest-shuffle-test.SHUFFLED_ACTIVE_TESTS = []

Definition at line 51 of file googletest-shuffle-test.py.

◆ SHUFFLED_ALL_TESTS

list googletest-shuffle-test.SHUFFLED_ALL_TESTS = []

Definition at line 50 of file googletest-shuffle-test.py.

◆ SHUFFLED_FILTERED_TESTS

list googletest-shuffle-test.SHUFFLED_FILTERED_TESTS = []

Definition at line 52 of file googletest-shuffle-test.py.

◆ SHUFFLED_SHARDED_TESTS

list googletest-shuffle-test.SHUFFLED_SHARDED_TESTS = []

Definition at line 53 of file googletest-shuffle-test.py.

◆ TEST_FILTER

string googletest-shuffle-test.TEST_FILTER = 'A*.A:A*.B:C*'

Definition at line 43 of file googletest-shuffle-test.py.

◆ TOTAL_SHARDS_ENV_VAR

string googletest-shuffle-test.TOTAL_SHARDS_ENV_VAR = 'GTEST_TOTAL_SHARDS'

Definition at line 40 of file googletest-shuffle-test.py.