tesseract v5.3.3.20231005
googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest Class Reference
Inheritance diagram for googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest:

Public Member Functions

def RunAndVerify (self, env_var_value, flag_value, expect_seg_fault)
 
def testDefaultBehavior (self)
 
def testEnvVar (self)
 
def testFlag (self)
 
def testFlagOverridesEnvVar (self)
 
def testBreakOnFailureOverridesThrowOnFailure (self)
 
def testCatchExceptionsDoesNotInterfere (self)
 

Detailed Description

Tests using the GTEST_BREAK_ON_FAILURE environment variable or
the --gtest_break_on_failure flag to turn assertion failures into
segmentation faults.

Definition at line 89 of file googletest-break-on-failure-unittest.py.

Member Function Documentation

◆ RunAndVerify()

def googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.RunAndVerify (   self,
  env_var_value,
  flag_value,
  expect_seg_fault 
)
Runs googletest-break-on-failure-unittest_ and verifies that it does
(or does not) have a seg-fault.

Args:
  env_var_value:    value of the GTEST_BREAK_ON_FAILURE environment
                    variable; None if the variable should be unset.
  flag_value:       value of the --gtest_break_on_failure flag;
                    None if the flag should not be present.
  expect_seg_fault: 1 if the program is expected to generate a seg-fault;
                    0 otherwise.

Definition at line 95 of file googletest-break-on-failure-unittest.py.

95 def RunAndVerify(self, env_var_value, flag_value, expect_seg_fault):
96 """Runs googletest-break-on-failure-unittest_ and verifies that it does
97 (or does not) have a seg-fault.
98
99 Args:
100 env_var_value: value of the GTEST_BREAK_ON_FAILURE environment
101 variable; None if the variable should be unset.
102 flag_value: value of the --gtest_break_on_failure flag;
103 None if the flag should not be present.
104 expect_seg_fault: 1 if the program is expected to generate a seg-fault;
105 0 otherwise.
106 """
107
108 SetEnvVar(BREAK_ON_FAILURE_ENV_VAR, env_var_value)
109
110 if env_var_value is None:
111 env_var_value_msg = ' is not set'
112 else:
113 env_var_value_msg = '=' + env_var_value
114
115 if flag_value is None:
116 flag = ''
117 elif flag_value == '0':
118 flag = '--%s=0' % BREAK_ON_FAILURE_FLAG
119 else:
120 flag = '--%s' % BREAK_ON_FAILURE_FLAG
121
122 command = [EXE_PATH]
123 if flag:
124 command.append(flag)
125
126 if expect_seg_fault:
127 should_or_not = 'should'
128 else:
129 should_or_not = 'should not'
130
131 has_seg_fault = Run(command)
132
133 SetEnvVar(BREAK_ON_FAILURE_ENV_VAR, None)
134
135 msg = ('when %s%s, an assertion failure in "%s" %s cause a seg-fault.' %
136 (BREAK_ON_FAILURE_ENV_VAR, env_var_value_msg, ' '.join(command),
137 should_or_not))
138 self.assert_(has_seg_fault == expect_seg_fault, msg)
139

◆ testBreakOnFailureOverridesThrowOnFailure()

def googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.testBreakOnFailureOverridesThrowOnFailure (   self)
Tests that gtest_break_on_failure overrides gtest_throw_on_failure.

Definition at line 183 of file googletest-break-on-failure-unittest.py.

183 def testBreakOnFailureOverridesThrowOnFailure(self):
184 """Tests that gtest_break_on_failure overrides gtest_throw_on_failure."""
185
186 SetEnvVar(THROW_ON_FAILURE_ENV_VAR, '1')
187 try:
188 self.RunAndVerify(env_var_value=None,
189 flag_value='1',
190 expect_seg_fault=1)
191 finally:
192 SetEnvVar(THROW_ON_FAILURE_ENV_VAR, None)
193

◆ testCatchExceptionsDoesNotInterfere()

def googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.testCatchExceptionsDoesNotInterfere (   self)
Tests that gtest_catch_exceptions doesn't interfere.

Definition at line 195 of file googletest-break-on-failure-unittest.py.

195 def testCatchExceptionsDoesNotInterfere(self):
196 """Tests that gtest_catch_exceptions doesn't interfere."""
197
198 SetEnvVar(CATCH_EXCEPTIONS_ENV_VAR, '1')
199 try:
200 self.RunAndVerify(env_var_value='1',
201 flag_value='1',
202 expect_seg_fault=1)
203 finally:
204 SetEnvVar(CATCH_EXCEPTIONS_ENV_VAR, None)
205
206

◆ testDefaultBehavior()

def googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.testDefaultBehavior (   self)
Tests the behavior of the default mode.

Definition at line 140 of file googletest-break-on-failure-unittest.py.

140 def testDefaultBehavior(self):
141 """Tests the behavior of the default mode."""
142
143 self.RunAndVerify(env_var_value=None,
144 flag_value=None,
145 expect_seg_fault=0)
146

◆ testEnvVar()

def googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.testEnvVar (   self)
Tests using the GTEST_BREAK_ON_FAILURE environment variable.

Definition at line 147 of file googletest-break-on-failure-unittest.py.

147 def testEnvVar(self):
148 """Tests using the GTEST_BREAK_ON_FAILURE environment variable."""
149
150 self.RunAndVerify(env_var_value='0',
151 flag_value=None,
152 expect_seg_fault=0)
153 self.RunAndVerify(env_var_value='1',
154 flag_value=None,
155 expect_seg_fault=1)
156

◆ testFlag()

def googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.testFlag (   self)
Tests using the --gtest_break_on_failure flag.

Definition at line 157 of file googletest-break-on-failure-unittest.py.

157 def testFlag(self):
158 """Tests using the --gtest_break_on_failure flag."""
159
160 self.RunAndVerify(env_var_value=None,
161 flag_value='0',
162 expect_seg_fault=0)
163 self.RunAndVerify(env_var_value=None,
164 flag_value='1',
165 expect_seg_fault=1)
166

◆ testFlagOverridesEnvVar()

def googletest-break-on-failure-unittest.GTestBreakOnFailureUnitTest.testFlagOverridesEnvVar (   self)
Tests that the flag overrides the environment variable.

Definition at line 167 of file googletest-break-on-failure-unittest.py.

167 def testFlagOverridesEnvVar(self):
168 """Tests that the flag overrides the environment variable."""
169
170 self.RunAndVerify(env_var_value='0',
171 flag_value='0',
172 expect_seg_fault=0)
173 self.RunAndVerify(env_var_value='0',
174 flag_value='1',
175 expect_seg_fault=1)
176 self.RunAndVerify(env_var_value='1',
177 flag_value='0',
178 expect_seg_fault=0)
179 self.RunAndVerify(env_var_value='1',
180 flag_value='1',
181 expect_seg_fault=1)
182

The documentation for this class was generated from the following file: