From 1db3a302e91faedca5fa51330eb80404b8909993 Mon Sep 17 00:00:00 2001 From: Adrian Hunter Date: Mon, 22 Oct 2007 14:06:07 +0300 Subject: fs-tests: make integrity test shrink better Signed-off-by: Adrian Hunter --- tests/fs-tests/integrity/integck.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c index 753a317..3da4bac 100644 --- a/tests/fs-tests/integrity/integck.c +++ b/tests/fs-tests/integrity/integck.c @@ -1211,7 +1211,7 @@ static void operate_on_open_file(struct fd_info *fdi) size_t r; r = tests_random_no(1000); - if (shrink && r == 0) + if (shrink && r < 5) file_truncate(fdi->file, fdi->fd); else if (r < 21) file_close(fdi); @@ -1227,6 +1227,17 @@ static void operate_on_an_open_file(void) size_t r; struct open_file_info *ofi; + /* When shrinking, close all open files 1 time in 128 */ + if (shrink) { + static int x = 0; + + x += 1; + x &= 127; + if (x == 0) { + close_open_files(); + return; + } + } /* Close any open files that have errored */ ofi = open_files; while (ofi) { -- cgit v1.2.3