def _set_up_runner(self): h = self.host args = self.args self.stats = Stats(args.status_format, h.time, args.jobs) self.printer = Printer(self.print_, args.overwrite, args.terminal_width) if self.args.top_level_dirs and self.args.top_level_dir: self.print_( 'Cannot specify both --top-level-dir and --top-level-dirs', stream=h.stderr) return 1 self.top_level_dirs = args.top_level_dirs if not self.top_level_dirs and args.top_level_dir: self.top_level_dirs = [args.top_level_dir] if not self.top_level_dirs: for test in [t for t in args.tests if h.exists(t)]: if h.isdir(test): top_dir = test else: top_dir = h.dirname(test) while h.exists(top_dir, '__init__.py'): top_dir = h.dirname(top_dir) top_dir = h.realpath(top_dir) if not top_dir in self.top_level_dirs: self.top_level_dirs.append(top_dir) if not self.top_level_dirs: top_dir = h.getcwd() while h.exists(top_dir, '__init__.py'): top_dir = h.dirname(top_dir) top_dir = h.realpath(top_dir) self.top_level_dirs.append(top_dir) if not self.top_level_dir and self.top_level_dirs: self.top_level_dir = self.top_level_dirs[0] for path in self.top_level_dirs: h.add_to_path(path) for path in args.path: h.add_to_path(path) if args.coverage: # pragma: no cover try: import coverage except ImportError: self.print_('Error: coverage is not installed.') return 1 source = self.args.coverage_source if not source: source = self.top_level_dirs + self.args.path self.coverage_source = source self.cov = coverage.coverage(source=self.coverage_source, data_suffix=True) self.cov.erase() return 0
def test_last_line_flushed_when_not_overwriting(self): pr = Printer(self.print_, False, 80) pr.update('foo\nbar') pr.update('baz') pr.flush() self.assertEqual(self.out, ['foo\nbar', '\n', 'baz', '\n'])
def test_overwrite(self): pr = Printer(self.print_, True, 80) pr.update('hello world') pr.update('goodbye world') pr.flush() self.assertEqual(self.out, ['hello world', '\r \r', 'goodbye world', '\n'])
def _set_up_runner(self): h = self.host args = self.args self.stats = Stats(args.status_format, h.time, args.jobs) self.printer = Printer(self.print_, args.overwrite, args.terminal_width) self.top_level_dir = args.top_level_dir if not self.top_level_dir: if args.tests and h.isdir(args.tests[0]): # TODO: figure out what to do if multiple files are # specified and they don't all have the same correct # top level dir. d = h.realpath(h.dirname(args.tests[0])) if h.exists(d, '__init__.py'): top_dir = d else: top_dir = args.tests[0] else: top_dir = h.getcwd() while h.exists(top_dir, '__init__.py'): top_dir = h.dirname(top_dir) self.top_level_dir = h.realpath(top_dir) h.add_to_path(self.top_level_dir) for path in args.path: h.add_to_path(path) if args.coverage: # pragma: no cover try: import coverage except ImportError: h.print_("Error: coverage is not installed") return 1 source = self.args.coverage_source if not source: source = [self.top_level_dir] + self.args.path self.coverage_source = source self.cov = coverage.coverage(source=self.coverage_source, data_suffix=True) self.cov.erase() return 0
def test_elide(self): pr = Printer(self.print_, False, 8) pr.update('hello world') pr.flush() self.assertEqual(self.out, ['h...d', '\n'])
def test_basic(self): pr = Printer(self.print_, False, 80) pr.update('foo') pr.flush() self.assertEqual(self.out, ['foo', '\n'])