[LNT] r310882 - Fix submissions without complete machine fields getting rejected.

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 14 13:42:11 PDT 2017


Author: matze
Date: Mon Aug 14 13:42:11 2017
New Revision: 310882

URL: http://llvm.org/viewvc/llvm-project?rev=310882&view=rev
Log:
Fix submissions without complete machine fields getting rejected.

Followup to r309247: Submissions got rejected when they did not provide
all the declared machine fields. By that I mean fields declared in the
schema file or having an entry in the TestSuiteMachineFields table. We
should only reject submissions when they explicitely submit different
information from before not for omitting some fields.

Also do some cleanup of the relevant code.

Modified:
    lnt/trunk/lnt/server/db/testsuitedb.py
    lnt/trunk/tests/lnttool/Inputs/compile_submission.json
    lnt/trunk/tests/lnttool/submit.shtest

Modified: lnt/trunk/lnt/server/db/testsuitedb.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/db/testsuitedb.py?rev=310882&r1=310881&r2=310882&view=diff
==============================================================================
--- lnt/trunk/lnt/server/db/testsuitedb.py (original)
+++ lnt/trunk/lnt/server/db/testsuitedb.py Mon Aug 14 13:42:11 2017
@@ -804,25 +804,23 @@ class TestSuiteDB(object):
         for field in self.machine_fields:
             existing_value = existing.get_field(field)
             new_value = machine.get_field(field)
-            if existing_value is None:
+            if new_value is None or existing_value == new_value:
+                continue
+            if existing_value is None or forceUpdate:
                 existing.set_field(field, new_value)
-            elif existing_value != new_value:
-                if not forceUpdate:
-                    raise MachineInfoChanged("'%s' on machine '%s' changed." %
-                                             (field.name, name))
-                else:
-                    existing.set_field(field, new_value)
+            else:
+                raise MachineInfoChanged("'%s' on machine '%s' changed." %
+                                         (field.name, name))
         existing_parameters = existing.parameters
-        for key, value in machine.parameters.items():
+        for key, new_value in machine.parameters.items():
             existing_value = existing_parameters.get(key, None)
-            if existing_value is None:
+            if new_value is None or existing_value == new_value:
+                continue
+            if existing_value is None or forceUpdate:
                 existing_parameters[key] = value
-            elif existing_value != value:
-                if not forceUpdate:
-                    raise MachineInfoChanged("'%s' on machine '%s' changed." %
-                                             (key, name))
-                else:
-                    existing_parameters[key] = value
+            else:
+                raise MachineInfoChanged("'%s' on machine '%s' changed." %
+                                         (key, name))
         existing.parameters = existing_parameters
         return existing
 

Modified: lnt/trunk/tests/lnttool/Inputs/compile_submission.json
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/lnttool/Inputs/compile_submission.json?rev=310882&r1=310881&r2=310882&view=diff
==============================================================================
--- lnt/trunk/tests/lnttool/Inputs/compile_submission.json (original)
+++ lnt/trunk/tests/lnttool/Inputs/compile_submission.json Mon Aug 14 13:42:11 2017
@@ -2,7 +2,8 @@
 	"Machine": {
 		"Info": {
 			"hw.activecpu": "4",
-			"machdep.cpu.vendor": "GenuineIntel"
+			"machdep.cpu.vendor": "GenuineIntel",
+			"os_version": "42"
 		},
 		"Name": "some-compile-suite-machine"
 	},

Modified: lnt/trunk/tests/lnttool/submit.shtest
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/lnttool/submit.shtest?rev=310882&r1=310881&r2=310882&view=diff
==============================================================================
--- lnt/trunk/tests/lnttool/submit.shtest (original)
+++ lnt/trunk/tests/lnttool/submit.shtest Mon Aug 14 13:42:11 2017
@@ -113,8 +113,8 @@ lnt submit "http://localhost:9091/db_def
 
 
 # Adding extra fields to the machine in a submission is fine.
-lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" --commit "${INPUTS}/compile_submission_machine_diff_fine.json" -v > "${OUTPUT_DIR}/submit_compile_machine_diff.txt"
-# RUN: FileCheck %s --check-prefix=CHECK-MACHINEDIFF < %t.tmp/submit_compile_machine_diff.txt
+lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" --commit "${INPUTS}/compile_submission_machine_diff_fine.json" -v > "${OUTPUT_DIR}/submit_compile_machine_diff_fine.txt"
+# RUN: FileCheck %s --check-prefix=CHECK-MACHINEDIFF < %t.tmp/submit_compile_machine_diff_fine.txt
 #
 # CHECK-MACHINEDIFF: Imported Data
 # CHECK-MACHINEDIFF: -------------




More information about the llvm-commits mailing list