Skip to content

Commit

Permalink
functional/rdm_atomic: add data validation
Browse files Browse the repository at this point in the history
Add data validation to the atomic test by using the newly added atomic fill and check
support imported from ubertest. This code uses a macro that switches on datatype for
filling and checking the buffer contents.

The atomic validation path requires an extra buffer to copy the contents of the original
atomic buffer in order to recreate the atomic function locally and check the buffer against
the simulated atomic operation.

This patch also refactors the entire test to remove the extremely confuctin macros used
for the base/fetch/compare operations. The macros made the code extremely difficult to
read and debug and also made it difficult to add data validation. Separating it into
three explicit functions is about the same amount of code and significantly more readable

Synchronization messages are added in the validation case to ensure the atomic operation
completed on both sides before validation occurs. This requires the addition of the
FI_ORDER_SAW and FI_ORDER_SAR message ordering to ensure that we get the completion for
the send/recv sync after the atomic message is processed

Signed-off-by: Alexia Ingerson <[email protected]>
  • Loading branch information
aingerson committed Sep 19, 2024
1 parent 7232814 commit 881fdf5
Show file tree
Hide file tree
Showing 2 changed files with 195 additions and 113 deletions.
Loading

0 comments on commit 881fdf5

Please sign in to comment.