earl-report 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/bin/earl-report +0 -5
- data/lib/earl_report.rb +8 -1
- data/spec/earl_report_spec.rb +4 -4
- data/spec/test-files/results.html +13 -13
- data/spec/test-files/results.jsonld +16 -16
- data/spec/test-files/results.ttl +17 -17
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e9d247fba459dcbd456748828fa9f9b9eb54299
|
4
|
+
data.tar.gz: 80656782c30c8009a93b0d7cad413f2a7968aa94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44de180a4830bd4fc9d18224e2000089e1838de04b77efc07ee9d2d57e366dff0ca562f17a9f9caba1fc260f59ba5d4faa5225308f5164b89a43505760154c24
|
7
|
+
data.tar.gz: f6d34dd93d796502b9a913d7fd7d65229136dbd9f5b06032e99bffcf27fcc76637e63a435c366f642d7d7f61b1fc3459a7652cf4087e0d169c20362b4c7f1be8
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.4
|
data/bin/earl-report
CHANGED
data/lib/earl_report.rb
CHANGED
@@ -195,7 +195,7 @@ class EarlReport
|
|
195
195
|
man_opts[:base_uri] = RDF::URI(@options[:base]) if @options[:base]
|
196
196
|
@graph = RDF::Graph.new
|
197
197
|
Array(@options[:manifest]).each do |man|
|
198
|
-
g = RDF::Graph.load(man, man_opts)
|
198
|
+
g = RDF::Graph.load(man, unique_bnodes: true, **man_opts)
|
199
199
|
status " loaded #{g.count} triples from #{man}"
|
200
200
|
graph << g
|
201
201
|
end
|
@@ -305,17 +305,21 @@ class EarlReport
|
|
305
305
|
end
|
306
306
|
|
307
307
|
status "query assertions"
|
308
|
+
assertion_stats = {}
|
308
309
|
SPARQL.execute(ASSERTION_QUERY, assertion_graph).each do |solution|
|
309
310
|
subject = solution[:subject]
|
310
311
|
unless tests[solution[:test]]
|
312
|
+
assertion_stats["Skipped"] = assertion_stats["Skipped"].to_i + 1
|
311
313
|
$stderr.puts "Skipping result for #{solution[:test]} for #{subject}, which is not defined in manifests"
|
312
314
|
next
|
313
315
|
end
|
314
316
|
unless subjects[subject]
|
317
|
+
assertion_stats["Missing Subject"] = assertion_stats["Missing Subject"].to_i + 1
|
315
318
|
$stderr.puts "No test result subject found for #{subject}: in #{subjects.keys.join(', ')}"
|
316
319
|
next
|
317
320
|
end
|
318
321
|
found_solutions[subject] = true
|
322
|
+
assertion_stats["Found"] = assertion_stats["Found"].to_i + 1
|
319
323
|
|
320
324
|
# Add this solution at the appropriate index within that list
|
321
325
|
ndx = subjects.keys.find_index(subject)
|
@@ -338,6 +342,7 @@ class EarlReport
|
|
338
342
|
# Fill any missing entries with an untested outcome
|
339
343
|
ary.each_with_index do |a, ndx|
|
340
344
|
unless a
|
345
|
+
assertion_stats["Untested"] = assertion_stats["Untested"].to_i + 1
|
341
346
|
ary[ndx] = a = RDF::Node.new
|
342
347
|
graph << RDF::Statement(a, RDF.type, EARL.Assertion)
|
343
348
|
graph << RDF::Statement(a, EARL.subject, subjects.keys[ndx])
|
@@ -353,6 +358,8 @@ class EarlReport
|
|
353
358
|
end
|
354
359
|
end
|
355
360
|
|
361
|
+
assertion_stats.each {|stat, count| status("Assertions #{stat}: #{count}")}
|
362
|
+
|
356
363
|
# See if any subject did not report results, which may indicate a formatting error in the EARL source
|
357
364
|
subjects.reject {|s| found_solutions[s]}.each do |sub|
|
358
365
|
$stderr.puts "No results found for #{sub} using #{ASSERTION_QUERY}"
|
data/spec/earl_report_spec.rb
CHANGED
@@ -40,7 +40,7 @@ describe EarlReport do
|
|
40
40
|
context "with base" do
|
41
41
|
it "loads manifest relative to base" do
|
42
42
|
expect(RDF::Graph).to receive(:load)
|
43
|
-
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {:base_uri
|
43
|
+
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {unique_bnodes: true, base_uri: "http://example.com/base/"})
|
44
44
|
.and_return(manifest)
|
45
45
|
expect(RDF::Graph).to receive(:load)
|
46
46
|
.with(File.expand_path("../test-files/report-complete.ttl", __FILE__))
|
@@ -56,7 +56,7 @@ describe EarlReport do
|
|
56
56
|
context "complete report" do
|
57
57
|
before(:each) do
|
58
58
|
expect(RDF::Graph).to receive(:load)
|
59
|
-
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {})
|
59
|
+
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {unique_bnodes: true, })
|
60
60
|
.and_return(manifest)
|
61
61
|
expect(RDF::Graph).to receive(:load)
|
62
62
|
.with(File.expand_path("../test-files/report-complete.ttl", __FILE__))
|
@@ -90,7 +90,7 @@ describe EarlReport do
|
|
90
90
|
context "no doap report" do
|
91
91
|
before(:each) do
|
92
92
|
expect(RDF::Graph).to receive(:load)
|
93
|
-
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {})
|
93
|
+
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {unique_bnodes: true, })
|
94
94
|
.and_return(manifest)
|
95
95
|
expect(RDF::Graph).to receive(:load)
|
96
96
|
.with(File.expand_path("../test-files/report-no-doap.ttl", __FILE__))
|
@@ -127,7 +127,7 @@ describe EarlReport do
|
|
127
127
|
context "no foaf report" do
|
128
128
|
before(:each) do
|
129
129
|
expect(RDF::Graph).to receive(:load)
|
130
|
-
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {})
|
130
|
+
.with(File.expand_path("../test-files/manifest.ttl", __FILE__), {unique_bnodes: true, })
|
131
131
|
.and_return(manifest)
|
132
132
|
expect(RDF::Graph).to receive(:load)
|
133
133
|
.with(File.expand_path("../test-files/report-no-foaf.ttl", __FILE__))
|
@@ -73,8 +73,8 @@
|
|
73
73
|
<h2 id='w3c-document-28-october-2015'>
|
74
74
|
<abbr title='World Wide Web Consortium'>W3C</abbr>
|
75
75
|
Document
|
76
|
-
<time class='dt-published' datetime='
|
77
|
-
|
76
|
+
<time class='dt-published' datetime='2017-01-03' property='dc:issued'>
|
77
|
+
03 January 2017
|
78
78
|
</time>
|
79
79
|
</h2>
|
80
80
|
<dl>
|
@@ -105,7 +105,7 @@
|
|
105
105
|
</p>
|
106
106
|
<hr />
|
107
107
|
</div>
|
108
|
-
<section about='' id='abstract' typeof='
|
108
|
+
<section about='' id='abstract' typeof='doap:Project Software'>
|
109
109
|
<h2>Abstract</h2>
|
110
110
|
<p>
|
111
111
|
This document report test subject conformance for and related specifications for
|
@@ -230,7 +230,7 @@
|
|
230
230
|
<span class='secno'>2.</span>
|
231
231
|
Test Manifests
|
232
232
|
</h2>
|
233
|
-
<section id='Description-for-Example-Test-Cases' resource='http://example/manifest.ttl' typeof='mf:Manifest
|
233
|
+
<section id='Description-for-Example-Test-Cases' resource='http://example/manifest.ttl' typeof='Report mf:Manifest'>
|
234
234
|
<h2>
|
235
235
|
<span class='secno'>2.1</span>
|
236
236
|
<span property='dc:title mf:name'>Example Test Cases</span>
|
@@ -244,7 +244,7 @@
|
|
244
244
|
<a href='#subj_0'>RDF::Turtle</a>
|
245
245
|
</th>
|
246
246
|
</tr>
|
247
|
-
<tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='
|
247
|
+
<tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='http://www.w3.org/ns/rdftest#TestTurtleEval TestCase TestCriterion'>
|
248
248
|
<td>
|
249
249
|
<a href='#test_1fdd82ac4caf30510cabfdb0a5987ddd'>subm-test-00</a>
|
250
250
|
</td>
|
@@ -260,12 +260,12 @@
|
|
260
260
|
</span>
|
261
261
|
</td>
|
262
262
|
</tr>
|
263
|
-
<tr inlist='inlist' rel='mf:entries' resource='_:
|
263
|
+
<tr inlist='inlist' rel='mf:entries' resource='_:b2' typeof='http://www.w3.org/ns/rdftest#TestTurtleEval TestCase TestCriterion'>
|
264
264
|
<td>
|
265
|
-
<a href='#
|
265
|
+
<a href='#test_9430e2f85f26fd582ac7fcccd7f50d46'>subm-test-01</a>
|
266
266
|
</td>
|
267
267
|
<td class='UNTESTED' property='earl:assertions' typeof='Assertion'>
|
268
|
-
<link href='_:
|
268
|
+
<link href='_:b2' property='earl:test' />
|
269
269
|
<link href='http://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
270
270
|
<span property='earl:result' typeof='TestResult'>
|
271
271
|
<span property='earl:outcome' resource='earl:untested'>
|
@@ -300,7 +300,7 @@
|
|
300
300
|
<span about='http://rubygems.org/gems/rdf-turtle' property='doap:name'>RDF::Turtle</span>
|
301
301
|
</a>
|
302
302
|
</dt>
|
303
|
-
<dd property='earl:testSubjects' resource='http://rubygems.org/gems/rdf-turtle' typeof='
|
303
|
+
<dd property='earl:testSubjects' resource='http://rubygems.org/gems/rdf-turtle' typeof='doap:Project Software TestSubject'>
|
304
304
|
<dl>
|
305
305
|
<dt>Description</dt>
|
306
306
|
<dd lang='en' property='doap:description'>RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.</dd>
|
@@ -374,11 +374,11 @@
|
|
374
374
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-00.ttl' title='subm-test-00 Input'>http://example/test-00.ttl not loaded</pre>
|
375
375
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-00.out' title='subm-test-00 Result'>http://example/test-00.out not loaded</pre>
|
376
376
|
</dd>
|
377
|
-
<dt id='
|
377
|
+
<dt id='test_9430e2f85f26fd582ac7fcccd7f50d46' resource='_:b2'>
|
378
378
|
Test
|
379
379
|
<span property='dc:title mf:name'>subm-test-01</span>
|
380
380
|
</dt>
|
381
|
-
<dd resource='_:
|
381
|
+
<dd resource='_:b2'>
|
382
382
|
<p property='dc:description rdfs:comment'></p>
|
383
383
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-01.ttl' title='subm-test-01 Input'>http://example/test-01.ttl not loaded</pre>
|
384
384
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-01.out' title='subm-test-01 Result'>http://example/test-01.out not loaded</pre>
|
@@ -386,7 +386,7 @@
|
|
386
386
|
</div>
|
387
387
|
</dl>
|
388
388
|
</section>
|
389
|
-
<section class='appendix' id='report-generation-software' property='earl:generatedBy' resource='http://rubygems.org/gems/earl-report' typeof='
|
389
|
+
<section class='appendix' id='report-generation-software' property='earl:generatedBy' resource='http://rubygems.org/gems/earl-report' typeof='doap:Project Software'>
|
390
390
|
<h2>
|
391
391
|
<span class='secno'>D.</span>
|
392
392
|
Report Generation Software
|
@@ -400,7 +400,7 @@
|
|
400
400
|
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.4.3' typeof='doap:Version'>
|
401
401
|
<span property='doap:revision'>0.4.3</span>
|
402
402
|
<meta content='earl-report-0.4.3' property='doap:name' />
|
403
|
-
<meta content='2016-12-
|
403
|
+
<meta content='2016-12-28' datatype='xsd:date' property='doap:created' />
|
404
404
|
</span>
|
405
405
|
an
|
406
406
|
<a href='http://unlicense.org' property='doap:license'>Unlicensed</a>
|
@@ -103,8 +103,8 @@
|
|
103
103
|
},
|
104
104
|
"@id": "",
|
105
105
|
"@type": [
|
106
|
-
"
|
107
|
-
"
|
106
|
+
"doap:Project",
|
107
|
+
"Software"
|
108
108
|
],
|
109
109
|
"assertions": [
|
110
110
|
"/Users/gregg/Projects/earl-report/spec/test-files/report-complete.ttl"
|
@@ -114,25 +114,25 @@
|
|
114
114
|
{
|
115
115
|
"@id": "http://example/manifest.ttl",
|
116
116
|
"@type": [
|
117
|
-
"
|
118
|
-
"
|
117
|
+
"Report",
|
118
|
+
"mf:Manifest"
|
119
119
|
],
|
120
120
|
"entries": [
|
121
121
|
{
|
122
122
|
"@id": "http://example/manifest.ttl#testeval00",
|
123
123
|
"@type": [
|
124
|
+
"http://www.w3.org/ns/rdftest#TestTurtleEval",
|
124
125
|
"TestCase",
|
125
|
-
"TestCriterion"
|
126
|
-
"http://www.w3.org/ns/rdftest#TestTurtleEval"
|
126
|
+
"TestCriterion"
|
127
127
|
],
|
128
128
|
"assertions": [
|
129
129
|
{
|
130
|
-
"@id": "_:
|
130
|
+
"@id": "_:b4",
|
131
131
|
"@type": "Assertion",
|
132
132
|
"assertedBy": "http://greggkellogg.net/foaf#me",
|
133
133
|
"mode": "earl:automatic",
|
134
134
|
"result": {
|
135
|
-
"@id": "_:
|
135
|
+
"@id": "_:b3",
|
136
136
|
"@type": "TestResult",
|
137
137
|
"outcome": "earl:passed"
|
138
138
|
},
|
@@ -148,17 +148,17 @@
|
|
148
148
|
{
|
149
149
|
"@id": "_:b2",
|
150
150
|
"@type": [
|
151
|
+
"http://www.w3.org/ns/rdftest#TestTurtleEval",
|
151
152
|
"TestCase",
|
152
|
-
"TestCriterion"
|
153
|
-
"http://www.w3.org/ns/rdftest#TestTurtleEval"
|
153
|
+
"TestCriterion"
|
154
154
|
],
|
155
155
|
"assertions": [
|
156
156
|
{
|
157
|
-
"@id": "_:
|
157
|
+
"@id": "_:b0",
|
158
158
|
"@type": "Assertion",
|
159
159
|
"assertedBy": null,
|
160
160
|
"result": {
|
161
|
-
"@id": "_:
|
161
|
+
"@id": "_:b1",
|
162
162
|
"@type": "TestResult",
|
163
163
|
"outcome": "earl:untested"
|
164
164
|
},
|
@@ -179,8 +179,8 @@
|
|
179
179
|
"generatedBy": {
|
180
180
|
"@id": "http://rubygems.org/gems/earl-report",
|
181
181
|
"@type": [
|
182
|
-
"
|
183
|
-
"
|
182
|
+
"doap:Project",
|
183
|
+
"Software"
|
184
184
|
],
|
185
185
|
"developer": [
|
186
186
|
{
|
@@ -201,7 +201,7 @@
|
|
201
201
|
"release": {
|
202
202
|
"@id": "https://github.com/gkellogg/earl-report/tree/0.4.3",
|
203
203
|
"@type": "doap:Version",
|
204
|
-
"created": "2016-12-
|
204
|
+
"created": "2016-12-28",
|
205
205
|
"name": "earl-report-0.4.3",
|
206
206
|
"revision": "0.4.3"
|
207
207
|
},
|
@@ -212,8 +212,8 @@
|
|
212
212
|
{
|
213
213
|
"@id": "http://rubygems.org/gems/rdf-turtle",
|
214
214
|
"@type": [
|
215
|
-
"Software",
|
216
215
|
"doap:Project",
|
216
|
+
"Software",
|
217
217
|
"TestSubject"
|
218
218
|
],
|
219
219
|
"developer": [
|
data/spec/test-files/results.ttl
CHANGED
@@ -7,8 +7,8 @@
|
|
7
7
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
8
8
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
9
9
|
|
10
|
-
<> a
|
11
|
-
|
10
|
+
<> a doap:Project,
|
11
|
+
earl:Software;
|
12
12
|
dc:bibliographicCitation "[[TURTLE]]";
|
13
13
|
doap:name "Turtle Test Results";
|
14
14
|
mf:entries (<http://example/manifest.ttl>);
|
@@ -18,15 +18,15 @@
|
|
18
18
|
|
19
19
|
# Manifests
|
20
20
|
|
21
|
-
<http://example/manifest.ttl> a
|
22
|
-
|
21
|
+
<http://example/manifest.ttl> a earl:Report,
|
22
|
+
mf:Manifest;
|
23
23
|
rdfs:comment "Description for Example Test Cases";
|
24
|
-
mf:entries (<http://example/manifest.ttl#testeval00> _:
|
24
|
+
mf:entries (<http://example/manifest.ttl#testeval00> _:g70336025838220);
|
25
25
|
mf:name "Example Test Cases" .
|
26
26
|
|
27
|
-
<http://example/manifest.ttl#testeval00> a
|
28
|
-
earl:
|
29
|
-
|
27
|
+
<http://example/manifest.ttl#testeval00> a <http://www.w3.org/ns/rdftest#TestTurtleEval>,
|
28
|
+
earl:TestCase,
|
29
|
+
earl:TestCriterion;
|
30
30
|
rdfs:comment "Blank subject";
|
31
31
|
mf:action <http://example/test-00.ttl>;
|
32
32
|
mf:name "subm-test-00";
|
@@ -43,9 +43,9 @@
|
|
43
43
|
earl:test <http://example/manifest.ttl#testeval00>
|
44
44
|
] .
|
45
45
|
|
46
|
-
_:
|
47
|
-
earl:
|
48
|
-
|
46
|
+
_:g70336025838220 a <http://www.w3.org/ns/rdftest#TestTurtleEval>,
|
47
|
+
earl:TestCase,
|
48
|
+
earl:TestCriterion;
|
49
49
|
rdfs:comment "@prefix and qnames";
|
50
50
|
mf:action <http://example/test-01.ttl>;
|
51
51
|
mf:name "subm-test-01";
|
@@ -57,13 +57,13 @@ _:g70287090109560 a earl:TestCase,
|
|
57
57
|
earl:outcome earl:untested
|
58
58
|
];
|
59
59
|
earl:subject <http://rubygems.org/gems/rdf-turtle>;
|
60
|
-
earl:test _:
|
60
|
+
earl:test _:g70336025838220
|
61
61
|
] .
|
62
62
|
|
63
63
|
# Test Subjects
|
64
64
|
|
65
|
-
<http://rubygems.org/gems/rdf-turtle> a
|
66
|
-
|
65
|
+
<http://rubygems.org/gems/rdf-turtle> a doap:Project,
|
66
|
+
earl:Software,
|
67
67
|
earl:TestSubject;
|
68
68
|
doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en;
|
69
69
|
doap:developer <http://greggkellogg.net/foaf#me>;
|
@@ -78,8 +78,8 @@ _:g70287090109560 a earl:TestCase,
|
|
78
78
|
|
79
79
|
# Report Generation Software
|
80
80
|
|
81
|
-
<http://rubygems.org/gems/earl-report> a
|
82
|
-
|
81
|
+
<http://rubygems.org/gems/earl-report> a doap:Project,
|
82
|
+
earl:Software;
|
83
83
|
doap:description "EarlReport generates HTML+RDFa rollups of multiple EARL reports"@en;
|
84
84
|
doap:developer <http://greggkellogg.net/foaf#me>;
|
85
85
|
doap:homepage <https://github.com/gkellogg/earl-report>;
|
@@ -90,6 +90,6 @@ _:g70287090109560 a earl:TestCase,
|
|
90
90
|
doap:shortdesc "Earl Report summary generator"@en .
|
91
91
|
|
92
92
|
<https://github.com/gkellogg/earl-report/tree/0.4.3> a doap:Version;
|
93
|
-
doap:created "2016-12-
|
93
|
+
doap:created "2016-12-28"^^xsd:date;
|
94
94
|
doap:name "earl-report-0.4.3";
|
95
95
|
doap:revision "0.4.3" .
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earl-report
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Kellogg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: linkeddata
|