def call2(self, *args): for arg in args: self.assertTrue(isinstance(arg, fsnative)) old_stdout = sys.stdout old_stderr = sys.stderr try: out = StringIO() err = StringIO() sys.stdout = out sys.stderr = err try: ret = self._main([fsnative(self.TOOL_NAME)] + list(args)) except SystemExit as e: ret = e.code ret = ret or 0 out_val = out.getvalue() err_val = err.getvalue() if os.name == "nt" and PY2: encoding = getattr(sys.stdout, "encoding", None) or "mbcs" out_val = text_type(out_val, encoding) err_val = text_type(err_val, encoding) return (ret, out_val, err_val) finally: sys.stdout = old_stdout sys.stderr = old_stderr
def call2(self, *args): for arg in args: assert isinstance(arg, str) old_stdout = sys.stdout old_stderr = sys.stderr try: out = StringIO() err = StringIO() sys.stdout = out sys.stderr = err try: ret = self._main([self.TOOL_NAME] + list(args)) except SystemExit as e: ret = e.code ret = ret or 0 return (ret, out.getvalue(), err.getvalue()) finally: sys.stdout = old_stdout sys.stderr = old_stderr
def _run(self, path): old_stdout = sys.stdout stream = StringIO() try: sys.stdout = stream for dirpath, dirnames, filenames in os.walk(path): for filename in filenames: if filename.endswith('.py'): pyflakes.checkPath(os.path.join(dirpath, filename)) finally: sys.stdout = old_stdout lines = stream.getvalue() if lines: raise Exception(lines)