[utils] Fix update scripts output when run on python3.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 30 Jan 2019 16:15:59 +0000 (16:15 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 30 Jan 2019 16:15:59 +0000 (16:15 +0000)
This fixes a "bytes-like object is required, not 'str'" python3 error I hit on update_llc_test_checks.py (but present on the other scripts as well) by matching what update_mca_test_checks.py already does, plus I've added an explicit 'utf-8' encoding.

llvm-svn: 352633

llvm/utils/update_analyze_test_checks.py
llvm/utils/update_llc_test_checks.py
llvm/utils/update_mca_test_checks.py
llvm/utils/update_test_checks.py

index 64e64e0..4d1d912 100755 (executable)
@@ -186,7 +186,7 @@ def main():
       print('Writing %d lines to %s...' % (len(output_lines), test), file=sys.stderr)
 
     with open(test, 'wb') as f:
-      f.writelines([l + '\n' for l in output_lines])
+      f.writelines(['{}\n'.format(l).encode('utf-8') for l in output_lines])
 
 
 if __name__ == '__main__':
index 960fee2..5d2aac2 100755 (executable)
@@ -172,7 +172,7 @@ def main():
       print('Writing %d lines to %s...' % (len(output_lines), test), file=sys.stderr)
 
     with open(test, 'wb') as f:
-      f.writelines([l + '\n' for l in output_lines])
+      f.writelines(['{}\n'.format(l).encode('utf-8') for l in output_lines])
 
 
 if __name__ == '__main__':
index 06fd655..87ac19b 100755 (executable)
@@ -551,7 +551,7 @@ def _write_output(test_path, input_lines, prefix_list, block_infos,  # noqa
         'Writing {} lines to {}...\n\n'.format(len(output_lines), test_path))
 
   with open(test_path, 'wb') as f:
-    f.writelines(['{}\n'.format(l).encode() for l in output_lines])
+    f.writelines(['{}\n'.format(l).encode('utf-8') for l in output_lines])
 
 def main():
   args = _parse_args()
index 6d0bf04..b63a917 100755 (executable)
@@ -183,7 +183,7 @@ def main():
       print('Writing %d lines to %s...' % (len(output_lines), test), file=sys.stderr)
 
     with open(test, 'wb') as f:
-      f.writelines([l + '\n' for l in output_lines])
+      f.writelines(['{}\n'.format(l).encode('utf-8') for l in output_lines])
 
 
 if __name__ == '__main__':