]>
Commit | Line | Data |
---|---|---|
ac718c9d BP |
1 | AT_BANNER([lockfile unit tests]) |
2 | ||
7acb0553 GS |
3 | # CHECK_LOCKFILE([test-name], [number-children], [error-message] |
4 | # [skip-test-windows]) | |
ac718c9d BP |
5 | m4_define([CHECK_LOCKFILE], |
6 | [AT_SETUP([m4_translit([$1], [_], [ ])]) | |
7acb0553 | 7 | m4_if([$4], [yes], [AT_SKIP_IF([test "$IS_WIN32" = "yes"])]) |
ac718c9d | 8 | AT_KEYWORDS([lockfile]) |
eadd1644 | 9 | AT_CHECK([ovstest test-lockfile $1], [0], [$1: success (m4_if( |
ac718c9d | 10 | [$2], [1], [$2 child], [$2 children])) |
45f1a0d9 BP |
11 | ], [stderr]) |
12 | AT_CHECK([sed 's/pid [[0-9]]*/pid <pid>/' stderr], [0], [$3]) | |
ac718c9d BP |
13 | AT_CLEANUP]) |
14 | ||
15 | CHECK_LOCKFILE([lock_and_unlock], [0]) | |
db90f940 | 16 | |
ac718c9d | 17 | CHECK_LOCKFILE([lock_and_unlock_twice], [0]) |
db90f940 BP |
18 | |
19 | CHECK_LOCKFILE([lock_blocks_same_process], [0], | |
607bfcb5 | 20 | [lockfile|WARN|.file.~lock~: cannot lock file because this process has already locked it |
db90f940 BP |
21 | ]) |
22 | ||
23 | CHECK_LOCKFILE([lock_blocks_same_process_twice], [0], | |
607bfcb5 BP |
24 | [lockfile|WARN|.file.~lock~: cannot lock file because this process has already locked it |
25 | lockfile|WARN|.file.~lock~: cannot lock file because this process has already locked it | |
db90f940 BP |
26 | ]) |
27 | ||
28 | CHECK_LOCKFILE([lock_blocks_other_process], [1], | |
29 | [lockfile|WARN|.file.~lock~: child does not inherit lock | |
45f1a0d9 | 30 | lockfile|WARN|.file.~lock~: cannot lock file because it is already locked by pid <pid> |
7acb0553 | 31 | ], [yes]) |
db90f940 BP |
32 | |
33 | CHECK_LOCKFILE([lock_twice_blocks_other_process], [1], | |
607bfcb5 | 34 | [lockfile|WARN|.file.~lock~: cannot lock file because this process has already locked it |
db90f940 | 35 | lockfile|WARN|.file.~lock~: child does not inherit lock |
45f1a0d9 | 36 | lockfile|WARN|.file.~lock~: cannot lock file because it is already locked by pid <pid> |
7acb0553 | 37 | ], [yes]) |
db90f940 | 38 | |
7acb0553 | 39 | CHECK_LOCKFILE([lock_and_unlock_allows_other_process], [1], [], [yes]) |
db90f940 BP |
40 | |
41 | CHECK_LOCKFILE([lock_multiple], [0], | |
607bfcb5 | 42 | [lockfile|WARN|.a.~lock~: cannot lock file because this process has already locked it |
db90f940 BP |
43 | ]) |
44 | ||
45 | CHECK_LOCKFILE([lock_symlink], [0], | |
607bfcb5 BP |
46 | [lockfile|WARN|.a.~lock~: cannot lock file because this process has already locked it |
47 | lockfile|WARN|.b.~lock~: cannot lock file because this process has already locked it | |
48 | lockfile|WARN|.b.~lock~: cannot lock file because this process has already locked it | |
49 | lockfile|WARN|.a.~lock~: cannot lock file because this process has already locked it | |
7acb0553 | 50 | ], [yes]) |
db90f940 BP |
51 | |
52 | CHECK_LOCKFILE([lock_symlink_to_dir], [0], | |
607bfcb5 | 53 | [lockfile|WARN|dir/.b.~lock~: cannot lock file because this process has already locked it |
7acb0553 | 54 | ], [yes]) |