[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