diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 12:06:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 12:06:34 +0000 |
commit | 5e61585d76ae77fd5e9e96ebabb57afa4d74880d (patch) | |
tree | 2b467823aaeebc7ef8bc9e3cabe8074eaef1666d /src/util/lmdb_cache_test_1.sh | |
parent | Initial commit. (diff) | |
download | postfix-5e61585d76ae77fd5e9e96ebabb57afa4d74880d.tar.xz postfix-5e61585d76ae77fd5e9e96ebabb57afa4d74880d.zip |
Adding upstream version 3.5.24.upstream/3.5.24upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/util/lmdb_cache_test_1.sh')
-rw-r--r-- | src/util/lmdb_cache_test_1.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/util/lmdb_cache_test_1.sh b/src/util/lmdb_cache_test_1.sh new file mode 100644 index 0000000..f5d4767 --- /dev/null +++ b/src/util/lmdb_cache_test_1.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# Torture test: run update and purge operations in parallel processes. +# This will result in some purge operations not finding all entries, +# but the final sequential purge should eliminate all. + +set -e + +rm -f foo.lmdb +./dict_cache <<EOF +lmdb_map_size 20000 +cache lmdb:foo +EOF + +(./dict_cache <<EOF +cache lmdb:foo +update x ${1-10000} +run +update y ${1-10000} +purge x +run +purge y +run +EOF +) & + +(./dict_cache <<EOF +cache lmdb:foo +update a ${1-10000} +run +update b ${1-10000} +purge a +run +purge b +run +EOF +) & + +wait + +./dict_cache <<EOF +cache lmdb:foo +purge a +run +purge b +run +purge x +run +purge y +run +EOF + +../../bin/postmap -s lmdb:foo | diff /dev/null - + +rm -f foo.lmdb |