summaryrefslogtreecommitdiff
path: root/tests/fstree_xattr.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fstree_xattr.c')
-rw-r--r--tests/fstree_xattr.c88
1 files changed, 0 insertions, 88 deletions
diff --git a/tests/fstree_xattr.c b/tests/fstree_xattr.c
deleted file mode 100644
index 0a5b487..0000000
--- a/tests/fstree_xattr.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* SPDX-License-Identifier: GPL-3.0-or-later */
-/*
- * fstree_xattr.c
- *
- * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at>
- */
-#include "config.h"
-
-#include "fstree.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-int main(void)
-{
- tree_node_t *a, *b, *c, *d;
- struct stat sb;
- fstree_t fs;
-
- assert(fstree_init(&fs, 512, NULL) == 0);
-
- memset(&sb, 0, sizeof(sb));
- sb.st_mode = S_IFCHR | 0640;
- sb.st_rdev = 1337;
-
- a = fstree_add_generic(&fs, "/a", &sb, NULL);
- b = fstree_add_generic(&fs, "/b", &sb, NULL);
- c = fstree_add_generic(&fs, "/c", &sb, NULL);
- d = fstree_add_generic(&fs, "/d", &sb, NULL);
- assert(a != NULL);
- assert(b != NULL);
- assert(c != NULL);
- assert(d != NULL);
-
- assert(fstree_add_xattr(&fs, a, "foo", "bar") == 0);
-
- assert(fstree_add_xattr(&fs, b, "foo", "bar") == 0);
- assert(fstree_add_xattr(&fs, b, "baz", "qux") == 0);
-
- assert(fstree_add_xattr(&fs, c, "foo", "something else") == 0);
-
- assert(fstree_add_xattr(&fs, d, "baz", "qux") == 0);
- assert(fstree_add_xattr(&fs, d, "foo", "bar") == 0);
-
- assert(a->xattr != NULL);
- assert(b->xattr != NULL);
- assert(c->xattr != NULL);
- assert(d->xattr != NULL);
-
- assert(a->xattr != b->xattr);
- assert(a->xattr != c->xattr);
- assert(a->xattr != d->xattr);
- assert(b->xattr != c->xattr);
- assert(b->xattr != d->xattr);
- assert(c->xattr != d->xattr);
-
- assert(a->xattr->num_attr == 1);
- assert(b->xattr->num_attr == 2);
- assert(c->xattr->num_attr == 1);
- assert(d->xattr->num_attr == 2);
-
- assert(a->xattr->attr[0].key_index == b->xattr->attr[0].key_index);
- assert(a->xattr->attr[0].value_index == b->xattr->attr[0].value_index);
-
- assert(a->xattr->attr[0].key_index == d->xattr->attr[1].key_index);
- assert(a->xattr->attr[0].value_index == d->xattr->attr[1].value_index);
-
- assert(a->xattr->attr[0].key_index == c->xattr->attr[0].key_index);
- assert(a->xattr->attr[0].value_index != c->xattr->attr[0].value_index);
-
- assert(b->xattr->attr[1].key_index == d->xattr->attr[0].key_index);
- assert(b->xattr->attr[1].value_index == d->xattr->attr[0].value_index);
-
- fstree_xattr_deduplicate(&fs);
-
- assert(b->xattr == d->xattr);
- assert(a->xattr != b->xattr);
- assert(a->xattr != c->xattr);
-
- assert(str_table_get_ref_count(&fs.xattr_keys,
- a->xattr->attr[0].key_index) == 3);
- assert(str_table_get_ref_count(&fs.xattr_values,
- a->xattr->attr[0].value_index) == 2);
-
- fstree_cleanup(&fs);
- return EXIT_SUCCESS;
-}