Lines Matching refs:self
169 def __init__(self, formats, tests, gyp_options, verbose):
170 self.formats = formats
171 self.tests = tests
172 self.verbose = verbose
173 self.gyp_options = gyp_options
174 self.failures = []
175 self.num_tests = len(formats) * len(tests)
176 num_digits = len(str(self.num_tests))
177 self.fmt_str = "[%%%dd/%%%dd] (%%s) %%s" % (num_digits, num_digits)
178 self.isatty = sys.stdout.isatty() and not self.verbose
179 self.env = os.environ.copy()
180 self.hpos = 0
182 def run(self):
186 for fmt in self.formats:
187 for test in self.tests:
188 self.run_test(test, fmt, i)
191 if self.isatty:
192 self.erase_current_line()
194 self.took = time.time() - run_start
196 def run_test(self, test, fmt, i):
197 if self.isatty:
198 self.erase_current_line()
200 msg = self.fmt_str % (i, self.num_tests, fmt, test)
201 self.print_(msg)
204 cmd = [sys.executable, test] + self.gyp_options
205 self.env["TESTGYP_FORMAT"] = fmt
207 cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=self.env
217 self.failures.append(f"({test}) {fmt}")
221 self.print_(res_msg)
226 elif not self.isatty:
229 def print_(self, msg):
233 self.hpos += len(msg)
235 self.hpos = len(msg) - index
238 def erase_current_line(self):
239 print("\b" * self.hpos + " " * self.hpos + "\b" * self.hpos, end="")
241 self.hpos = 0
243 def print_results(self):
244 num_failures = len(self.failures)
251 print("\t" + "\n\t".join(sorted(self.failures)))
255 % (self.num_tests, self.took, num_failures)