diff options
author | Kevin Hilman <khilman@baylibre.com> | 2018-11-19 11:29:12 -0800 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2018-11-22 15:22:56 +0000 |
commit | b820f82dac96ccb4b223a55488d9ffb9e1177358 (patch) | |
tree | fe71ae4baea0ffbe41f513467488676544402817 /meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch | |
parent | 8a0cd7c69c5df85924f3f065d0ef0f71d490e599 (diff) |
meta-agl-bsp: ptest-runner: v2.2 and LAVA support
Upgrade ptest-runner to v2.2 (first 6 patches), and add the
WIP support for LAVA signal (patch 7).
From branch:
https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=timo/lava-ptest-runner2
Commit:
https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=timo/lava-ptest-runner2&id=11b29ce444610a07067a89b38e9e85c2162bbf67
Change-Id: Ic4ee5e3a9ab796fe7ccd1810b31e582370f99a25
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Diffstat (limited to 'meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch')
-rw-r--r-- | meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch new file mode 100644 index 000000000..47957333d --- /dev/null +++ b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch @@ -0,0 +1,137 @@ +From 0e566f65fa31eaa5208d4a17413c7a4aad7eade5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linaro.org> +Date: Thu, 7 Dec 2017 17:42:45 -0600 +Subject: [PATCH 3/7] Add support to avoid load/run twice a run_ptest script +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In some ptest packages exists symlink in the ptest directory causing +to load/run twice the same ptest, + +For example in perl5: + +/usr/lib/perl -> /usr/lib/perl5 + +Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> +--- + ptest_list.c | 40 ++++++++++++++++++++++++++++++++++++++++ + ptest_list.h | 3 +++ + tests/data/python3 | 1 + + tests/utils.c | 1 + + utils.c | 6 ++++++ + 5 files changed, 51 insertions(+) + create mode 120000 tests/data/python3 + +diff --git a/ptest_list.c b/ptest_list.c +index 2e1aa305752d..3e393d5fabe2 100644 +--- a/ptest_list.c ++++ b/ptest_list.c +@@ -110,6 +110,46 @@ ptest_list_search(struct ptest_list *head, char *ptest) + return q; + } + ++ ++struct ptest_list * ++ptest_list_search_by_file(struct ptest_list *head, char *run_ptest, struct stat st_buf) ++{ ++ struct ptest_list *q = NULL; ++ struct ptest_list *p; ++ struct stat st_buf_p; ++ ++ VALIDATE_PTR_RNULL(head); ++ VALIDATE_PTR_RNULL(run_ptest); ++ ++ for (p = head; p != NULL; p = p->next) { ++ if (p->ptest == NULL) ++ continue; ++ ++ if (stat(p->run_ptest, &st_buf_p) == -1) ++ continue; ++ ++ if (strcmp(p->run_ptest, run_ptest) == 0) { ++ q = p; ++ break; ++ } ++ ++ /* * ++ * In some ptest packages exists symlink in the ptest directory ++ * causing to load/run twice the same ptest, ++ * ++ * For example in perl5: ++ * /usr/lib/perl -> /usr/lib/perl5 ++ * */ ++ if (st_buf.st_dev == st_buf_p.st_dev && ++ st_buf.st_ino == st_buf_p.st_ino) { ++ q = p; ++ break; ++ } ++ } ++ ++ return q; ++} ++ + struct ptest_list * + ptest_list_add(struct ptest_list *head, char *ptest, char *run_ptest) + { +diff --git a/ptest_list.h b/ptest_list.h +index 8b394853c25b..03d75390a51d 100644 +--- a/ptest_list.h ++++ b/ptest_list.h +@@ -28,6 +28,8 @@ + #define PTEST_LIST_ITERATE_START(head, p) for (p = head->next; p != NULL; p = p->next) { + #define PTEST_LIST_ITERATE_END } + ++#include <sys/stat.h> ++ + struct ptest_list { + char *ptest; + char *run_ptest; +@@ -42,6 +44,7 @@ extern int ptest_list_free_all(struct ptest_list *); + + extern int ptest_list_length(struct ptest_list *); + extern struct ptest_list *ptest_list_search(struct ptest_list *, char *); ++extern struct ptest_list *ptest_list_search_by_file(struct ptest_list *, char *, struct stat); + extern struct ptest_list *ptest_list_add(struct ptest_list *, char *, char *); + extern struct ptest_list *ptest_list_remove(struct ptest_list *, char *, int); + +diff --git a/tests/data/python3 b/tests/data/python3 +new file mode 120000 +index 000000000000..d8654aa0e2f2 +--- /dev/null ++++ b/tests/data/python3 +@@ -0,0 +1 @@ ++python +\ No newline at end of file +diff --git a/tests/utils.c b/tests/utils.c +index ecf3e8af9a81..cf093793c4f2 100644 +--- a/tests/utils.c ++++ b/tests/utils.c +@@ -48,6 +48,7 @@ static int ptests_found_length = 6; + static char *ptests_not_found[] = { + "busybox", + "perl", ++ "python3", + NULL, + }; + +diff --git a/utils.c b/utils.c +index 933ecedf57e8..ed2eff7900c1 100644 +--- a/utils.c ++++ b/utils.c +@@ -143,6 +143,12 @@ get_available_ptests(const char *dir) + continue; + } + ++ if (ptest_list_search_by_file(head, run_ptest, st_buf)) { ++ free(run_ptest); ++ free(d_name); ++ continue; ++ } ++ + struct ptest_list *p = ptest_list_add(head, + d_name, run_ptest); + CHECK_ALLOCATION(p, sizeof(struct ptest_list *), 0); +-- +2.11.0 + |