diff --git a/IPython/testing/tools.py b/IPython/testing/tools.py index 6a289cb..61136d8 100644 --- a/IPython/testing/tools.py +++ b/IPython/testing/tools.py @@ -216,18 +216,12 @@ def ipexec(fname, options=None): full_fname = os.path.join(test_dir, fname) full_cmd = '%s %s %s' % (ipython_cmd, cmdargs, full_fname) #print >> sys.stderr, 'FULL CMD:', full_cmd # dbg - out = getoutputerror(full_cmd) - # `import readline` causes 'ESC[?1034h' to be the first output sometimes, - # so strip that off the front of the first line if it is found + out, err = getoutputerror(full_cmd) + # `import readline` causes 'ESC[?1034h' to be output sometimes, + # so strip that out before doing comparisons if out: - first = out[0] - m = re.match(r'\x1b\[[^h]+h', first) - if m: - # strip initial readline escape - out = list(out) - out[0] = first[len(m.group()):] - out = tuple(out) - return out + out = re.sub(r'\x1b\[[^h]+h', '', out) + return out, err def ipexec_validate(fname, expected_out, expected_err='',