GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Tests and setup for 1.1 development by fsteeg · Pull Request #277 · jsonld-java/jsonld-java

Conversation

@fsteeg

@fsteeg fsteeg commented Dec 10, 2019

Copy link
Copy Markdown
Member

I suggest this to resolve #262.

I've been looking some more into what I mentioned in #265 (comment) and I think this is a good way to avoid both regressions while working on 1.1 features, and a long running 1.1 branch:

  • The original contribution by @RinkeHoekstra in 24a56c3 (This should fix issue #262 #265): switch to json-ld-api test suite
  • Add support for running the json-ld-framing test suite and the original 1.0 test suite (mvn test runs only the original 1.0 suite, mvn -Dtest=AllSuites test runs all 3 suites)
  • Add support for some 1.1 features (see commits for details, 0f439dc & 7aeae88 resolve Parsing breaks on JSON-LD 1.1 @version keyword. #263)

I think that with this setup, we can keep releasing from master whenever the build passes, while making available the 1.1 support that we currently have.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
RinkeHoekstra and others added 12 commits June 27, 2019 10:02
@RinkeHoekstra
This fixes issue jsonld-java#262:
24a56c3
* Included new JSON-LD tests in json-ld.org directory (perhaps rename this to something more W3C specific, as these are the latest tests from W3C)
* Starting from `manifest.jsonld` rather than all jsonld files in the test directory; then iterating of the the list of manifest files specified there.
@ansell
Merge branch 'master' into 1.1tests
f2e1b25
@fsteeg
Handle @version context entries
0f439dc
@fsteeg
Support jld:PositiveSyntaxTest
1fdedf6
@fsteeg
Include new keywords when skipping createTermDefinition
aff0124
@fsteeg
Support @container array syntax
c6b0098
@fsteeg
Support JSON literals
7aeae88
@fsteeg
Set up option to run the 1.0 test suite
3667d69
@fsteeg
Improve test outputs
5da74c2
@fsteeg
Set up option to run the json-ld-framing test suite
be1d45b
@fsteeg
Set up tests for multiple test suites and 1.1 development
71d8578
- Set up tests for json-ld-api, json-ld-framing, and json-ld-1.0
- Run only json-ld-1.0 suite in Maven build (by naming convention)
- Run all suites for development of 1.1 features (AllSuites.java)
@fsteeg
Some 1.1 tweaks
de835ee
@coveralls

coveralls commented Dec 10, 2019 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Coverage Status

Coverage increased (+1.06%) to 90.343% when pulling 6f1eb6c on fsteeg:1.1 into bbae6c3 on jsonld-java:master.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@fsteeg
Add setup for skipping tests
79fdafa
- Skip only failing tests to make sure we run 1.1 code paths in CI
- Use resolvable URLs in skip files, they can act like TODO lists
- Delete `*-skip` files to re-generate them during next test run

Now `mvn test` runs all tests that are not listed in the files.
@fsteeg

fsteeg commented Dec 11, 2019

Copy link
Copy Markdown
Member Author

Added setup for skipping tests in 79fdafa (before this, coverage went down, now it's up).

  • Skip only failing tests to make sure we run 1.1 code paths in CI
  • Use resolvable URLs in skip files, they can act like TODO lists
  • Delete *-skip files to re-generate them during next test run

Now mvn test runs all tests that are not listed in the files.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@fsteeg
fsteeg requested review from ansell and dr0i December 11, 2019 08:56
@dr0i
Minor additions
10ee2aa
- be more verbose in some error messages
- add some more comments pointing to the specs
- add a blank node condition according to spec 16.4
dr0i
dr0i approved these changes Dec 16, 2019
View reviewed changes
@dr0i

dr0i commented Dec 16, 2019

Copy link
Copy Markdown
Member

I think this is could be a good starting point to implement json-ld 1.1 step-by-step. What do you think @ansell ?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@fsteeg

fsteeg commented Jan 31, 2020

Copy link
Copy Markdown
Member Author

To clarify what this does compared to the current test setup in master:

  • Run all original 1.0/master tests (nothing skipped here)
  • Additionally run the lson-ld-api tests in test/resources/json-ld-api-tests
  • Additionally run the lson-ld-framing tests in test/resources/json-ld-framing-tests

For all of these:

  • If there is no reports/*-skip file (e.g. reports/json-ld-api-tests-skip), run all tests, writing failing tests URIs (e.g. https://w3c.github.io/json-ld-api/tests/compact-manifest.html#t0037) to a file
  • If there is such a file, skip all tests listed in that file
  • State of skipped tests in this branch is 0 (of 472) for 1.0, 366 (of 805) for 1.1-api, and 59 (of 86) for 1.1-framing

The propsed workflow towards 1.1 would be:

  • Merge this into master, keep releasing from master, because all current master tests still work
  • When implementing new 1.1 features, pick an entry from a skip file (e.g. https://w3c.github.io/json-ld-api/tests/compact-manifest.html#t0037 from 1.1-api), implement suport for that test case
  • Remove the reports/*-skip file, rerun tests to regenerate a (hopefully) smaller skip file, with less tests to skip, and commit changed skip file together with the implementation
valentinedwv reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

fsteeg added 5 commits March 23, 2020 14:24
@fsteeg
Update json-ld-api and json-ld-framing tests, document in README
48a6aa0
@fsteeg
Fix test setup to use correct base for 1.0 and 1.1 tests
0df8bfa
@fsteeg
Tweak test IDs for creating reports
97f7468
Run tests with `-Dreport.format=jsonld`, convert to ttl, then:
https://github.com/w3c/json-ld-api/blob/master/reports/README.md
@fsteeg
Merge branch 'master' into 1.1
033cf2d
See jsonld-java#279
@fsteeg
Update spec tests and report setup
6f1eb6c
For integration in https://w3c.github.io/json-ld-api/reports/
convert api and framing jsonld reports to single ttl file and then:
https://github.com/w3c/json-ld-api/blob/master/reports/README.md
@fsteeg
fsteeg force-pushed the 1.1 branch from 6096d8e to 6f1eb6c Compare April 9, 2020 09:58
@fsteeg

fsteeg commented Apr 9, 2020

Copy link
Copy Markdown
Member Author

A quick status update: I've pushed some tweaks to the tests and report setup, updated the tests and looked into integrating with https://w3c.github.io/json-ld-api/reports/ (see 6f1eb6c). With current spec tests and implementation (master + 1.1) we currently get this test suite compliance summary:

tests pass
Compaction 99/238 (41.6%)
Expansion 124/366 (33.9%)
Flattening 45/55 (81.8%)
Framing 26/89 (29.2%)
HTML 3/49 (6.1%)
Remote document 3/18 (16.7%)
Transform JSON-LD to RDF 178/442 (40.3%)
Transform RDF to JSON-LD 39/51 (76.5%)

I discussed our next steps with @dr0i and we think we should split up this branch/PR into two branches: one for the changes in the test setup only (1.1-tests) and one, branched off from the first, with implementation changes only (1.1). That way, we hope we'll avoid a giant, un-reviewable PR while working towards 1.1 compliance.

afs reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gkellogg

gkellogg commented Apr 9, 2020

Copy link
Copy Markdown

Any report would be a good start; you can always submit an update and we can regenerate the report.

Time permitting, I'll have a look at your code and offer some suggestions for improving conformance.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

fsteeg added a commit that referenced this pull request Apr 27, 2020
@fsteeg
Rerun tests without functional 1.1 commits from #277
cfc5d5e
This was referenced Apr 28, 2020
Tests and setup for 1.1 development #283
Merged
Current state of 1.1 development #284
Merged
@fsteeg

fsteeg commented Apr 28, 2020

Copy link
Copy Markdown
Member Author

Replaced by / moved to #283 & #284, closing.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@fsteeg fsteeg closed this Apr 28, 2020
@fsteeg fsteeg mentioned this pull request Mar 2, 2021
Added support for JSON-LD 1.1 @json @type #307
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@dr0i dr0i dr0i approved these changes
@ansell ansell Awaiting requested review from ansell

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Parsing breaks on JSON-LD 1.1 @version keyword. New W3C json-ld-api test structure does not run

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@fsteeg @coveralls @dr0i @gkellogg @RinkeHoekstra @ansell
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.