Add FIT persistency scenarios: supported datatypes#220
Open
Subramanian-K812 wants to merge 8 commits intoeclipse-score:mainfrom
Open
Add FIT persistency scenarios: supported datatypes#220Subramanian-K812 wants to merge 8 commits intoeclipse-score:mainfrom
Subramanian-K812 wants to merge 8 commits intoeclipse-score:mainfrom
Conversation
… and TestFullReset
c88e37a to
af5733f
Compare
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.
Implements feature integration tests verifying persistency requirements for KVS datatype
support, default value loading, and reset-to-default behaviour. Both Rust and C++ scenario
implementations are provided with full parity.
New test scenarios (Rust + C++):
persistency.supported_datatypes.all_value_types— verify all nine KVS value types(i32, u32, i64, u64, f64, bool, str, arr, obj) coexist in a single flushed snapshot
persistency.supported_datatypes.all_types_utf8— verify all value types stored underASCII, emoji, and Greek key names are all present in a single snapshot
persistency.default_values.checksum— verify adler32 hash file is written and matchesthe snapshot bytes after flush
persistency.default_values.partial_override— verify only the explicitly written keyappears in the snapshot when a defaults file provides more keys
persistency.default_values.get_default_value— verify get_value returns the defaultvalue for a key provisioned via the defaults file but never explicitly set
persistency.default_values.selective_reset— verify reset_key on even-indexed keysreverts them to absent while odd-indexed keys keep their override values
persistency.default_values.full_reset— verify reset() clears all written keys andthat keys written after reset are correctly persisted
persistency.default_values_ignored— verify KVS ignores defaults when configured withKvsDefaults::Ignored
persistency.utf8_defaults— verify UTF-8 encoded keys with provisioned defaults load,report default state, and accept overrides correctly
persistency.utf8_default_value_get— verify get_default_value retrieves the correctvalue for a UTF-8 emoji key provisioned via the defaults file
persistency.multi_instance_isolation— verify that default values loaded for one KVSinstance do not leak into a second instance sharing the same working directory
persistency.reset_to_default— verify reset_to_default persists correct values andleaves other keys unchanged
Scenarios
Rust & C++ (parity implementations)
persistency.supported_datatypes.all_value_typesTestAllValueTypestest_datatype_support.pypersistency.supported_datatypes.all_types_utf8TestAllTypesWithUtf8Keystest_combined_requirements.pypersistency.default_values_ignoredTestDefaultValuesIgnoredtest_default_values.pypersistency.default_values.checksumTestDefaultValuesChecksumtest_default_values.pypersistency.default_values.checksumTestDefaultValuesMissingDefaultsFiletest_default_values.pypersistency.default_values.checksumTestDefaultValuesMalformedDefaultsFiletest_default_values.pypersistency.default_values.checksumTestOptionalModeWithoutDefaultstest_default_values.pypersistency.default_values.partial_overrideTestPartialOverrideSnapshottest_combined_requirements.pypersistency.default_values.get_default_valueTestGetDefaultValuetest_default_values.pypersistency.default_values.selective_resetTestSelectiveResettest_default_values.pypersistency.default_values.full_resetTestFullResettest_default_values.pypersistency.utf8_defaultsTestUtf8KeysWithDefaultstest_combined_requirements.pypersistency.utf8_default_value_getTestUtf8DefaultValueGettest_combined_requirements.pypersistency.multi_instance_isolationTestMultiInstanceDefaultIsolationtest_default_values.pypersistency.reset_to_defaultTestResetToDefaulttest_reset_to_default.pyRequirements Traceability
TestAllValueTypesfeat_req__persistency__support_datatype_valuefeat_req__persistency__support_datatype_keysfeat_req__persistency__store_dataTestAllTypesWithUtf8Keysfeat_req__persistency__support_datatype_keysfeat_req__persistency__support_datatype_valuefeat_req__persistency__store_dataTestDefaultValuesIgnoredfeat_req__persistency__default_valuesfeat_req__persistency__default_value_getTestDefaultValuesChecksumfeat_req__persistency__default_valuesTestDefaultValuesMissingDefaultsFilefeat_req__persistency__default_valuesfeat_req__persistency__default_value_fileTestDefaultValuesMalformedDefaultsFilefeat_req__persistency__default_valuesfeat_req__persistency__default_value_fileTestOptionalModeWithoutDefaultsfeat_req__persistency__default_valuesfeat_req__persistency__default_value_filefeat_req__persistency__store_dataTestPartialOverrideSnapshotfeat_req__persistency__default_valuesfeat_req__persistency__default_value_filefeat_req__persistency__store_dataTestGetDefaultValuefeat_req__persistency__default_value_getfeat_req__persistency__default_valuesfeat_req__persistency__default_value_fileTestSelectiveResetfeat_req__persistency__reset_to_defaultfeat_req__persistency__default_valuesfeat_req__persistency__default_value_filefeat_req__persistency__store_dataTestFullResetfeat_req__persistency__reset_to_defaultfeat_req__persistency__default_valuesfeat_req__persistency__default_value_filefeat_req__persistency__store_dataTestUtf8KeysWithDefaultsfeat_req__persistency__support_datatype_keysfeat_req__persistency__default_valuesfeat_req__persistency__default_value_fileTestUtf8DefaultValueGetfeat_req__persistency__default_value_getfeat_req__persistency__support_datatype_keysTestMultiInstanceDefaultIsolationfeat_req__persistency__default_valuesfeat_req__persistency__multiple_kvsTestResetToDefaultfeat_req__persistency__reset_to_default