]> git.cworth.org Git - apitrace/blobdiff - scripts/tracediff.py
diff: Don't use colorized line-format options when not on a tty
[apitrace] / scripts / tracediff.py
index b3933a9d59ee1b11a5e6b0b9b81327345d9aa4ca..26395879a10b8c54f3308f6a3a8eeab2e5506414 100755 (executable)
@@ -70,6 +70,8 @@ else:
 
 def diff(ref_trace, src_trace):
 
+    isatty = sys.stdout.isatty()
+
     ref_dumper = Dumper(ref_trace, options.ref_calls)
     src_dumper = Dumper(src_trace, options.src_calls)
 
@@ -78,6 +80,9 @@ def diff(ref_trace, src_trace):
         diff_args = [
                 'diff',
                 '--speed-large-files',
+            ]
+        if isatty:
+            diff_args += [
                 '--old-line-format=' + start_delete + '%l' + end_delete + '\n',
                 '--new-line-format=' + start_insert + '%l' + end_insert + '\n',
             ]
@@ -92,6 +97,9 @@ def diff(ref_trace, src_trace):
                 'wdiff',
                 #'--terminal',
                 '--avoid-wraps',
+            ]
+        if isatty:
+            diff_args += [
                 '--start-delete=' + start_delete,
                 '--end-delete=' + end_delete,
                 '--start-insert=' + start_insert,
@@ -105,7 +113,7 @@ def diff(ref_trace, src_trace):
     src_dumper.dump.wait()
 
     less = None
-    if sys.stdout.isatty():
+    if isatty:
         less = subprocess.Popen(
             args = ['less', '-FRXn'],
             stdin = subprocess.PIPE
@@ -124,6 +132,7 @@ def diff(ref_trace, src_trace):
     diff.wait()
 
     if less is not None:
+        less.stdin.close()
         less.wait()
 
 
@@ -183,7 +192,7 @@ def main():
         help="calls to compare from source trace")
     optparser.add_option(
         '-w', '--width', metavar='NUM',
-        type="string", dest="width", default=default_width,
+        type="int", dest="width", default=default_width,
         help="columns [default: %default]")
 
     global options