Skip to content

Commit

Permalink
batch: Fix DeleteKeyBatch
Browse files Browse the repository at this point in the history
when dealing with partial deletion, more context on aquasecurity#162

Signed-off-by: Francisco Javier Honduvilla Coto <javierhonduco@gmail.com>
  • Loading branch information
javierhonduco committed Aug 3, 2022
1 parent 60eea00 commit ad4efab
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion selftest/map-batch/main.go
Expand Up @@ -103,7 +103,12 @@ func main() {
}

// Test batch delete.
testerMap.DeleteKeyBatch(unsafe.Pointer(&keys[0]), uint32(len(keys)-1))
// Trying to delete more keys than we have.
err = testerMap.DeleteKeyBatch(unsafe.Pointer(&keys[0]), uint32(len(keys)+100))
if err != nil {
fmt.Fprintf(os.Stderr, "testerMap.DeleteKeyBatch was expected to not fail")
os.Exit(-1)
}

// Ensure value is no longer there.
_, err = testerMap.GetValue(unsafe.Pointer(&keys[0]))
Expand All @@ -112,6 +117,20 @@ func main() {
os.Exit(-1)
}

// Re-add deleted entries.
if err := testerMap.UpdateBatch(unsafe.Pointer(&keys[0]), unsafe.Pointer(&values[0]), uint32(len(keys))); err != nil {
fmt.Fprintf(os.Stderr, "testerMap.UpdateBatch failed: %v", err)
os.Exit(-1)
}

// Test batch delete.
// Trying to delete fewer or equal keys than we have.
err = testerMap.DeleteKeyBatch(unsafe.Pointer(&keys[0]), uint32(len(keys)-1))
if err != nil {
fmt.Fprintf(os.Stderr, "testerMap.DeleteKeyBatch was expected to not fail")
os.Exit(-1)
}

// Test batch lookup and delete when requesting more elements than are in the map.
deleteKeys = make([]uint32, 3)
nextKey = uint32(0)
Expand Down

0 comments on commit ad4efab

Please sign in to comment.