[commit: ghc] wip/perf-testsuite: Small changes to address Ben's comments (2982cf8)
git at git.haskell.org
git at git.haskell.org
Thu Aug 10 08:44:24 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/perf-testsuite
Link : http://ghc.haskell.org/trac/ghc/changeset/2982cf8b7921a41fe1dfa6a55d0240c03f440308/ghc
>---------------------------------------------------------------
commit 2982cf8b7921a41fe1dfa6a55d0240c03f440308
Author: Jared Weakly <jweakly at pdx.edu>
Date: Tue Jul 18 17:35:34 2017 -0700
Small changes to address Ben's comments
Signed-off-by: Jared Weakly <jweakly at pdx.edu>
>---------------------------------------------------------------
2982cf8b7921a41fe1dfa6a55d0240c03f440308
testsuite/driver/runtests.py | 5 +++++
testsuite/driver/testglobals.py | 2 +-
testsuite/driver/testlib.py | 5 ++---
testsuite/driver/testutil.py | 6 ++++--
4 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/testsuite/driver/runtests.py b/testsuite/driver/runtests.py
index e102a94..8d0b337 100644
--- a/testsuite/driver/runtests.py
+++ b/testsuite/driver/runtests.py
@@ -307,6 +307,11 @@ else:
summary(t, sys.stdout, config.no_print_summary)
+ # This here is loading up all of the git notes into memory.
+ # It's most likely in the wrong spot and I haven't fully fleshed out
+ # where exactly I'm putting this and how I'm refactoring the performance
+ # test running logic.
+ # Currently this is useful for debugging, at least.
if config.use_git_notes:
note = subprocess.check_output(["git","notes","--ref=perf","append","-m", "\n".join(config.accumulate_metrics)])
parse_git_notes('perf') # Should this be hardcoded? Most likely not...
diff --git a/testsuite/driver/testglobals.py b/testsuite/driver/testglobals.py
index 5ed54bd..6d8cd3d 100644
--- a/testsuite/driver/testglobals.py
+++ b/testsuite/driver/testglobals.py
@@ -125,7 +125,7 @@ class TestConfig:
# To accumulate the metrics for the git notes
self.accumulate_metrics = []
# Has the user defined a custom test environment? Local is default.
- self.TEST_ENV = 'local'
+ self.test_env = 'local'
global config
config = TestConfig()
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 45b44a5..8fc3ed7 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -1086,7 +1086,6 @@ def stats( name, way, stats_file ):
# Check -t stats info
def checkStats(name, way, stats_file, range_fields):
-
full_name = name + '(' + way + ')'
result = passed()
@@ -1112,8 +1111,8 @@ def checkStats(name, way, stats_file, range_fields):
# Add val into the git note if option is set.
if config.use_git_notes:
- test_env = config.TEST_ENV
- config.accumulate_metrics.append(test_env + '\t' + name + '\t' + way + '\t' + field + '\t' + str(val))
+ test_env = config.test_env
+ config.accumulate_metrics.append('\t'.join([test_env, name, way, field, str(val)]))
if val < lowerBound:
print(field, 'value is too low:')
diff --git a/testsuite/driver/testutil.py b/testsuite/driver/testutil.py
index 59906a0..1fe1c20 100644
--- a/testsuite/driver/testutil.py
+++ b/testsuite/driver/testutil.py
@@ -54,8 +54,10 @@ def parse_git_notes(namespace):
logFields = ['TEST_ENV','TEST','WAY','METRIC','VALUE']
log = subprocess.check_output(['git', 'notes', '--ref=' + namespace, 'show']).decode('utf-8')
log = log.strip('\n').split('\n')
- log = [entry.strip('\t').split('\t') for entry in log]
- log = [dict(zip(logFields, row)) for row in log]
+ log = [line.strip('\t').split('\t') for line in log]
+ log = [dict(zip(logFields, field)) for field in log]
+ return log
+ # Add a print statement here if you want to see what's being loaded from git notes.
# On Windows, os.symlink is not defined with Python 2.7, but is in Python 3
# when using msys2, as GHC does. Unfortunately, only Administrative users have
More information about the ghc-commits
mailing list