summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-02-18 11:38:44 +0100
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-02-19 17:35:07 +0100
commitd7409bbc5e24267b275692b48116254d842d3821 (patch)
tree8fba327aa3461dac5a6924270e0a64606a6c64ee /tests
parent94269ff3c0166474c018c4973c481b2fcff00080 (diff)
fstree_from_file: Implement basic file globbing
The base path is passed to the fstree_from_file function and in turn to the individual callbacks. The line parsing function is modified to allow '*' as mode, uid and gid for specifically marked callbacks. A glob callback is added that internally uses the fstree_from_dir scanning functions in combination with a filter callback. Directory scanning flags are parsed from the extra arguments before interpreting it as a path fragment. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests')
-rw-r--r--tests/fstree_from_dir.c13
-rw-r--r--tests/fstree_fuzz.c2
2 files changed, 8 insertions, 7 deletions
diff --git a/tests/fstree_from_dir.c b/tests/fstree_from_dir.c
index 8e08aeb..af48d4d 100644
--- a/tests/fstree_from_dir.c
+++ b/tests/fstree_from_dir.c
@@ -321,7 +321,8 @@ int main(void)
/* recursively scan into root */
TEST_ASSERT(fstree_init(&fs, NULL) == 0);
- TEST_ASSERT(fstree_from_dir(&fs, fs.root, TEST_PATH, 0) == 0);
+ TEST_ASSERT(fstree_from_dir(&fs, fs.root, TEST_PATH,
+ NULL, NULL, 0) == 0);
fstree_post_process(&fs);
check_hierarchy(fs.root, true);
@@ -329,8 +330,8 @@ int main(void)
/* non-recursively scan into root */
TEST_ASSERT(fstree_init(&fs, NULL) == 0);
- TEST_ASSERT(fstree_from_dir(&fs, fs.root,
- TEST_PATH, DIR_SCAN_NO_RECURSION) == 0);
+ TEST_ASSERT(fstree_from_dir(&fs, fs.root, TEST_PATH, NULL, NULL,
+ DIR_SCAN_NO_RECURSION) == 0);
fstree_post_process(&fs);
check_hierarchy(fs.root, false);
@@ -346,7 +347,7 @@ int main(void)
TEST_NOT_NULL(n);
fs.root->data.dir.children = n;
- TEST_ASSERT(fstree_from_dir(&fs, n, TEST_PATH, 0) == 0);
+ TEST_ASSERT(fstree_from_dir(&fs, n, TEST_PATH, NULL, NULL, 0) == 0);
TEST_ASSERT(fs.root->data.dir.children == n);
TEST_NULL(n->next);
@@ -365,8 +366,8 @@ int main(void)
TEST_NOT_NULL(n);
fs.root->data.dir.children = n;
- TEST_ASSERT(fstree_from_dir(&fs, n,
- TEST_PATH, DIR_SCAN_NO_RECURSION) == 0);
+ TEST_ASSERT(fstree_from_dir(&fs, n, TEST_PATH, NULL, NULL,
+ DIR_SCAN_NO_RECURSION) == 0);
TEST_ASSERT(fs.root->data.dir.children == n);
TEST_NULL(n->next);
diff --git a/tests/fstree_fuzz.c b/tests/fstree_fuzz.c
index 9618814..ebc8c45 100644
--- a/tests/fstree_fuzz.c
+++ b/tests/fstree_fuzz.c
@@ -24,7 +24,7 @@ int main(int argc, char **argv)
if (fstree_init(&fs, NULL))
return EXIT_FAILURE;
- if (fstree_from_file(&fs, argv[1]))
+ if (fstree_from_file(&fs, argv[1], NULL))
goto out_fs;
ret = EXIT_SUCCESS;