Skip to content

test(baselibs): add feature integration tests covering baselibs libraries - #382

Draft
antonkri wants to merge 6 commits into
mainfrom
feat/baselibs-integration-tests
Draft

antonkri wants to merge 6 commits into
mainfrom
feat/baselibs-integration-tests

Conversation

@antonkri

@antonkri antonkri commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

What

Adds baselibs feature integration tests that verify the Eclipse S-CORE base libraries end-to-end on the deployed target image and reference the feat_req__baselibs__* feature requirements they cover, so the coverage surfaces in the platform verification report.

How

Follows the same pattern as the platform integration tests (#377):

  • On-target demo binary (feature_integration_tests/baselibs_integration_tests/demo) with one subcommand per baselibs feature library, each printing a deterministic line:
    • json → feat_req__baselibs__json_library
    • base64 → feat_req__baselibs__utils_library
    • bitmanip → feat_req__baselibs__bitmanipulation
    • crc32 → feat_req__baselibs__hash_library
    • containers → feat_req__baselibs__containers_library
    • result → feat_req__baselibs__result_library
  • py_itf_test suite :bit that drives the demo on the target and asserts the output. Each test is annotated via @add_test_properties(partially_verifies=[...]); the attribute_plugin records PartiallyVerifies into the JUnit XML, which docs-as-code's source code linker turns into testlink attributes on the referenced requirement needs.
  • The demo binary is bundled into //images/linux_x86_64:image.
  • A new test_and_docs step runs the suite before the documentation build so the source code linker picks up the results from bazel-testlogs (manual-tagged ITF tests are otherwise skipped by bazel test //...). A Docker Buildx setup step is added for the image deployment.

Coverage mechanism

The verification report's testlinks come from runtime JUnit XML ingestion. Running :bit in the same job, before the docs build, is what makes the feat_req__baselibs__* coverage appear in the baselibs feature section of the platform verification report.

Notes / open points

  • The full bazel test //feature_integration_tests/baselibs_integration_tests:bit requires the Linux OCI image build, which is currently blocked locally by a pre-existing, unrelated config_management BUILD issue (not introduced here). The demo binary, image tar, BUILD parsing, plugin wiring and formatting were all validated locally.
  • If chore(known_good): bump score_docs_as_code to preview the stakeholder requirements report #377 merges first, the Set up Docker Buildx step may need to be de-duplicated with the one that PR adds.

Draft for review.

…ries

Add baselibs feature integration tests that verify the Eclipse S-CORE base
libraries end-to-end on the deployed target image and reference the
feat_req__baselibs__* feature requirements they cover, so the coverage shows
up in the platform verification report.

- Add an on-target demo binary (feature_integration_tests/
  baselibs_integration_tests/demo) exposing one subcommand per baselibs
  feature library (json, utils/base64, bitmanipulation, hash/crc32,
  containers, result), each printing a deterministic line.
- Add a py_itf_test suite (:bit) that drives the demo on the target and
  asserts the output, annotated via @add_test_properties with the
  feat_req__baselibs__* needs. The attribute_plugin records PartiallyVerifies
  into the JUnit XML, which docs-as-code turns into testlink attributes.
- Bundle the demo binary into //images/linux_x86_64:image.
- Run the suite in the test_and_docs job before the documentation build so the
  source code linker picks up the test results from bazel-testlogs, mirroring
  the platform integration tests wiring.
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

Delete before merge. Proves the baselibs feature integration tests feed the platform verification report, which the pull_request_target pipeline cannot show pre-merge.
Add on-target subcommands and ITF tests for the concurrency, filesystem,
memory, static reflection and flatbuffers libraries, and extend the
containers and result tests to also partially verify abi_containers and
panic_free_development. Together with the existing tests this now covers
all 14 feat_req__baselibs__* feature requirements.
Remove the push-triggered baselibs coverage preview (its job was done) and
shorten the inline descriptions of the Docker Buildx and baselibs test steps.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant