Skip to content

Findings from porting to rust

David Gregorczyk requested to merge feature/#14_biceps_bugs_and_design into develop
  • RemoteMdibAccess has a static mdibversion. Is fine for MdStateVersion and MdDescriptionVersion I think, since this is just not properly transmitted anyway.
  • RemoteMdibAccessImplTest.`fail on insertion of existing handles`() doesn't test anything, exceptions must be expected
  • RemoteMdibAccessImplTest.`fail on handle duplication`() doesn't test anything, exceptions must be expected
  • MdibDescriptionModifications.addAll() can cause inconsistent modifications. It should really do a consistency check for both for duplicates within the input as well as duplicates in the already added modifications before adding the modifications, instead of every modification independently and in order, like it does now.
  • Calling preprocessing segments with a list and an index of the current element is kinda messy
  • LocalMdibAccessImpl is tracking the current MdState and MdDescription versions, but so is the MdibStorage inside, duplicating the data needlessly
  • DuplicateChecker contains a Set which isn't used
  • HandleReferenceHandler is more likely to mask application errors than do any good. Kotlin data model doesn't allow "null" HandleRefs, which was what made this useful in ri. A mismatch detection seems more reasonable.
  • VersionHandler preprocessing segment directly writes to storage when updating parent versions, but this doesn't generate events for the change subscriptions, which hides changes and will cause incomplete description modification reports. Affects ri as well.

Do you have any hints regarding significant unit test a BICEPS implementation shouldn't miss?

Edited by David Gregorczyk

Merge request reports