Fix perf_test_runner.py to run with python3

perf_test_runner.py doesn't run properly after recent python migration.
Fix by decoding output (bytes) to string using utf-8 and then re.serach
the string.

Bug: None
Change-Id: Id988d0f5161d0c9edc827a48a3a30f8e60f8f814
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119080
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
diff --git a/scripts/perf_test_runner.py b/scripts/perf_test_runner.py
index 157d449..0bfaec0 100755
--- a/scripts/perf_test_runner.py
+++ b/scripts/perf_test_runner.py
@@ -22,8 +22,12 @@
 import os
 import re
 
+# Assume running the dawn_perf_tests build in Chromium checkout
+# Dawn locates at /path/to/Chromium/src/third_party/dawn/
+# Chromium build usually locates at /path/to/Chromium/src/out/Release/
+# You might want to change the base_path if you want to run dawn_perf_tests build from a Dawn standalone build.
 base_path = os.path.abspath(
-    os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))
+    os.path.join(os.path.dirname(os.path.abspath(__file__)), '../../../'))
 
 # Look for a [Rr]elease build.
 perftests_paths = glob.glob('out/*elease*')
@@ -112,17 +116,19 @@
         stderr=subprocess.PIPE)
     output, err = process.communicate()
 
-    m = re.search(r'Running (\d+) tests', output)
+    output_string = output.decode('utf-8')
+
+    m = re.search(r"Running (\d+) tests", output_string)
     if m and int(m.group(1)) > 1:
         print("Found more than one test result in output:")
-        print(output)
+        print(output_string)
         sys.exit(3)
 
     pattern = metric + r'.*= ([0-9.]+)'
-    m = re.findall(pattern, output)
+    m = re.findall(pattern, output_string)
     if not m:
         print("Did not find the metric '%s' in the test output:" % metric)
-        print(output)
+        print(output_string)
         sys.exit(1)
 
     return [float(value) for value in m]