aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/recipes-support/ptest-runner
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-bsp/recipes-support/ptest-runner')
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0001-utils.c-Prefer-monotonic-clock-to-calculate-elapsed-.patch72
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0002-Makefile-libcheck-now-requires-to-link-subunit.patch29
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0003-Add-support-to-avoid-load-run-twice-a-run_ptest-scri.patch137
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0004-README.md-Update-to-my-current-email.patch29
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0005-main.c-Use-realpath-to-get-the-actual-directory-of-p.patch42
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0006-main.c-Add-option-e-to-exclude-certain-tests-for-exe.patch123
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.1.bbappend4
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.2.bbappend4
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"
+