Skip to content

Commit 5ecc5fa

Browse files
authored
Merge pull request #41 from Swirrl/error-reporting-improvements
Error reporting improvements
2 parents c62546f + 65af791 commit 5ecc5fa

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

src/rdf_validator/core.clj

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -68,24 +68,26 @@
6868
failed (pos? (count results))]
6969
{:test-source test-source
7070
:result (if failed :failed :passed)
71-
:errors (mapv str results)})))
71+
:errors results})))
7272

7373
(defn run-test-case [test-case query-variables endpoint]
74-
(try
75-
(let [source (:source test-case)
76-
^String sparql-str (load-sparql-template source query-variables)
77-
query (QueryFactory/create sparql-str Syntax/syntaxSPARQL_11)
78-
test {:test-source source :query-string sparql-str}]
79-
(cond
80-
(.isAskType query) (run-sparql-ask-test test endpoint)
81-
(.isSelectType query) (run-sparql-select-test test endpoint)
82-
:else {:test-case test-case
83-
:result :ignored
84-
:errors []}))
85-
(catch Exception ex
86-
{:test-case test-case
87-
:result :errored
88-
:errors [(.getMessage ex)]})))
74+
(let [source (:source test-case)]
75+
(try
76+
(let [^String sparql-str (load-sparql-template source query-variables)
77+
query (QueryFactory/create sparql-str Syntax/syntaxSPARQL_11)
78+
test {:test-source source :query-string sparql-str}]
79+
(cond
80+
(.isAskType query) (run-sparql-ask-test test endpoint)
81+
(.isSelectType query) (run-sparql-select-test test endpoint)
82+
:else {:test-source source
83+
:test-case test-case
84+
:result :ignored
85+
:errors []}))
86+
(catch Exception ex
87+
{:test-source source
88+
:test-case test-case
89+
:result :errored
90+
:errors [(.getMessage ex)]}))))
8991

9092
(defn run-test-cases [test-cases query-variables endpoint]
9193
(map #(run-test-case % query-variables endpoint) test-cases))

src/rdf_validator/reporting.clj

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
(ns rdf-validator.reporting
22
"Used for creating reports of test executions."
33
(:require [clojure.string :as string]
4-
[rdf-validator.util :as util]))
4+
[rdf-validator.util :as util]
5+
[clojure.pprint :as pp]))
56

67
(defprotocol TestReporter
78
(report-test-result! [this test-result]
@@ -13,12 +14,14 @@
1314
TestReporter
1415
(report-test-result! [_this {:keys [number test-source result errors] :as test-result}]
1516
(println (format "%d %s: %s" number (util/get-path test-source) (string/upper-case (name result))))
16-
(doseq [error errors]
17-
(println (format "\t%s" error)))
17+
(when (seq errors)
18+
(if (map? (first errors))
19+
(pp/print-table errors)
20+
(doseq [error errors]
21+
(println (format "\t%s" error)))))
1822
(when (pos? (count errors))
1923
(println)))
2024

2125
(report-test-summary! [_this {:keys [passed failed errored ignored] :as test-summary}]
2226
(println)
2327
(println (format "Passed %d Failed %d Errored %d Ignored %d" passed failed errored ignored))))
24-

0 commit comments

Comments
 (0)