Fixup ptest-runner patch for YP master
[AGL/meta-agl.git] / meta-agl-core / recipes-support / ptest-runner / ptest-runner / 0007-WIP-Initial-LAVA-support.patch
index 6232c4f..11c6fd2 100644 (file)
@@ -1,7 +1,7 @@
-From 11b29ce444610a07067a89b38e9e85c2162bbf67 Mon Sep 17 00:00:00 2001
+From bdcbb0e78bbffe45719d0a27954544120f37442a Mon Sep 17 00:00:00 2001
 From: Tim Orling <timothy.t.orling@linux.intel.com>
 Date: Mon, 15 Oct 2018 18:30:42 -0700
-Subject: [PATCH 7/7] [WIP] Initial LAVA support
+Subject: [PATCH] Initial LAVA support
 
 Linaro Automated Validation Architecture (LAVA) launches a test suite
 on the target but thereafter only observes stdout.
@@ -17,10 +17,21 @@ emitted to stdout:
 
 It is valid to have a measurement without units, but not units without a measurement.
 
+Upstream-Status: Pending
+
 Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
 [updated for ptest-runner 2.3.2]
+[updated for ptest-runner 2.4.1]
+[updated for ptest-runner 2.4.2]
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
 ---
+ flags.h | 10 ++++++++++
+ main.c  |  9 ++++++++-
+ utils.c | 17 ++++++++++++++++-
+ utils.h |  2 +-
+ 4 files changed, 35 insertions(+), 3 deletions(-)
+ create mode 100644 flags.h
+
 diff --git a/flags.h b/flags.h
 new file mode 100644
 index 0000000..0dac223
@@ -38,7 +49,7 @@ index 0000000..0dac223
 +
 +#endif                                /* __FLAGS_H__ */
 diff --git a/main.c b/main.c
-index 01d60f7..165370f 100644
+index 31e4dd5..f12d6d6 100644
 --- a/main.c
 +++ b/main.c
 @@ -38,6 +38,7 @@
@@ -49,7 +60,7 @@ index 01d60f7..165370f 100644
  
  #ifndef DEFAULT_DIRECTORY
  #define DEFAULT_DIRECTORY "/usr/lib"
-@@ -74,8 +75,9 @@ main(int argc, char *argv[])
+@@ -130,8 +131,9 @@ main(int argc, char *argv[])
        opts.timeout = DEFAULT_TIMEOUT;
        opts.ptests = NULL;
        opts.xml_filename = NULL;
@@ -59,8 +70,8 @@ index 01d60f7..165370f 100644
 +      while ((opt = getopt(argc, argv, "d:e:lt:x:Lh")) != -1) {
                switch (opt) {
                        case 'd':
-                               free(opts.directory);
-@@ -122,6 +124,11 @@ main(int argc, char *argv[])
+                               free(opts.dirs[0]);
+@@ -156,6 +158,11 @@ main(int argc, char *argv[])
                                opts.xml_filename = strdup(optarg);
                                CHECK_ALLOCATION(opts.xml_filename, 1, 1);
                        break;
@@ -73,46 +84,44 @@ index 01d60f7..165370f 100644
                                print_usage(stdout, argv[0]);
                                exit(1);
 diff --git a/utils.c b/utils.c
-index a8ba190..19f9efa 100644
+index 59b8b77..30423c4 100644
 --- a/utils.c
 +++ b/utils.c
-@@ -47,6 +47,7 @@
+@@ -49,6 +49,7 @@
  
  #include "ptest_list.h"
  #include "utils.h"
 +#include "flags.h"
  
  #define GET_STIME_BUF_SIZE 1024
- #define WAIT_CHILD_POLL_TIMEOUT_MS 200
-@@ -439,6 +440,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
-               fprintf(fp, "START: %s\n", progname);
-               PTEST_LIST_ITERATE_START(head, p)
+ #define WAIT_CHILD_BUF_MAX_SIZE 1024
+@@ -425,6 +426,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+                       }
                        char *ptest_dir = strdup(p->run_ptest);
 +                      char *ptest = strdup(p->ptest);
                        if (ptest_dir == NULL) {
                                rc = -1;
                                break;
-@@ -480,11 +482,15 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
-                               int status;
-                               int fds[2]; fds[0] = pipefd_stdout[0]; fds[1] = pipefd_stderr[0];
-                               FILE *fps[2]; fps[0] = fp; fps[1] = fp_stderr;
-+                              char result[5]; // pass\0, fail\0, skip\0
-                               if (setpgid(child, pgid) == -1) {
+@@ -477,7 +479,10 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
                                        fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno));
                                }
  
+-                              time_t start_time= time(NULL);
 +                              if (opts.flags & LAVA_SIGNAL_ENABLE) {
 +                                      fprintf(stdout, "<LAVA_SIGNAL_STARTTC %s>\n", ptest);
 +                              }
-                               sttime = time(NULL);
-                               fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime));
++                              time_t start_time = time(NULL);
+                               fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, start_time));
                                fprintf(fp, "BEGIN: %s\n", ptest_dir);
-@@ -506,6 +512,14 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+@@ -594,6 +599,16 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
  
                                fprintf(fp, "END: %s\n", ptest_dir);
-                               fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, entime));
+                               fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, end_time));
 +                              if (opts.flags & LAVA_SIGNAL_ENABLE) {
++                                      char result[5]; // pass\0, fail\0, skip\0
++
 +                                      if (status)
 +                                              sprintf(result, "fail");
 +                                      else
@@ -121,14 +130,14 @@ index a8ba190..19f9efa 100644
 +                                      fprintf(stdout, "<LAVA_SIGNAL_TESTCASE TEST_CASE_ID=%s RESULT=%s>\n", ptest, result);
 +                              }
                        }
-               PTEST_LIST_ITERATE_END
-               fprintf(fp, "STOP: %s\n", progname);
+                       free(ptest_dir);
+                       do_close(&pipefd_stdout[PIPE_READ]);
 diff --git a/utils.h b/utils.h
-index aa53707..df11e24 100644
+index 04fc666..ad702d8 100644
 --- a/utils.h
 +++ b/utils.h
-@@ -39,9 +39,9 @@ struct ptest_options {
-       int timeout;
+@@ -42,9 +42,9 @@ struct ptest_options {
+       unsigned int timeout;
        char **ptests;
        char *xml_filename;
 +      unsigned int flags;
@@ -138,3 +147,6 @@ index aa53707..df11e24 100644
  extern void check_allocation1(void *, size_t, char *, int, int);
  extern struct ptest_list *get_available_ptests(const char *);
  extern int print_ptests(struct ptest_list *, FILE *);
+-- 
+2.37.3
+