feat(w3c): promote dynamic test harness, dashboard and modern CI to develop - #31
Merged
Merged
Conversation
…e lowercase() instead.
Refactoring of Corese-W3C to JUnit5
(cherry picked from commit 87e4242)
…orese_W3C 2 Add configuration to Corese-W3C
- Remove Main class and old test generator infrastructure - Delete static test implementations (RDF11, SPARQL, SHACL, RDFC10) - Clean up old test utilities and interfaces - Remove test report CSVs and obsolete README files - Update build.gradle.kts and .gitignore for new structure
Add new modular architecture for W3C test execution: - Model layer: * TestType enum for test categorization * W3cTestCase data model for test metadata - Loader layer: * W3cTestLoader for manifest parsing and test discovery * SPARQL-based test extraction from RDF manifests - Executor layer: * TestExecutor interface for test execution strategy * TestExecutorFactory for executor instantiation * RdfNegativeTestExecutor for negative syntax tests * RdfPositiveSyntaxTestExecutor for positive syntax tests * RdfPositiveEvaluationTestExecutor for eval tests - Utils layer: * TestFileManager for file caching and resource management * RdfFormatDetector for format detection * RDFTestUtils for RDF comparison utilities This architecture supports JUnit 5 @testfactory dynamic test generation.
Implement @TestFactory-based dynamic test classes: - Rdf11NQuadsDynamicTest: N-Quads syntax tests - Rdf11NTriplesDynamicTest: N-Triples syntax tests - Rdf11TrigDynamicTest: TriG syntax and eval tests - Rdf11TurtleDynamicTest: Turtle syntax and eval tests - Rdf11XmlDynamicTest: RDF/XML syntax and eval tests Each test class dynamically generates test cases from W3C manifests using the new dynamic test framework. Tests are discovered at runtime via W3cTestLoader and executed with appropriate TestExecutor instances.
Feature/junit5 dynamic tests
…Lint warnings - Add comprehensive unit tests in CsvTsvResultParserTest - Use dataset-level model isomorphism in SparqlUpdateEvaluationTestExecutor - Modularize manifest loading and test type mapping in W3cTestLoader - Address SonarLint issues (cognitive complexity, regex optimization, curly braces) - Remove accidental generated token artifact
…1-test-cases-to-w3c Feature/561 w3c add sparql 11 test cases to w3c
Use the original W3C query text for evaluation and syntax checks. Replace FROM-only rewriting with repository prepare overloads, preserving explicit BASE declarations without an ANTLR dependency. Requires the corese-core implementation of issue #562. No fixtures, expected results or test exclusions are modified.
fix(sparql): pass query document base IRIs through the public API
…rison fix(sparql): compare computed numeric values without hiding fixture errors
…fests - Traverse mf:entries RDF lists to map each test case to its specific sub-manifest - Resolve relative action/query/result URIs without falling back to hex blank nodes - Introduce NamedGraphData record for update evaluation dataset parsing - Replace swallowed exceptions with fail-fast IllegalStateException in W3cTestLoader - Define PROP_ACTION and PROP_RESULT constants to satisfy Sonar S1192
…w details - Normalize canonical W3C URLs to raw GitHub/W3C test suite fixtures - Handle sub-manifests and RDFa fixtures, avoiding erroneous .ttl extensions - Allow clicking table rows directly to open test details modal - Update baseline report with resolved sub-manifest fixture URIs
- Support dataUri extraction across SPARQL evaluation and update manifests - Include dataUri in TestReportEntry, TestReportCollector, and JsonReportWriter - Display test type, description, and data file links in the web dashboard modal - Harden W3cTestCase against invalid, blank, or self-resolving manifest URIs - Add unit tests for URI resolution edge cases in W3cTestCaseTest - Clean up test side effects and ensure isolated, idempotent test execution - Update baseline report with resolved dataUri fixtures
…tream agg anomalies
fix(harness): parse RDF/Turtle result sets for SPARQL ASK queries (#28)
…/MAX normalization
…seded by ComputedNumericResults
…d clean unused plugins
…rmance-polish feat(w3c): modernize dashboard, toolchain and consolidate exclusions policy
…xt instead of historical commit SHA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This PR promotes the complete W3C conformance suite modern overhaul from
feature/corese-nextintodevelop:@TestFactory), live manifest parsing, and official W3C conformance validation for SPARQL 1.0/1.1, Turtle, TriG, N-Triples, N-Quads, RDF/XML, JSON-LD 1.1, and RDF-Canon./), deep linking, 3-state theme toggle, accessible dialogs, and legal notices.docs/W3C_TEST_EXCLUSIONS.mdand EARL application profile specification underdocs/EARL_REPORT.md.w3c-report.jsonandearl-report.ttl, enforcing zero regressions against baseline, and deploying the dashboard to GitHub Pages.