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

JSII compliance suite baseline mechanisms #2441

Closed
MrArnoldPalmer opened this issue Jan 20, 2021 · 1 comment · Fixed by #2607
Closed

JSII compliance suite baseline mechanisms #2441

MrArnoldPalmer opened this issue Jan 20, 2021 · 1 comment · Fixed by #2607
Assignees
Labels
blocked Work is blocked on this issue for this codebase. Other labels or comments may indicate why. effort/medium Medium work item – a couple days of effort feature-request A feature should be added or improved. p2

Comments

@MrArnoldPalmer
Copy link
Contributor

MrArnoldPalmer commented Jan 20, 2021

Define a way to extract the list of test cases from the current java compliance suite for reuse in other languages. Consume this list of test cases from each language test suite and verify all cases are covered. Produce a compliance report for each language during repository build + test.

Ideally publish this report as part of the JSII docs site.

Implementation Plan

(1) Compliance SOT

Make sure we have a single source of truth for all required tests. We will bootstrap by extracting the current Java compliance tests.

To accomplish this we need the following validations:

  • A test added to the compliance suite definition must be implemented in all language bindings.
  • A test added directly to a language specific compliance suite, must be added to the generic compliance suite definition.

Exclusion mechanisms will be added as needed when we see the use-cases.

(2) Report Generation

On build, generate a compliance report for each language in a known location, and aggregate into a single report. The aggregated report is pushed into source control and used in the JSII docs site.

  • Add an anti-temper check on that report.

(3) New Language Intake

Create a procedure for adding a compliance suite for a new language.

  • Create a new package (e.g golang-runtime-test)
  • Enforce package generates our standard report at build time.
@MrArnoldPalmer MrArnoldPalmer added feature-request A feature should be added or improved. effort/medium Medium work item – a couple days of effort p2 labels Jan 20, 2021
@MrArnoldPalmer MrArnoldPalmer changed the title Go Compliance Test Suite JSII compliance suite baseline mechanisms Feb 11, 2021
@MrArnoldPalmer MrArnoldPalmer added the blocked Work is blocked on this issue for this codebase. Other labels or comments may indicate why. label Feb 11, 2021
@github-actions
Copy link
Contributor

github-actions bot commented Mar 3, 2021

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Work is blocked on this issue for this codebase. Other labels or comments may indicate why. effort/medium Medium work item – a couple days of effort feature-request A feature should be added or improved. p2
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants