[llvm-commits] [zorg] r151091 - in /zorg/trunk/lnt/lnt/server: db/testsuitedb.py reporting/analysis.py ui/views.py
Daniel Dunbar
daniel at zuster.org
Tue Feb 21 13:56:25 PST 2012
Author: ddunbar
Date: Tue Feb 21 15:56:25 2012
New Revision: 151091
URL: http://llvm.org/viewvc/llvm-project?rev=151091&view=rev
Log:
[lnt/v0.4] Change how missing sample values are reported.
- Previously, we assumed a run would always report values for every subtest. We would default every field to being 0 which was a particularly bad idea.
- We properly record such values as NULL.
- Updated report and graph functionality to properly handle possibly-null cases.
- I'm not 100% sure I got all the instances, but hopefully they will show up in obvious ways (as opposed to, just, say reporting the wrong data… hmmm…).
Modified:
zorg/trunk/lnt/lnt/server/db/testsuitedb.py
zorg/trunk/lnt/lnt/server/reporting/analysis.py
zorg/trunk/lnt/lnt/server/ui/views.py
Modified: zorg/trunk/lnt/lnt/server/db/testsuitedb.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/server/db/testsuitedb.py?rev=151091&r1=151090&r2=151091&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/server/db/testsuitedb.py (original)
+++ zorg/trunk/lnt/lnt/server/db/testsuitedb.py Tue Feb 21 15:56:25 2012
@@ -288,7 +288,7 @@
# Initialize sample fields (defaulting to 0, for now).
for item in self.fields:
- self.set_field(item, kwargs.get(item.name, 0))
+ self.set_field(item, kwargs.get(item.name, None))
def __repr__(self):
fields = dict((item.name, self.get_field(item))
Modified: zorg/trunk/lnt/lnt/server/reporting/analysis.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/server/reporting/analysis.py?rev=151091&r1=151090&r2=151091&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/server/reporting/analysis.py (original)
+++ zorg/trunk/lnt/lnt/server/reporting/analysis.py Tue Feb 21 15:56:25 2012
@@ -48,8 +48,10 @@
prev_failed |= sample[status_field.index] == FAIL
# Get the current and previous values.
- run_values = [s[field.index] for s in run_samples]
- prev_values = [s[field.index] for s in prev_samples]
+ run_values = [s[field.index] for s in run_samples
+ if s[field.index] is not None]
+ prev_values = [s[field.index] for s in prev_samples
+ if s[field.index] is not None]
if run_values:
run_value = min(run_values)
else:
@@ -94,16 +96,14 @@
# noise level from a list of values. Probably better to just find a way
# to kill this code though.
if stddev is None:
- # Get all previous values in the comparison window, for passing
- # runs.
- #
- # FIXME: This is using the wrong status kind. :/
+ # Get all previous values in the comparison window.
prev_samples = [s for run in comparison_window
- for s in self.sample_map.get((run.id, test_id), ())]
+ for s in self.sample_map.get((run.id, test_id), ())
+ if s[field.index] is not None]
# Filter out failing samples.
if status_field:
prev_samples = [s for s in prev_samples
- if s[status_field.index] == PASS]
+ if s[status_field.index] != FAIL]
if prev_samples:
prev_values = [s[field.index]
for s in prev_samples]
Modified: zorg/trunk/lnt/lnt/server/ui/views.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/server/ui/views.py?rev=151091&r1=151090&r2=151091&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/server/ui/views.py (original)
+++ zorg/trunk/lnt/lnt/server/ui/views.py Tue Feb 21 15:56:25 2012
@@ -996,12 +996,14 @@
q = ts.query(field.column, ts.Order.llvm_project_revision).\
join(ts.Run).join(ts.Order).\
filter(ts.Run.machine == run.machine).\
- filter(ts.Sample.test == test)
+ filter(ts.Sample.test == test).\
+ filter(field.column != None)
# Unless all samples requested, filter out failing tests.
if not show_failures:
if field.status_field:
- q = q.filter(field.status_field.column == PASS)
+ q = q.filter((field.status_field.column == PASS) |
+ (field.status_field.column == None))
# Aggregate by revision.
data = util.multidict((int(r),v)
More information about the llvm-commits
mailing list