diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2019-04-09 18:20:38 +0200 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2019-04-09 18:24:36 +0200 |
commit | 99cef05b4c32c401868c7f487784130e607ca74c (patch) | |
tree | 21c978e2209cddafd44e8b850eaa53dde7ed7553 /meta-agl-bsp/recipes-support/ptest-runner | |
parent | 0f1670b4b635d54c744a3e697be169957f321808 (diff) | |
parent | ffa9f4476251778974c77e35d924c20b29bf2792 (diff) |
Merge remote-tracking branch 'origin/sandbox/sdesneux/thud-upgrade'
Update the core distro to YP 2.6 'thud'.
Bug-AGL: SPEC-1837
Change-Id: I5a753503c4ca15bcb0d4f0f30c4a91e7d50ab024
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-bsp/recipes-support/ptest-runner')
8 files changed, 4 insertions, 436 deletions
diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0001-utils.c-Prefer-monotonic-clock-to-calculate-elapsed-.patch b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0001-utils.c-Prefer-monotonic-clock-to-calculate-elapsed-.patch deleted file mode 100644 index 6ca593be5..000000000 --- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0001-utils.c-Prefer-monotonic-clock-to-calculate-elapsed-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 41b7f4814d39c1930b1fcf0be2e247a73546fb80 Mon Sep 17 00:00:00 2001 -From: Jeffrey Pautler <jeffrey.pautler@ni.com> -Date: Tue, 31 Oct 2017 14:38:39 -0500 -Subject: [PATCH 1/7] utils.c: Prefer monotonic clock to calculate elapsed time - -The current implementation uses the system clock to calculate how long -a ptest has been running with no output. If a ptest changes the system -clock as part of the test, that can cause the current implementation -to falsely trigger a timeout or miss an actual timeout. It is -preferrable to use a monotonic clock for calculating elapsed time in -order to avoid these issues. - -This change tries to use the monotonic clock first and falls back to -the realtime clock if the monotonic clock is not supported. - -Signed-off-by: Jeffrey Pautler <jeffrey.pautler@ni.com> ---- - utils.c | 24 +++++++++++++++++------- - 1 file changed, 17 insertions(+), 7 deletions(-) - -diff --git a/utils.c b/utils.c -index 6d653887e9e4..933ecedf57e8 100644 ---- a/utils.c -+++ b/utils.c -@@ -257,7 +257,8 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, - int timeout, int *fds, FILE **fps) - { - struct pollfd pfds[2]; -- time_t sentinel; -+ struct timespec sentinel; -+ clockid_t clock = CLOCK_MONOTONIC; - int r; - - int timeouted = 0; -@@ -269,7 +270,11 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, - pfds[1].fd = fds[1]; - pfds[1].events = POLLIN; - -- sentinel = time(NULL); -+ if (clock_gettime(clock, &sentinel) == -1) { -+ clock = CLOCK_REALTIME; -+ clock_gettime(clock, &sentinel); -+ } -+ - while (1) { - waitflags = WNOHANG; - -@@ -288,11 +293,16 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, - fwrite(buf, n, 1, fps[1]); - } - -- sentinel = time(NULL); -- } else if (timeout >= 0 && ((time(NULL) - sentinel) > timeout)) { -- timeouted = 1; -- kill(pid, SIGKILL); -- waitflags = 0; -+ clock_gettime(clock, &sentinel); -+ } else if (timeout >= 0) { -+ struct timespec time; -+ -+ clock_gettime(clock, &time); -+ if ((time.tv_sec - sentinel.tv_sec) > timeout) { -+ timeouted = 1; -+ kill(pid, SIGKILL); -+ waitflags = 0; -+ } - } - - if (waitpid(pid, &status, waitflags) == pid) --- -2.11.0 - diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0002-Makefile-libcheck-now-requires-to-link-subunit.patch b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0002-Makefile-libcheck-now-requires-to-link-subunit.patch deleted file mode 100644 index 4ada99422..000000000 --- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0002-Makefile-libcheck-now-requires-to-link-subunit.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4f6d6c5e3f2f181e3cc380a76e635e7c34d3c5d1 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:44 -0600 -Subject: [PATCH 2/7] Makefile: libcheck now requires to link subunit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 434b89f34688..1bde7beff9d1 100644 ---- a/Makefile -+++ b/Makefile -@@ -22,7 +22,7 @@ TEST_SOURCES=tests/main.c tests/ptest_list.c tests/utils.c $(BASE_SOURCES) - TEST_OBJECTS=$(TEST_SOURCES:.c=.o) - TEST_EXECUTABLE=ptest-runner-test - TEST_LDFLAGS=-lm -lrt -lpthread --TEST_LIBSTATIC=-lcheck -+TEST_LIBSTATIC=-lcheck -lsubunit - - TEST_DATA=$(shell echo `pwd`/tests/data) - --- -2.11.0 - 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 deleted file mode 100644 index 47957333d..000000000 --- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch +++ /dev/null @@ -1,137 +0,0 @@ -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 - diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0004-README.md-Update-to-my-current-email.patch b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0004-README.md-Update-to-my-current-email.patch deleted file mode 100644 index dbfe648cf..000000000 --- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0004-README.md-Update-to-my-current-email.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 16413d71cc06b02a6d859c35a017cc49b88283f7 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:46 -0600 -Subject: [PATCH 4/7] README.md: Update to my current email -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> ---- - README.md | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/README.md b/README.md -index fedab04b7f00..22b36a4b7bed 100644 ---- a/README.md -+++ b/README.md -@@ -50,7 +50,7 @@ $ mtrace ./ptest-runner $(MALLOC_TRACE) - - For contribute please send a patch with subject prefix "[ptest-runner]" to - yocto@yoctoproject.org and cc the current maintainer that is Aníbal Limón --<anibal.limon@linux.intel.com>. -+<anibal.limon@linaro.org>. - - ## Links - --- -2.11.0 - diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0005-main.c-Use-realpath-to-get-the-actual-directory-of-p.patch b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0005-main.c-Use-realpath-to-get-the-actual-directory-of-p.patch deleted file mode 100644 index cb9e20a32..000000000 --- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0005-main.c-Use-realpath-to-get-the-actual-directory-of-p.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 5bd94a93c89978c5e729db86b86b49919cd3b523 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linaro.org> -Date: Wed, 25 Apr 2018 12:05:29 -0500 -Subject: [PATCH 5/7] main.c: Use realpath to get the actual directory of - ptests -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fix usage of relative paths in -d argument. - -$ ./ptest-runner -d ./tests/data - -Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> ---- - main.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/main.c b/main.c -index 505829cdad58..593aff1a1956 100644 ---- a/main.c -+++ b/main.c -@@ -19,6 +19,7 @@ - * Aníbal Limón <anibal.limon@intel.com> - */ - -+#include <limits.h> - #include <unistd.h> - #include <string.h> - #include <stdlib.h> -@@ -70,7 +71,7 @@ main(int argc, char *argv[]) - switch (opt) { - case 'd': - free(opts.directory); -- opts.directory = strdup(optarg); -+ opts.directory = realpath(optarg, NULL); - CHECK_ALLOCATION(opts.directory, 1, 1); - break; - case 'l': --- -2.11.0 - diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0006-main.c-Add-option-e-to-exclude-certain-tests-for-exe.patch b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0006-main.c-Add-option-e-to-exclude-certain-tests-for-exe.patch deleted file mode 100644 index 7a4de868c..000000000 --- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0006-main.c-Add-option-e-to-exclude-certain-tests-for-exe.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 49956f65bb53ea2a2c1b394e5e59ffdfcdcc490f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linaro.org> -Date: Wed, 25 Apr 2018 11:55:03 -0500 -Subject: [PATCH 6/7] main.c: Add option (-e) to exclude certain tests for - execution -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -You can specify a set of ptests to be excluded, it will not fail -if some ptest excluded isn't found in the list of execution. - -$ ./ptest-runner -e "hang glibc" -d tests/data - -Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> ---- - main.c | 38 +++++++++++++++++++++++++++++++++++--- - utils.h | 1 + - 2 files changed, 36 insertions(+), 3 deletions(-) - -diff --git a/main.c b/main.c -index 593aff1a1956..83600b7d1b31 100644 ---- a/main.c -+++ b/main.c -@@ -19,6 +19,7 @@ - * Aníbal Limón <anibal.limon@intel.com> - */ - -+#include <ctype.h> - #include <limits.h> - #include <unistd.h> - #include <string.h> -@@ -42,8 +43,8 @@ - static inline void - print_usage(FILE *stream, char *progname) - { -- fprintf(stream, "Usage: %s [-d directory] [-l list] [-t timeout] [-x xml-filename]" -- " [-h] [ptest1 ptest2 ...]\n", progname); -+ fprintf(stream, "Usage: %s [-d directory] [-e exclude] [-l list] [-t timeout]" -+ " [-x xml-filename] [-h] [ptest1 ptest2 ...]\n", progname); - } - - int -@@ -53,6 +54,8 @@ main(int argc, char *argv[]) - int ptest_num = 0; - int i; - int rc; -+ int ptest_exclude_num = 0; -+ char *c, *tok; - - #ifdef MEMCHECK - mtrace(); -@@ -62,18 +65,44 @@ main(int argc, char *argv[]) - struct ptest_options opts; - - opts.directory = strdup(DEFAULT_DIRECTORY); -+ opts.exclude = NULL; - opts.list = 0; - opts.timeout = DEFAULT_TIMEOUT; - opts.ptests = NULL; - opts.xml_filename = NULL; - -- while ((opt = getopt(argc, argv, "d:lt:x:h")) != -1) { -+ while ((opt = getopt(argc, argv, "d:e:lt:x:h")) != -1) { - switch (opt) { - case 'd': - free(opts.directory); - opts.directory = realpath(optarg, NULL); - CHECK_ALLOCATION(opts.directory, 1, 1); - break; -+ case 'e': -+ c = optarg; -+ ptest_exclude_num = 1; -+ -+ while (*c) { -+ if (isspace(*c)) -+ ptest_exclude_num++; -+ c++; -+ } -+ -+ -+ opts.exclude = malloc(ptest_exclude_num * sizeof(char)); -+ CHECK_ALLOCATION(opts.exclude, 1, 1); -+ -+ i = 0; -+ tok = strtok_r(optarg, " ", &c); -+ opts.exclude[i] = strdup(tok); -+ CHECK_ALLOCATION(opts.exclude[i], 1, 1); -+ i++; -+ while ((tok = strtok_r(NULL, " ", &c)) != NULL) { -+ opts.exclude[i] = strdup(tok); -+ CHECK_ALLOCATION(opts.exclude[i], 1, 1); -+ i++; -+ } -+ break; - case 'l': - opts.list = 1; - break; -@@ -134,6 +163,9 @@ main(int argc, char *argv[]) - ptest_list_free_all(head); - } - -+ for (i = 0; i < ptest_exclude_num; i++) -+ ptest_list_remove(run, opts.exclude[i], 1); -+ - rc = run_ptests(run, opts, argv[0], stdout, stderr); - - ptest_list_free_all(run); -diff --git a/utils.h b/utils.h -index 8fa20a8bf621..ee85163ddfff 100644 ---- a/utils.h -+++ b/utils.h -@@ -32,6 +32,7 @@ - - struct ptest_options { - char *directory; -+ char **exclude; - int list; - int timeout; - char **ptests; --- -2.11.0 - diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.1.bbappend b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.1.bbappend deleted file mode 100644 index 000ab3d53..000000000 --- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.1.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI += "file://0004-README.md-Update-to-my-current-email.patch file://0001-utils.c-Prefer-monotonic-clock-to-calculate-elapsed-.patch file://0002-Makefile-libcheck-now-requires-to-link-subunit.patch file://0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch file://0005-main.c-Use-realpath-to-get-the-actual-directory-of-p.patch file://0006-main.c-Add-option-e-to-exclude-certain-tests-for-exe.patch file://0007-WIP-Initial-LAVA-support.patch" - diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.2.bbappend b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.2.bbappend new file mode 100644 index 000000000..7a1d2a8f8 --- /dev/null +++ b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.2.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://0007-WIP-Initial-LAVA-support.patch" + |