[yocto] [ptest-runner][PATCH 4/4] Fix additional warnings when using clang
Randy MacLeod
Randy.MacLeod at windriver.com
Wed Jul 17 11:35:30 PDT 2019
Drop unused function parameters in wait_child().
The remaining warning in the top dir code is:
utils.c:25:9: warning: macro name is a reserved identifier [-Wreserved-id-macro]
#define _GNU_SOURCE
and it's not clear how to deal with that in a portable manner.
Drop unused variable in analizer code.
Rename analizer to analyzer.
Avoid program scope global by adding a set function for
the opts directory variable.
Free strdup()ed memory before exit.
Signed-off-by: Randy MacLeod <Randy.MacLeod at windriver.com>
---
tests/main.c | 13 ++++++++-----
tests/ptest_list.c | 2 ++
tests/utils.c | 22 ++++++++++++++--------
utils.c | 6 ++----
utils.h | 2 ++
5 files changed, 28 insertions(+), 17 deletions(-)
diff --git a/tests/main.c b/tests/main.c
index e1a8b69..1344bc0 100644
--- a/tests/main.c
+++ b/tests/main.c
@@ -38,14 +38,14 @@ static SuiteFunction *suites[] = {
NULL,
};
+extern void set_opts_dir(char *);
+
static inline void
print_usage(FILE *stream, char *progname)
{
fprintf(stream, "Usage: %s <-d directory>\n", progname);
}
-char *opts_directory;
-
int
main(int argc, char *argv[])
{
@@ -54,12 +54,12 @@ main(int argc, char *argv[])
int number_failed;
SuiteFunction *sf;
- opts_directory = NULL;
+ char *opts_dir = NULL;
while ((opt = getopt(argc, argv, "d:t:h")) != -1) {
switch (opt) {
case 'd':
- opts_directory = strdup(optarg);
+ opts_dir = strdup(optarg);
break;
case 'h':
/* fall though !! */
@@ -69,10 +69,11 @@ main(int argc, char *argv[])
}
}
- if (opts_directory == NULL) {
+ if (opts_dir == NULL) {
print_usage(stdout, argv[0]);
exit(1);
}
+ set_opts_dir(opts_dir);
i = 0;
number_failed = 0;
@@ -88,6 +89,8 @@ main(int argc, char *argv[])
i++;
sf = suites[i];
}
+ set_opts_dir(NULL);
+ free(opts_dir);
return number_failed;
}
diff --git a/tests/ptest_list.c b/tests/ptest_list.c
index e0ec276..081f027 100644
--- a/tests/ptest_list.c
+++ b/tests/ptest_list.c
@@ -29,6 +29,8 @@
#include "ptest_list.h"
+extern Suite *ptest_list_suite(void);
+
static int ptests_num = 6;
static char *ptest_names[] = {
"python",
diff --git a/tests/utils.c b/tests/utils.c
index 571d488..4fa4609 100644
--- a/tests/utils.c
+++ b/tests/utils.c
@@ -32,9 +32,15 @@
#include "ptest_list.h"
#include "utils.h"
+Suite *utils_suite(void);
+
#define PRINT_PTEST_BUF_SIZE 8192
-extern char *opts_directory;
+static char *opts_directory = NULL;
+
+void set_opts_dir(char * od) {
+ opts_directory = od;
+}
static char *ptests_found[] = {
"bash",
@@ -68,7 +74,7 @@ find_word(int *found, const char *line, const char *word)
}
static void test_ptest_expected_failure(struct ptest_list *, const int, char *,
- void (*h_analizer)(const int, FILE *, FILE *));
+ void (*h_analyzer)(const int, FILE *));
START_TEST(test_get_available_ptests)
{
@@ -189,7 +195,7 @@ START_TEST(test_run_ptests)
END_TEST
static void
-search_for_timeout_and_duration(const int rp, FILE *fp_stdout, FILE *fp_stderr)
+search_for_timeout_and_duration(const int rp, FILE *fp_stdout)
{
const char *timeout_str = "TIMEOUT";
const char *duration_str = "DURATION";
@@ -218,7 +224,7 @@ START_TEST(test_run_timeout_duration_ptest)
END_TEST
static void
-search_for_fail(const int rp, FILE *fp_stdout, FILE *fp_stderr)
+search_for_fail(const int rp, FILE *fp_stdout)
{
const char *fail_str = "ERROR: Exit status is";
char line_buf[PRINT_PTEST_BUF_SIZE];
@@ -284,7 +290,7 @@ START_TEST(test_xml_fail)
END_TEST
Suite *
-utils_suite()
+utils_suite(void)
{
Suite *s;
TCase *tc_core;
@@ -308,7 +314,7 @@ utils_suite()
static void
test_ptest_expected_failure(struct ptest_list *head, const int timeout, char *progname,
- void (*h_analizer)(const int, FILE *, FILE *))
+ void (*h_analyzer)(const int, FILE *))
{
char *buf_stdout;
size_t size_stdout = PRINT_PTEST_BUF_SIZE;
@@ -329,9 +335,9 @@ test_ptest_expected_failure(struct ptest_list *head, const int timeout, char *pr
struct ptest_options opts = EmptyOpts;
opts.timeout = timeout;
- h_analizer(
+ h_analyzer(
run_ptests(filtered, opts, progname, fp_stdout, fp_stderr),
- fp_stdout, fp_stderr
+ fp_stdout
);
PTEST_LIST_FREE_ALL_CLEAN(filtered);
diff --git a/utils.c b/utils.c
index 92654bf..a8ba190 100644
--- a/utils.c
+++ b/utils.c
@@ -288,8 +288,7 @@ run_child(char *run_ptest, int fd_stdout, int fd_stderr)
}
static inline int
-wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid,
- int timeout, int *fds, FILE **fps, int *timeouted)
+wait_child(pid_t pid, int timeout, int *fds, FILE **fps, int *timeouted)
{
struct pollfd pfds[2];
struct timespec sentinel;
@@ -490,8 +489,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime));
fprintf(fp, "BEGIN: %s\n", ptest_dir);
- status = wait_child(ptest_dir, p->run_ptest, child,
- opts.timeout, fds, fps, &timeouted);
+ status = wait_child(child, opts.timeout, fds, fps, &timeouted);
entime = time(NULL);
duration = entime - sttime;
diff --git a/utils.h b/utils.h
index f6a56f1..aa53707 100644
--- a/utils.h
+++ b/utils.h
@@ -53,4 +53,6 @@ extern FILE *xml_create(int, char *);
extern void xml_add_case(FILE *, int, const char *, int, int);
extern void xml_finish(FILE *);
+void set_opts_dir(char * od);
+
#endif
--
2.17.0
More information about the yocto
mailing list