diff options
Diffstat (limited to 'poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch')
-rw-r--r-- | poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch new file mode 100644 index 0000000000..822b26a367 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch @@ -0,0 +1,80 @@ +From 83d165442d1c3658b6bafa28ddade8ffee7092ad Mon Sep 17 00:00:00 2001 +From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> +Date: Wed, 6 Mar 2019 16:46:49 -0500 +Subject: [PATCH lttng-tools 2/2] Fix: test: unit: the tree origin can be a + symlink itself + +Problem: + +The base tree is defined as "/tmp/.....XXXXXX". +On systems where "/tmp/" is itself a symlink utils_expand_path will +expand the tree origin itself. + +For example on a base core-image-minimal Yocto build /tmp is a symlink +to "/var/tmp", which is a symlink to "/var/volatile". + +utils_expand_path will return something like this for the symlink test: +"/var/volative/.....XXXXXX/...." which is the valid result. + +Solution: + +Simply use realpath on the tree_origin and use this path to perform the +test validation. + +This work was performed in the effort to support yocto fully and be able +to run the test suite to detect problem as early as possible. + + +Upstream-Status: Accepted [f66e964a2e0c75f5e1a55fbcc963b1c5e2b4519d] +Backported to 2.11 and 2.10 + +Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> +--- + tests/unit/test_utils_expand_path.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/tests/unit/test_utils_expand_path.c b/tests/unit/test_utils_expand_path.c +index d5cab002e..d047c207d 100644 +--- a/tests/unit/test_utils_expand_path.c ++++ b/tests/unit/test_utils_expand_path.c +@@ -281,8 +281,8 @@ error: + static void test_utils_expand_path(void) + { + char *result; +- char name[100], tmppath[PATH_MAX]; +- int i; ++ char name[100], tmppath[PATH_MAX], real_tree_origin[PATH_MAX]; ++ int i, treelen; + + /* Test valid cases */ + for (i = 0; i < num_valid_tests; i++) { +@@ -295,14 +295,24 @@ static void test_utils_expand_path(void) + free(result); + } + ++ /* ++ * Get the realpath for the tree_origin since it can itself be a ++ * symlink. ++ */ ++ result = realpath(tree_origin, real_tree_origin); ++ if (!result) { ++ fail("realpath failed."); ++ return; ++ } ++ + /* Test symlink tree cases */ +- int treelen = strlen(tree_origin) + 1; ++ treelen = strlen(real_tree_origin) + 1; + for (i = 0; i < num_symlink_tests; i++) { + sprintf(name, "symlink tree test case: [tmppath/]%s", + symlink_tests_inputs[i].input); + + snprintf(tmppath, PATH_MAX, "%s/%s", +- tree_origin, symlink_tests_inputs[i].input); ++ real_tree_origin, symlink_tests_inputs[i].input); + result = utils_expand_path(tmppath); + ok(result != NULL && strcmp(result + treelen, + symlink_tests_inputs[i].expected_result) == 0, name); +-- +2.17.1 + |