Repository navigation
feat: add KVS showcase example binaries - #573
Subramanian-K812 wants to merge 1 commit into
Conversation
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //:license-checkStatus: Click to expand output |
3c73bf0 to
9c3e900
Compare
|
Documentation preview for this pull request is available at: |
9c3e900 to
b492bd5
Compare
b492bd5 to
6981779
Compare
6981779 to
9f11e39
Compare
There was a problem hiding this comment.
new examples (or when we touch them) we should introduce in the top level examples folder of the repo and they should have a own "bazel setup" (bazelrc / MODULE.bazel) see for example https://github.com/eclipse-score/baselibs/blob/main/examples/integration/MODULE.bazel#L14
- more a "real world" example showing the usage and the integration of the module
- if code stays in the score folder it is considered for coverage measures and testing aso and need to fullfil all quality needs (which might be overkill sometimes)
9f11e39 to
0b17a90
Compare
Hi @umaucher, I believe examples could stay as public targets that can be called to demonstrate basic functionality. This is also what we are using for the showcases in reference_integration repository. The code is not in Currently we have mixed approach some modules create examples, other standalone module, others have I think even module template is out of sync, as the repo https://github.com/eclipse-score/module_template has The goal is to make it usable in https://eclipse-score.github.io/reference_integration/main/integration_process/step_4_platforms.html#add-a-runtime-showcase which for persistency is currently missing. @Subramanian-K812 - please check if baselibs-like approach can be loaded as showcase without any patches and used in ref_int. |
Summary
Part of eclipse-score/reference_integration#229
Adds two runnable showcase binaries for the KVS module. These will be consumed by a subsequent
reference_integrationPR that packages them into the platform image viascore_pkg_bundleandruns them as platform integration tests.
What's changed
src/rust/rust_kvs/examples/kvs_persist_reload.rssrc/rust/rust_kvs/examples/kvs_default_values.rsreset_keyrecoverysrc/rust/rust_kvs/examples/BUILDrust_binarytargetsShowcases
KVS Persist and Reload — opens a KVS instance, writes three values of different types
(
i32,String,bool), flushes to disk, drops the instance, reopens with the sameInstanceIdfrom the same directory, and asserts all values are intact. Demonstrates thewrite → flush → reopen API pattern that backs non-volatile storage.
KVS Default Values — writes a defaults file with factory values, opens a KVS instance with
KvsDefaults::Required, reads defaults, overrides one key, verifiesis_value_defaultflips,calls
reset_key, and verifies recovery to the factory value. Demonstrates the defaultsmechanism that differentiates KVS from a plain config store.
Visibility is
//visibility:publicso the downstreamreference_integrationscore_pkg_bundlecan reference
@score_persistency//src/rust/rust_kvs/examples:kvs_persist_reloadand@score_persistency//src/rust/rust_kvs/examples:kvs_default_values.