[LNT] r317658 - lnttool: Fix lnt submit error handling
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 7 17:51:39 PST 2017
Author: matze
Date: Tue Nov 7 17:51:39 2017
New Revision: 317658
URL: http://llvm.org/viewvc/llvm-project?rev=317658&view=rev
Log:
lnttool: Fix lnt submit error handling
- Show message instead of backtrace for bad URLs
- Exit with returncode 1 on submission failures
Added:
lnt/trunk/tests/lnttool/submit_badurl.shtest
Modified:
lnt/trunk/lnt/lnttool/main.py
lnt/trunk/lnt/util/ServerUtil.py
lnt/trunk/tests/lnttool/submit.shtest
Modified: lnt/trunk/lnt/lnttool/main.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/lnttool/main.py?rev=317658&r1=317657&r2=317658&view=diff
==============================================================================
--- lnt/trunk/lnt/lnttool/main.py (original)
+++ lnt/trunk/lnt/lnttool/main.py Tue Nov 7 17:51:39 2017
@@ -187,14 +187,16 @@ def action_submit(url, files, select_mac
from lnt.util import ServerUtil
import lnt.util.ImportData
- files = ServerUtil.submitFiles(url, files, verbose,
+ results = ServerUtil.submitFiles(url, files, verbose,
select_machine=select_machine,
merge_run=merge)
- for submitted_file in files:
+ for submitted_file in results:
if verbose:
lnt.util.ImportData.print_report_result(
submitted_file, sys.stdout, sys.stderr, True)
_print_result_url(submitted_file, verbose)
+ if len(files) != len(results):
+ sys.exit(1)
@click.command("update")
Modified: lnt/trunk/lnt/util/ServerUtil.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/util/ServerUtil.py?rev=317658&r1=317657&r2=317658&view=diff
==============================================================================
--- lnt/trunk/lnt/util/ServerUtil.py (original)
+++ lnt/trunk/lnt/util/ServerUtil.py Tue Nov 7 17:51:39 2017
@@ -46,6 +46,10 @@ def submitFileToServer(url, file, select
except urllib2.HTTPError as e:
_show_json_error(e.read())
return
+ except urllib2.URLError as e:
+ sys.stderr.write("error: could not resolve '%s': %s\n" %
+ (url, e))
+ return
result_data = response.read()
# The result is expected to be a JSON object.
Modified: lnt/trunk/tests/lnttool/submit.shtest
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/lnttool/submit.shtest?rev=317658&r1=317657&r2=317658&view=diff
==============================================================================
--- lnt/trunk/tests/lnttool/submit.shtest (original)
+++ lnt/trunk/tests/lnttool/submit.shtest Tue Nov 7 17:51:39 2017
@@ -1,3 +1,4 @@
+#!/bin/bash
# RUN: rm -rf %t.instance
# RUN: rm -rf %t.tmp && mkdir -p %t.tmp
# RUN: python %{shared_inputs}/create_temp_instance.py \
@@ -5,6 +6,8 @@
# RUN: %{shared_inputs}/server_wrapper.sh --fail-on-error %t.instance 9091 \
# RUN: /bin/sh %s %t.tmp %S/Inputs %{shared_inputs} %{src_root}
+set -eux
+
OUTPUT_DIR="$1"
INPUTS="$2"
SHARED_INPUTS="$3"
@@ -86,20 +89,20 @@ lnt submit "http://localhost:9091/db_def
# Check some error handling/reporting
rm -f "${OUTPUT_DIR}/submit_errors.txt"
-lnt submit "http://localhost:9091/db_default/v4/badsuite/submitRun" "${INPUTS}/compile_submission.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
+not lnt submit "http://localhost:9091/db_default/v4/badsuite/submitRun" "${INPUTS}/compile_submission.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
# RUN: FileCheck %s --check-prefix=CHECK-ERRORS < %t.tmp/submit_errors.txt
# CHECK-ERRORS: error: lnt server: Unknown test suite 'badsuite'!
-lnt submit "http://localhost:9091/db_baddb/v4/compile/submitRun" "${INPUTS}/compile_submission.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
+not lnt submit "http://localhost:9091/db_baddb/v4/compile/submitRun" "${INPUTS}/compile_submission.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
# CHECK-ERRORS: error: lnt server: The page you are looking for does not exist.
-lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" "${INPUTS}/invalid_submission0.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
+not lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" "${INPUTS}/invalid_submission0.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
# CHECK-ERRORS: error: lnt server: could not parse input format
# ...
# CHECK-ERRORS: SystemExit: unable to guess input format for
-lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" "${INPUTS}/invalid_submission1.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
+not lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" "${INPUTS}/invalid_submission1.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
# CHECK-ERRORS: error: lnt server: import failure: machine
# ...
# CHECK-ERRORS: KeyError: 'machine'
-lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" "${INPUTS}/compile_submission_machine_diff_reject.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
+not lnt submit "http://localhost:9091/db_default/v4/compile/submitRun" "${INPUTS}/compile_submission_machine_diff_reject.json" >> "${OUTPUT_DIR}/submit_errors.txt" 2>&1
# CHECK-ERRORS: error: lnt server: import failure: 'hw.activecpu' on machine 'some-compile-suite-machine' changed.
# ...
# CHECK-ERRORS: MachineInfoChanged: 'hw.activecpu' on machine 'some-compile-suite-machine' changed.
Added: lnt/trunk/tests/lnttool/submit_badurl.shtest
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/lnttool/submit_badurl.shtest?rev=317658&view=auto
==============================================================================
--- lnt/trunk/tests/lnttool/submit_badurl.shtest (added)
+++ lnt/trunk/tests/lnttool/submit_badurl.shtest Tue Nov 7 17:51:39 2017
@@ -0,0 +1,2 @@
+# RUN: not lnt submit "http://doesnotexist.invalid/db_default/submitRun" %{shared_inputs}/sample-report.json 2>&1 | FileCheck %s
+# CHECK: error: could not resolve 'http://doesnotexist.invalid/db_default/submitRun':
More information about the llvm-commits
mailing list