Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
implement 'ReadAttribute' inside the
codegen-data-model
IM/DM split (…
…#33877) * Initial copy with a clean history * make linter happy * Restyle * Fix typo * Add nolint: assert will return before we use the underlying value * 2 more fixes regarding unchecked access * Switch some asserts to expects, for better test logic * Start implementing a read ... wip while I switch to a few other tests * More implementation and we seem to need privilege check as well * More mock ember functions implemented, to make it at least link for now * A bit of work on AAI support. Still need to split out global attribute readers * Split out global AAI...for now * Add global attribute access interface as part of ember data model definitions ... they seem needed * Drop RequiredPrivilegeStubs ... those are odd and if you use mock ember you may as well mock these out as well * Restyle * Added sufficient overrides for things to compile ... this is a MESS * Some more changes to compile * Things link now ... but boy do we have many workarounds... * Remove double return * Restyle * Full ember handling * Comment updates and slight restyle * remove commented out code * Remove read-state from arguments - attributevalueencoder maintains its own state, so we should not duplicate things at this time * more comments and some logic cleanup on alternatives ... code should be less broken now * clean one more comment that seemed odd * Fix off by one bug for long strin processing * More generics * Split out io storage and type conversion as shared functions for ember-compatibility * Restyle * Added more comments * Fix lint errors ... these files are not in libraries since they depend on metadata * Restyle * Fix the access denied error logic ... the translation to UnsupportedAccess is to be done by the caller at a later time, since caller may skip * Shorter code is better * Some comments, cleaner code * Fix auto-include * add some TODO because access control is needed * Model renames * Add renamed files * Add some attribute iteration hint * Make use of the attribute cache * Restyle * Add a cluster iteration hint * Add a few more hints. Ember code still contains loops though, so this may not be ideal still * Add some TODO items for using faster iterations for data. Ember index vs value duality still needs some work * Add a cluster type cache as well. This relies on ember being reasonably static * Add global attribute handling * Fix typing u16 vs unsigned * Unit test preparation: make ACL pass and have an ACL test as well * Some progress in testability. No mock reads, however at least some progress * Make some unit tests pass with ember overrides * Restyle * Attempt to decode data. It does NOT work yet * Validation actually passes * Start splitting into unrelated files ...this is painful * Restyle * Better test namespacing - be consistent * Re-organize a bit ... boilerplate still seems A LOT * Minor comments to start organizing the code better - I NEED more readable things * Restyle and re-organize for readability * More code changes to support testing strings ... however this FAILS right now * Restyle * Fix a typo ... still broken though * one more typo fix ... test passes * Long octet string test as well * Restyle * Fix comment and change the size of the string * Add several ember-specific tests * unit tests and working with nullable values * Fix up the tests * Restyle * AAI unit test for read * Slight comment updates * Restyle * Use StringBuilderAdapters to format chip_error nicely * Format * More unit tests for lists ... test overflow as well * Add test support for partially encoded lists * add missing file * Fix name shadowing * Fix auto-added include names * Test global attribute read via AAI * More unit test coverage * Test nullable string reads * One more test for error pahs * More failure cases on failure path * Restyle * Remove back the initialization and make the comment more obvious * Undo odd include that got auto-added * Place files back past renames * A bit more renaming * Fix includes * More updates to the latest code * Fix unit test merging * Resolve data model ambiguity * Restyle * Do not try to compile ember tests on zephyr as it is not compatible with single large executable * Update placement and comment for including codegen test into one large binary * Restyle * Add static cast for ember calls for span sizes ... we know we are less than 65K * Fix clang-tidy error report * Restyle * Do not try to translate UnsupportedRead * Typo fixes * Code review feedback: correct the return code for global attribute missing the cluster * Some spelling updates and format * ChipDie if internal logic for read fails * Fix typo * Add unit test for invalid global attribute read * Code review feedback: comment about internal flags and implement path expansion logic for skipping data encoding * Restyle and unit test for expansion * Another unit test for AAI this time for unsupported read * Restyle * Update src/app/codegen-data-model/tests/TestAttributeReportIBsEncoding.cpp Co-authored-by: Boris Zbarsky <bzbarsky@apple.com> * Rename files to not have a Test prefix when not containing tests * Add comment as per review comment * Use macros for error returns * Fix typo * Add a macro for dynamic global IM status codes in chip_error * Reference issue in comment * Fix comment a bit * Undo module updates ... this time for real --------- Co-authored-by: Andrei Litvin <andreilitvin@google.com> Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
- Loading branch information