diff --git a/tests/check_fs_dents.c b/tests/check_fs_dents.c index 25d9c93..cc1a963 100644 --- a/tests/check_fs_dents.c +++ b/tests/check_fs_dents.c @@ -42,10 +42,11 @@ struct check_item { int id; unsigned flags; + int ref; }; // Forward declaration start -static int dent_check (int, struct check_item *, int const *, int, int); +static int dent_check (int, struct check_item *, int, int); static int dent_delete (int, struct check_item *); static int dent_new (int, struct check_item *); static int dent_permute (int, struct check_item *, struct check_item *); @@ -55,8 +56,7 @@ static int do_check_fs_dents (int, int); static int dent_check ( int dirfd, - struct check_item *item, - int const *map, + struct check_item *items, int n, int ignore_dirty ) { @@ -81,7 +81,7 @@ dent_check ( if (id < 0 || id >= n) { return -1; } - struct check_item *found = item + map[id]; + struct check_item *found = items + items[id].ref; if (found->flags & (ITEM_DELETED | ITEM_MARKED)) { return -1; } @@ -95,14 +95,14 @@ dent_check ( found->flags |= ITEM_MARKED; } - for (last_found = item + n; item < last_found; ++item) { - if (ignore_dirty && item->flags & ITEM_DIRTY) { + for (last_found = items + n; items < last_found; ++items) { + if (ignore_dirty && items->flags & ITEM_DIRTY) { continue; } - if (!(item->flags & (ITEM_DELETED | ITEM_MARKED))) { + if (!(items->flags & (ITEM_DELETED | ITEM_MARKED))) { return -1; } - item->flags &= ~ITEM_MARKED; + items->flags &= ~ITEM_MARKED; } return 0; } @@ -176,10 +176,10 @@ dent_permute ( } struct check_item item_tmp = *item1; - *item1 = *item2; - *item2 = item_tmp; - item1->flags |= ITEM_DIRTY; - item2->flags |= ITEM_DIRTY; + item1->id = item2->id; + item1->flags = item2->flags | ITEM_DIRTY; + item2->id = item_tmp.id; + item2->flags = item_tmp.flags | ITEM_DIRTY; return 0; } @@ -192,15 +192,14 @@ do_check_fs_dents ( #define ASSERT_NE(val, expr) ASSERT_EXPR_INT(expr, r_, (val) != r_, goto end;) struct check_item *items = calloc(n, sizeof(struct check_item)); - int *map = malloc(sizeof(int) * n); - if (items == NULL || map == NULL) { + if (items == NULL) { return -1; } int status = -1; for (int i = 0; i < n; ++i) { struct check_item *item = items + i; - map[i] = item->id = i; + item->ref = item->id = i; ASSERT_EQ(0, dent_new(dirfd, item)); } @@ -219,20 +218,19 @@ do_check_fs_dents ( continue; } ASSERT_EQ(0, dent_permute(dirfd, i1, i2)); - map[i1->id] = i1 - items; - map[i2->id] = i2 - items; + items[i1->id].ref = i1 - items; + items[i2->id].ref = i2 - items; #endif } } - ASSERT_EQ(0, dent_check(dirfd, items, map, n, 1)); + ASSERT_EQ(0, dent_check(dirfd, items, n, 1)); ASSERT_EQ(0, lseek(dirfd, 0, SEEK_SET)); - ASSERT_EQ(0, dent_check(dirfd, items, map, n, 0)); + ASSERT_EQ(0, dent_check(dirfd, items, n, 0)); status = 0; end: free(items); - free(map); return status; } diff --git a/tests/check_fs_regrw.c b/tests/check_fs_regrw.c index d244ece..48e247f 100644 --- a/tests/check_fs_regrw.c +++ b/tests/check_fs_regrw.c @@ -122,7 +122,7 @@ do_check_fs_regrw ( #ifndef O_DIRECT # define O_DIRECT 0 #endif - int fd = open(path, O_RDWR | O_CREAT | O_TRUNC | O_DIRECT); + int fd = open(path, O_RDWR | O_CREAT | O_TRUNC | O_DIRECT, 0600); ASSERT_NE(-1, fd); struct stat stat_buf; diff --git a/tests/check_fs_times.c b/tests/check_fs_times.c index 70088d9..b466089 100644 --- a/tests/check_fs_times.c +++ b/tests/check_fs_times.c @@ -68,11 +68,12 @@ do_check_fs_times ( #define ASSERT_NE(val, expr) ASSERT_EXPR_INT(expr, r_, (val) != r_, goto end;) int status = -1; + int fd = -1; struct timespec now; ASSERT_EQ(0, clock_gettime(CLOCK_REALTIME, &now)); - int fd = openat(dirfd, FILE1_NAME, O_WRONLY | O_CREAT | O_EXCL); + fd = openat(dirfd, FILE1_NAME, O_WRONLY | O_CREAT | O_EXCL, 0600); ASSERT_NE(-1, fd); struct stat stat_buf; diff --git a/tests/check_sandbox.c b/tests/check_sandbox.c index fc8ea82..01f55cd 100644 --- a/tests/check_sandbox.c +++ b/tests/check_sandbox.c @@ -58,18 +58,17 @@ do_check_sandbox ( # error "not implemented" #endif -#define ASSERT_BAD_SYS(expr, cleanup_action) \ - ASSERT_EXPR_INT(expr, r_, (err_ = errno, r_ < 0), { \ - cleanup_action \ - goto end; \ - }); \ - ASSERT_EXPR_INT(err_, r_, r_ == ERR1 || r_ == ERR2, goto end;) +#define ASSERT_BAD_SYS(expr, cleanup_action) \ + ASSERT_EXPR_INT(expr, r_, r_ < 0, { \ + cleanup_action \ + goto end; \ + }); \ + ASSERT_EXPR_INT(errno, r_, r_ == ERR1 || r_ == ERR2, goto end;) #define ASSERT_BAD_FD(expr) ASSERT_BAD_SYS(expr, close(r_);) #define ASSERT_EQ(val, expr) ASSERT_EXPR_INT(expr, r_, (val) == r_, goto end;) #define ASSERT_NE(val, expr) ASSERT_EXPR_INT(expr, r_, (val) != r_, goto end;) - int err_; int status = -1; int fd = socket(AF_INET, SOCK_STREAM, 0);