[llvm-commits] [zorg] r110929 - in /zorg/trunk/lnt/lnt: lnttool/__init__.py lnttool/import_data.py util/ServerUtil.py

Daniel Dunbar daniel at zuster.org
Thu Aug 12 09:04:05 PDT 2010


Author: ddunbar
Date: Thu Aug 12 11:04:04 2010
New Revision: 110929

URL: http://llvm.org/viewvc/llvm-project?rev=110929&view=rev
Log:
LNT/lnttool: Change 'lnt import', 'lnt submit', and 'lnt runtest --submit' to print the submission result in pretty form.
 - Also adds a '-v' argument for switching between short (no PASSes) and long form.

Modified:
    zorg/trunk/lnt/lnt/lnttool/__init__.py
    zorg/trunk/lnt/lnt/lnttool/import_data.py
    zorg/trunk/lnt/lnt/util/ServerUtil.py

Modified: zorg/trunk/lnt/lnt/lnttool/__init__.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/lnttool/__init__.py?rev=110929&r1=110928&r2=110929&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/lnttool/__init__.py (original)
+++ zorg/trunk/lnt/lnt/lnttool/__init__.py Thu Aug 12 11:04:04 2010
@@ -106,6 +106,9 @@
                       help=("whether the autosubmit result should be committed "
                             "[%default]"),
                       type=int, default=True)
+    parser.add_option("-v", "--verbose", dest="verbose",
+                      help="show verbose test results",
+                      action="store_true", default=False)
 
     (opts, args) = parser.parse_args(args)
     if len(args) < 1:
@@ -127,7 +130,7 @@
 
         from lnt.util import ServerUtil
         io = StringIO.StringIO(report.render(indent=None))
-        ServerUtil.submitFile(opts.submit_url, io, True)
+        ServerUtil.submitFile(opts.submit_url, io, True, opts.verbose)
 
 def action_showtests(name, args):
     """show the available built-in tests"""
@@ -154,13 +157,16 @@
                       help=("whether the result should be committed "
                             "[%default]"),
                       default=False)
+    parser.add_option("-v", "--verbose", dest="verbose",
+                      help="show verbose test results",
+                      action="store_true", default=False)
 
     (opts, args) = parser.parse_args(args)
     if len(args) < 2:
         parser.error("incorrect number of argments")
 
     from lnt.util import ServerUtil
-    ServerUtil.submitFiles(args[0], args[1:], opts.commit)
+    ServerUtil.submitFiles(args[0], args[1:], opts.commit, opts.verbose)
 
 ###
 

Modified: zorg/trunk/lnt/lnt/lnttool/import_data.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/lnttool/import_data.py?rev=110929&r1=110928&r2=110929&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/lnttool/import_data.py (original)
+++ zorg/trunk/lnt/lnt/lnttool/import_data.py Thu Aug 12 11:04:04 2010
@@ -17,9 +17,14 @@
                       default='<auto>')
     parser.add_option("", "--commit", dest="commit", type=int,
                       default=False)
-    parser.add_option("", "--show-sql", dest="showSQL", action="store_true",
+    parser.add_option("", "--show-sql", dest="show_sql", action="store_true",
                       default=False)
-    parser.add_option("", "--show-sample-count", dest="showSampleCount",
+    parser.add_option("", "--show-sample-count", dest="show_sample_count",
+                      action="store_true", default=False)
+    parser.add_option("", "--show-raw-result", dest="show_raw_result",
+                      action="store_true", default=False)
+    parser.add_option("-v", "--verbose", dest="verbose",
+                      help="show verbose test results",
                       action="store_true", default=False)
     parser.add_option("", "--no-email", dest="noEmail",
                       action="store_true", default=False)
@@ -47,11 +52,15 @@
         parser.error("invalid database name")
 
     # Load the database.
-    db = PerfDB.PerfDB(db_entry.path, echo=opts.showSQL)
+    db = PerfDB.PerfDB(db_entry.path, echo=opts.show_sql)
     for file in args:
         result = ImportData.import_and_report(
             config, opts.database, db, file,
-            opts.format, opts.commit, opts.showSampleCount,
+            opts.format, opts.commit, opts.show_sample_count,
             opts.noEmail)
 
-        pprint.pprint(result)
+        if opts.show_raw_result:
+            pprint.pprint(result)
+        else:
+            ImportData.print_report_result(result, sys.stdout, opts.verbose)
+

Modified: zorg/trunk/lnt/lnt/util/ServerUtil.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/util/ServerUtil.py?rev=110929&r1=110928&r2=110929&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/util/ServerUtil.py (original)
+++ zorg/trunk/lnt/lnt/util/ServerUtil.py Thu Aug 12 11:04:04 2010
@@ -3,21 +3,45 @@
 """
 
 import plistlib
+import sys
 import urllib
 import urllib2
 
-def submitFile(url, file, commit):
+from lnt.util import json
+from lnt.util import ImportData
+
+# FIXME: I used to maintain this file in such a way that it could be used
+# separate from LNT to do submission. This could be useful for adapting an older
+# system to report to LNT, for example. It might be nice to factor the
+# simplified submit code into a separate utility.
+
+def submitFile(url, file, commit, verbose):
     values = { 'input_data' : file.read(),
                'commit' : ("0","1")[not not commit] }
 
     data = urllib.urlencode(values)
     response = urllib2.urlopen(urllib2.Request(url, data))
-    the_page = response.read()
+    result_data = response.read()
+
+    # The result is expected to be a JSON object.
+    try:
+        result = json.loads(result_data)
+    except:
+        import traceback
+        print "Unable to load result, not a valid JSON object."
+        print
+        print "Traceback:"
+        traceback.print_exc()
+        print
+        print "Result:"
+        print result
+        return
 
-    print the_page
+    # Print the test report.
+    ImportData.print_report_result(result, sys.stdout, verbose)
 
-def submitFiles(url, files, commit):
+def submitFiles(url, files, commit, verbose):
     for file in files:
         f = open(file, 'rb')
-        submitFile(url, f, commit)
+        submitFile(url, f, commit, verbose)
         f.close()





More information about the llvm-commits mailing list