[Piglit] [PATCH] find_static_tests.py: fix python2 compatibility

Dylan Baker dylan at pnwbakers.com
Wed May 2 17:52:47 UTC 2018


Because python2 uses bytes, but python3 uses unicode.

CC: Michel Dänzer <michel.daenzer at amd.com>
Fixes: d42d909cd754d0e2c41eec60f3a1015f2d882b95
       ("tests: Add script to find all hand written test files")
---
 tests/find_static_tests.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tests/find_static_tests.py b/tests/find_static_tests.py
index 215273159..795a56dc9 100644
--- a/tests/find_static_tests.py
+++ b/tests/find_static_tests.py
@@ -28,6 +28,8 @@ import argparse
 import io
 import os
 
+import six
+
 
 def main():
     parser = argparse.ArgumentParser()
@@ -55,7 +57,14 @@ def main():
     for dirpath, _, filenames in os.walk(directory):
         for filename in filenames:
             if os.path.splitext(filename)[1] in exts:
-                files.append(os.path.join(dirpath, filename))
+                name = os.path.join(dirpath, filename)
+                if six.PY2:
+                    # This might not be correct, but it's fine. As long as the
+                    # two files are the same it'll work, and utf-8 is what
+                    # everyone *should* be using, and as a superset of ascii
+                    # *should* cover most people
+                    name = name.decode('utf-8', 'replace')
+                files.append(name)
 
     if os.path.exists(args.output):
         with io.open(args.output, 'rt', encoding='utf-8') as f:
-- 
2.17.0



More information about the Piglit mailing list