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>
This commit is contained in:
parent
831ff0e39d
commit
9e03212925
|
@ -22,8 +22,12 @@ import sys
|
||||||
import os
|
import os
|
||||||
import re
|
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(
|
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.
|
# Look for a [Rr]elease build.
|
||||||
perftests_paths = glob.glob('out/*elease*')
|
perftests_paths = glob.glob('out/*elease*')
|
||||||
|
@ -112,17 +116,19 @@ def get_results(metric, extra_args=[]):
|
||||||
stderr=subprocess.PIPE)
|
stderr=subprocess.PIPE)
|
||||||
output, err = process.communicate()
|
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:
|
if m and int(m.group(1)) > 1:
|
||||||
print("Found more than one test result in output:")
|
print("Found more than one test result in output:")
|
||||||
print(output)
|
print(output_string)
|
||||||
sys.exit(3)
|
sys.exit(3)
|
||||||
|
|
||||||
pattern = metric + r'.*= ([0-9.]+)'
|
pattern = metric + r'.*= ([0-9.]+)'
|
||||||
m = re.findall(pattern, output)
|
m = re.findall(pattern, output_string)
|
||||||
if not m:
|
if not m:
|
||||||
print("Did not find the metric '%s' in the test output:" % metric)
|
print("Did not find the metric '%s' in the test output:" % metric)
|
||||||
print(output)
|
print(output_string)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
return [float(value) for value in m]
|
return [float(value) for value in m]
|
||||||
|
|
Loading…
Reference in New Issue