[LNT] r307961 - Refactor to only have 1 list of sample types; remove Integer
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 13 14:20:42 PDT 2017
Author: matze
Date: Thu Jul 13 14:20:42 2017
New Revision: 307961
URL: http://llvm.org/viewvc/llvm-project?rev=307961&view=rev
Log:
Refactor to only have 1 list of sample types; remove Integer
- Remove unused sample_types list from v4db
- Avoid duplicated list in TestSuite.from_json
- Remove the Integer type. The fieldchange stuff only works with Real at
the moment :-(
Modified:
lnt/trunk/docs/importing_data.rst
lnt/trunk/docs/schema-example.yaml
lnt/trunk/lnt/server/db/testsuite.py
lnt/trunk/lnt/server/db/testsuitedb.py
lnt/trunk/lnt/server/db/v4db.py
lnt/trunk/tests/server/db/Inputs/schema-example-migratable.yaml
lnt/trunk/tests/server/db/Inputs/schema-example-nomigration0.yaml
lnt/trunk/tests/server/db/Inputs/schema-example-nomigration1.yaml
lnt/trunk/tests/server/db/Inputs/schema-example-nomigration2.yaml
Modified: lnt/trunk/docs/importing_data.rst
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/docs/importing_data.rst?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/docs/importing_data.rst (original)
+++ lnt/trunk/docs/importing_data.rst Thu Jul 13 14:20:42 2017
@@ -109,8 +109,6 @@ instance. Example:
* LNT currently supports the following metric types:
- - ``Integer``: Integer values; postgres limits this to 4 bytes,
- sqlite support up to 8 bytes.
- ``Real``: 8-byte IEEE floating point values.
- ``Hash``: String values; limited to 256, sqlite is not enforcing the limit.
- ``Status``: StatusKind enum values (limited to 'PASS', 'FAIL', 'XFAIL' right
Modified: lnt/trunk/docs/schema-example.yaml
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/docs/schema-example.yaml?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/docs/schema-example.yaml (original)
+++ lnt/trunk/docs/schema-example.yaml Thu Jul 13 14:20:42 2017
@@ -3,10 +3,10 @@ name: size
metrics:
- name: text_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: data_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: score
bigger_is_better: true
type: Real
Modified: lnt/trunk/lnt/server/db/testsuite.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/db/testsuite.py?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/lnt/server/db/testsuite.py (original)
+++ lnt/trunk/lnt/server/db/testsuite.py Thu Jul 13 14:20:42 2017
@@ -218,27 +218,15 @@ class TestSuite(Base):
ts.order_fields = order_fields
assert(len(order_fields) > 0)
- # Hardcode some sample types. I wonder whether we should rather query
- # them from the core database?
- # This needs to be kept in sync with testsuitedb.py
- metric_types = {
- 'Real': SampleType('Real'),
- 'Integer': SampleType('Integer'),
- 'Status': SampleType('Status'),
- 'Hash': SampleType('Hash')
- }
-
sample_fields = []
for metric_desc in data['metrics']:
name = metric_desc['name']
bigger_is_better = metric_desc.get('bigger_is_better', False)
metric_type_name = metric_desc.get('type', 'Real')
- metric_type = metric_types.get(metric_type_name)
- if metric_type is None:
- raise ValueError("Unknown metric type '%s' (not in %s)" %
- (metric_type_name,
- metric_types.keys().join(",")))
-
+ if not testsuitedb.is_known_sample_type(metric_type_name):
+ raise ValueError("Unknown metric type '%s'" %
+ metric_type_name)
+ metric_type = SampleType(metric_type_name)
bigger_is_better_int = 1 if bigger_is_better else 0
field = SampleField(name, metric_type, info_key=None,
status_field=None,
Modified: lnt/trunk/lnt/server/db/testsuitedb.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/db/testsuitedb.py?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/lnt/server/db/testsuitedb.py (original)
+++ lnt/trunk/lnt/server/db/testsuitedb.py Thu Jul 13 14:20:42 2017
@@ -29,12 +29,15 @@ def strip(obj):
_sample_type_to_sql = {
'Real': Float,
- 'Integer': Integer,
'Hash': String,
- 'Status': Integer
+ 'Status': Integer,
}
+def is_known_sample_type(name):
+ return name in _sample_type_to_sql
+
+
def make_sample_column(name, type):
sqltype = _sample_type_to_sql.get(type)
if sqltype is None:
Modified: lnt/trunk/lnt/server/db/v4db.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/db/v4db.py?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/lnt/server/db/v4db.py (original)
+++ lnt/trunk/lnt/server/db/v4db.py Thu Jul 13 14:20:42 2017
@@ -159,17 +159,6 @@ class V4DB(object):
except KeyError:
fatal("status kinds not initialized!")
- sample_types = {
- st.name: st for st in self.query(testsuite.SampleType).all()
- }
- # Resolve or create the known sample types.
- try:
- self.real_sample_type = sample_types["Real"]
- self.status_sample_type = sample_types["Status"]
- self.hash_sample_type = sample_types["Hash"]
- except KeyError:
- fatal("sample types not initialized!")
-
self._load_shemas()
def close(self):
Modified: lnt/trunk/tests/server/db/Inputs/schema-example-migratable.yaml
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/server/db/Inputs/schema-example-migratable.yaml?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/tests/server/db/Inputs/schema-example-migratable.yaml (original)
+++ lnt/trunk/tests/server/db/Inputs/schema-example-migratable.yaml Thu Jul 13 14:20:42 2017
@@ -6,10 +6,10 @@ name: size
metrics:
- name: text_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: data_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: score
bigger_is_better: true
type: Real
Modified: lnt/trunk/tests/server/db/Inputs/schema-example-nomigration0.yaml
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/server/db/Inputs/schema-example-nomigration0.yaml?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/tests/server/db/Inputs/schema-example-nomigration0.yaml (original)
+++ lnt/trunk/tests/server/db/Inputs/schema-example-nomigration0.yaml Thu Jul 13 14:20:42 2017
@@ -5,7 +5,7 @@ name: size
metrics:
- name: text_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: hash
type: Hash
- name: score
Modified: lnt/trunk/tests/server/db/Inputs/schema-example-nomigration1.yaml
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/server/db/Inputs/schema-example-nomigration1.yaml?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/tests/server/db/Inputs/schema-example-nomigration1.yaml (original)
+++ lnt/trunk/tests/server/db/Inputs/schema-example-nomigration1.yaml Thu Jul 13 14:20:42 2017
@@ -5,10 +5,10 @@ name: size
metrics:
- name: text_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: data_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: score
bigger_is_better: true
type: Real
Modified: lnt/trunk/tests/server/db/Inputs/schema-example-nomigration2.yaml
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/server/db/Inputs/schema-example-nomigration2.yaml?rev=307961&r1=307960&r2=307961&view=diff
==============================================================================
--- lnt/trunk/tests/server/db/Inputs/schema-example-nomigration2.yaml (original)
+++ lnt/trunk/tests/server/db/Inputs/schema-example-nomigration2.yaml Thu Jul 13 14:20:42 2017
@@ -5,10 +5,10 @@ name: size
metrics:
- name: text_size
bigger_is_better: false
- type: Integer
+ type: Real
- name: data_size
bigger_is_better: false
- type: Real
+ type: Hash
- name: score
bigger_is_better: true
type: Real
More information about the llvm-commits
mailing list