diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-03-05 15:53:21 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-03-06 22:08:36 +0100 |
commit | b950412ca3a91aa37349cf51ebe98cc84767d448 (patch) | |
tree | e3bb062114d019984321a5a21b29818c88c36795 /tests/add_by_path.c | |
parent | 3fc6bf24b5cc071fc323f08ece541e37578f6369 (diff) |
Cleanup: add some structure to the test directory
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests/add_by_path.c')
-rw-r--r-- | tests/add_by_path.c | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/tests/add_by_path.c b/tests/add_by_path.c deleted file mode 100644 index f575011..0000000 --- a/tests/add_by_path.c +++ /dev/null @@ -1,133 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * add_by_path.c - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#include "config.h" - -#include "fstree.h" -#include "test.h" - -int main(void) -{ - tree_node_t *a, *b; - struct stat sb; - fstree_t fs; - char *opts; - - opts = strdup("mode=0755,uid=21,gid=42"); - TEST_ASSERT(fstree_init(&fs, opts) == 0); - free(opts); - - memset(&sb, 0, sizeof(sb)); - sb.st_mode = S_IFDIR | 0750; - sb.st_uid = 1000; - sb.st_gid = 100; - - TEST_EQUAL_UI(fs.root->link_count, 2); - - a = fstree_add_generic(&fs, "dir", &sb, NULL); - TEST_NOT_NULL(a); - TEST_STR_EQUAL(a->name, "dir"); - TEST_EQUAL_UI(a->mode, sb.st_mode); - TEST_EQUAL_UI(a->uid, sb.st_uid); - TEST_EQUAL_UI(a->gid, sb.st_gid); - TEST_ASSERT(a->parent == fs.root); - TEST_EQUAL_UI(a->link_count, 2); - TEST_NULL(a->next); - TEST_ASSERT(fs.root->data.dir.children == a); - TEST_EQUAL_UI(fs.root->link_count, 3); - TEST_ASSERT(!a->data.dir.created_implicitly); - - memset(&sb, 0, sizeof(sb)); - sb.st_mode = S_IFBLK | 0640; - sb.st_rdev = 1234; - - b = fstree_add_generic(&fs, "blkdev", &sb, NULL); - TEST_NOT_NULL(b); - TEST_ASSERT(b != a); - TEST_STR_EQUAL(b->name, "blkdev"); - TEST_EQUAL_UI(b->mode, sb.st_mode); - TEST_EQUAL_UI(b->uid, sb.st_uid); - TEST_EQUAL_UI(b->gid, sb.st_gid); - TEST_ASSERT(b->parent == fs.root); - TEST_EQUAL_UI(b->link_count, 1); - TEST_EQUAL_UI(b->data.devno, sb.st_rdev); - TEST_ASSERT(b->next == a); - TEST_EQUAL_UI(fs.root->link_count, 4); - TEST_ASSERT(fs.root->data.dir.children == b); - - TEST_NULL(fstree_add_generic(&fs, "blkdev/foo", &sb, NULL)); - TEST_EQUAL_UI(errno, ENOTDIR); - - TEST_NULL(fstree_add_generic(&fs, "dir", &sb, NULL)); - TEST_EQUAL_UI(errno, EEXIST); - - memset(&sb, 0, sizeof(sb)); - sb.st_mode = S_IFDIR | 0755; - TEST_NULL(fstree_add_generic(&fs, "dir", &sb, NULL)); - TEST_EQUAL_UI(errno, EEXIST); - - memset(&sb, 0, sizeof(sb)); - sb.st_mode = S_IFCHR | 0444; - b = fstree_add_generic(&fs, "dir/chrdev", &sb, NULL); - TEST_NOT_NULL(b); - TEST_EQUAL_UI(b->mode, sb.st_mode); - TEST_EQUAL_UI(b->uid, sb.st_uid); - TEST_EQUAL_UI(b->gid, sb.st_gid); - TEST_EQUAL_UI(b->link_count, 1); - TEST_ASSERT(b->parent == a); - TEST_EQUAL_UI(b->data.devno, sb.st_rdev); - TEST_NULL(b->next); - TEST_ASSERT(a->data.dir.children == b); - - TEST_EQUAL_UI(a->link_count, 3); - TEST_EQUAL_UI(fs.root->link_count, 4); - - b = fstree_add_generic(&fs, "dir/foo/chrdev", &sb, NULL); - TEST_NOT_NULL(b); - TEST_NULL(b->next); - TEST_EQUAL_UI(b->mode, sb.st_mode); - TEST_EQUAL_UI(b->uid, sb.st_uid); - TEST_EQUAL_UI(b->gid, sb.st_gid); - TEST_EQUAL_UI(b->link_count, 1); - TEST_ASSERT(b->parent != a); - TEST_ASSERT(b->parent->parent == a); - TEST_EQUAL_UI(b->data.devno, sb.st_rdev); - TEST_NULL(b->next); - - TEST_EQUAL_UI(a->link_count, 4); - TEST_EQUAL_UI(fs.root->link_count, 4); - TEST_ASSERT(a->data.dir.children != b); - - b = b->parent; - TEST_ASSERT(b->data.dir.created_implicitly); - TEST_EQUAL_UI(b->mode, S_IFDIR | 0755); - TEST_EQUAL_UI(b->uid, 21); - TEST_EQUAL_UI(b->gid, 42); - TEST_EQUAL_UI(b->link_count, 3); - - memset(&sb, 0, sizeof(sb)); - sb.st_mode = S_IFDIR | 0750; - sb.st_uid = 1000; - sb.st_gid = 100; - - a = fstree_add_generic(&fs, "dir/foo", &sb, NULL); - TEST_NOT_NULL(a); - TEST_ASSERT(a == b); - TEST_ASSERT(!a->data.dir.created_implicitly); - TEST_EQUAL_UI(a->mode, sb.st_mode); - TEST_EQUAL_UI(a->uid, sb.st_uid); - TEST_EQUAL_UI(a->gid, sb.st_gid); - TEST_EQUAL_UI(a->link_count, 3); - - TEST_EQUAL_UI(a->parent->link_count, 4); - TEST_EQUAL_UI(fs.root->link_count, 4); - - TEST_NULL(fstree_add_generic(&fs, "dir/foo", &sb, NULL)); - TEST_EQUAL_UI(errno, EEXIST); - - fstree_cleanup(&fs); - return EXIT_SUCCESS; -} |