Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Profile resolution unit tests and specification updates #1219

Conversation

wendellpiez
Copy link
Contributor

Committer Notes

Includes WIP unit tests for end-to-end profile resolution unit tests, with bindings to current draft specification.

This PR will address #1076.

Includes:

  • New copy of XML Profile Resolution spec, to be merged
    • Includes markup for test bindings - each requirement can be assigned one or more test examples (I/O)
  • Updates to SpecML (schema, CSS, XSLTs)
  • Tooling, including autogeneration of XSpec files from SpecML
    • These XSpecs can be executed, and index test examples to requirements
  • Examples of functional tests showing correct functionality (in the XSLT profile resolver in this branch)

Still to do (for this or a later PR):

All Submissions:

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you included examples of how to use your new feature(s)?
  • Have you updated all OSCAL website and readme documentation affected by the changes you made? Changes to the OSCAL website can be made in the docs/content directory of your branch.

@wendellpiez wendellpiez marked this pull request as draft April 28, 2022 20:54
@wendellpiez wendellpiez marked this pull request as ready for review May 10, 2022 12:37
@wendellpiez wendellpiez force-pushed the profile-resolution-update-v1d branch from f2aedd0 to 819367c Compare May 31, 2022 16:56
@david-waltermire david-waltermire changed the base branch from develop to feature-profile-resolution-unittesting May 31, 2022 16:56
@david-waltermire david-waltermire merged commit f5353c4 into usnistgov:feature-profile-resolution-unittesting May 31, 2022
@david-waltermire david-waltermire deleted the profile-resolution-update-v1d branch May 31, 2022 16:59
david-waltermire pushed a commit to david-waltermire/OSCAL that referenced this pull request Jul 25, 2022
* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing
david-waltermire pushed a commit that referenced this pull request Jul 25, 2022
* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing
aj-stein-nist pushed a commit that referenced this pull request Apr 7, 2023
* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing
aj-stein-nist pushed a commit that referenced this pull request Apr 7, 2023
* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing
aj-stein-nist pushed a commit that referenced this pull request Apr 19, 2023
* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing
aj-stein-nist added a commit that referenced this pull request Apr 21, 2023
* Profile resolution unit tests and specification updates (#1219)

* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing

* Adding XSLT provisionally to produce a unit testing harness after @david-waltermire-nist model, with example and schema; also cleanup

* Removed working file included by accident

* More unit tests with edits to spec for tracking.

* Catching up various outstanding profile resolution work

* Small update to oXygen setup

* Update metaschema submodule to existing commit.

* Move up Metaschema submodule

Prior work on pushing up the XSpec dependency and pulling in other
file relocation improvements were merged and it appears I pushed the
wrong commit into this branch and inadvertently led to more confusion
where builds failed in current version of #1754.

* XSpec test suites script & CI (#1754)

* XSpec test suites script & CI

* Helper script to build and tag the OSCAL env

* Move up Metaschema submodule

Prior work on pushing up the XSpec dependency and pulling in other
file relocation improvements were merged and it appears I pushed the
wrong commit into this branch and inadvertently led to more confusion
where builds failed in current version of #1754.

* Save XSpec test summary + pull appropriate tag

* Escape TEST_SUITE in XSpec runner

Co-authored-by: A.J. Stein <[email protected]>

* Update test script to address shellcheck guidance

* Grab branch from GHA

* Fix for builds on the M1

---------

Co-authored-by: A.J. Stein <[email protected]>

* Fixed logic for when a tag does not exist

---------

Co-authored-by: Wendell Piez <[email protected]>
Co-authored-by: A.J. Stein <[email protected]>
aj-stein-nist added a commit to aj-stein-nist/OSCAL-forked that referenced this pull request Jun 29, 2023
* Profile resolution unit tests and specification updates (usnistgov#1219)

* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing

* Adding XSLT provisionally to produce a unit testing harness after @david-waltermire-nist model, with example and schema; also cleanup

* Removed working file included by accident

* More unit tests with edits to spec for tracking.

* Catching up various outstanding profile resolution work

* Small update to oXygen setup

* Update metaschema submodule to existing commit.

* Move up Metaschema submodule

Prior work on pushing up the XSpec dependency and pulling in other
file relocation improvements were merged and it appears I pushed the
wrong commit into this branch and inadvertently led to more confusion
where builds failed in current version of usnistgov#1754.

* XSpec test suites script & CI (usnistgov#1754)

* XSpec test suites script & CI

* Helper script to build and tag the OSCAL env

* Move up Metaschema submodule

Prior work on pushing up the XSpec dependency and pulling in other
file relocation improvements were merged and it appears I pushed the
wrong commit into this branch and inadvertently led to more confusion
where builds failed in current version of usnistgov#1754.

* Save XSpec test summary + pull appropriate tag

* Escape TEST_SUITE in XSpec runner

Co-authored-by: A.J. Stein <[email protected]>

* Update test script to address shellcheck guidance

* Grab branch from GHA

* Fix for builds on the M1

---------

Co-authored-by: A.J. Stein <[email protected]>

* Fixed logic for when a tag does not exist

---------

Co-authored-by: Wendell Piez <[email protected]>
Co-authored-by: A.J. Stein <[email protected]>
aj-stein-nist added a commit to aj-stein-nist/OSCAL-forked that referenced this pull request Jul 10, 2023
* Profile resolution unit tests and specification updates (usnistgov#1219)

* Updates to tests including whitespace scrub test
* Adding oXygen project
* Integration work on specs and unit tests / XSLT and Schematron
* Profile resolution testing infrastructure, plus some tests
* Some test files with expected results
* Updated and improved XSpec generation and tests - now driven directly from SpecML source
* Adjusted gitignore; extended spec with more bindings; illustrator XSLT
* Added XSLT producing Markdown summary of requirements w/ examples; updates
* Added a small utility for converting JSON "prop" fields to "props" fields (emended 1.0.2 syntax)
* Updated to Profile Resolution spec (with example files now tagged) and readme.md
* Updated profile resolution (spec) readme with clarification regarding unit testing

* Adding XSLT provisionally to produce a unit testing harness after @david-waltermire-nist model, with example and schema; also cleanup

* Removed working file included by accident

* More unit tests with edits to spec for tracking.

* Catching up various outstanding profile resolution work

* Small update to oXygen setup

* Update metaschema submodule to existing commit.

* Move up Metaschema submodule

Prior work on pushing up the XSpec dependency and pulling in other
file relocation improvements were merged and it appears I pushed the
wrong commit into this branch and inadvertently led to more confusion
where builds failed in current version of usnistgov#1754.

* XSpec test suites script & CI (usnistgov#1754)

* XSpec test suites script & CI

* Helper script to build and tag the OSCAL env

* Move up Metaschema submodule

Prior work on pushing up the XSpec dependency and pulling in other
file relocation improvements were merged and it appears I pushed the
wrong commit into this branch and inadvertently led to more confusion
where builds failed in current version of usnistgov#1754.

* Save XSpec test summary + pull appropriate tag

* Escape TEST_SUITE in XSpec runner

Co-authored-by: A.J. Stein <[email protected]>

* Update test script to address shellcheck guidance

* Grab branch from GHA

* Fix for builds on the M1

---------

Co-authored-by: A.J. Stein <[email protected]>

* Fixed logic for when a tag does not exist

---------

Co-authored-by: Wendell Piez <[email protected]>
Co-authored-by: A.J. Stein <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants