From 72c8155d9fc0eaeac72c053f46ebb7b231d4596a Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Tue, 31 Jan 2023 11:30:46 +0100 Subject: Reintegrate test code with library code Signed-off-by: David Oberhollenzer --- tests/libfstree/add_by_path.c | 134 ------------------------------------------ 1 file changed, 134 deletions(-) delete mode 100644 tests/libfstree/add_by_path.c (limited to 'tests/libfstree/add_by_path.c') diff --git a/tests/libfstree/add_by_path.c b/tests/libfstree/add_by_path.c deleted file mode 100644 index 97e5a60..0000000 --- a/tests/libfstree/add_by_path.c +++ /dev/null @@ -1,134 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * add_by_path.c - * - * Copyright (C) 2019 David Oberhollenzer - */ -#include "config.h" - -#include "fstree.h" -#include "util/test.h" - -int main(int argc, char **argv) -{ - tree_node_t *a, *b; - struct stat sb; - fstree_t fs; - char *opts; - (void)argc; (void)argv; - - 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; -} -- cgit v1.2.3