[PATCH] lib: framework: log the fwts command line for reference.

Keng-Yu Lin kengyu at canonical.com
Mon Jan 14 06:24:11 UTC 2013


On Tue, Jan 1, 2013 at 6:39 AM, Colin King <colin.king at canonical.com> wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Since CERT may be running fwts with options that may be silently
> ignoring some fwts errors it makes sense to also log the command
> line options being used so we can see how fwts is being invoked
> for reference purposes.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/lib/src/fwts_framework.c | 24 +++++++++++++++++++++---
>  1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c
> index a04215d..7290912 100644
> --- a/src/lib/src/fwts_framework.c
> +++ b/src/lib/src/fwts_framework.c
> @@ -811,13 +811,18 @@ static void fwts_framework_syntax(char * const *argv)
>   * fwts_framework_heading_info()
>   *     log basic system info so we can track the tests
>   */
> -static void fwts_framework_heading_info(fwts_framework *fw, fwts_list *tests_to_run)
> +static void fwts_framework_heading_info(
> +       fwts_framework *fw,
> +       fwts_list *tests_to_run,
> +       const int argc,
> +       char * const *argv)
>  {
>         struct tm tm;
>         time_t now;
>         struct utsname buf;
>         char *tests = NULL;
> -       size_t len = 1;
> +       char *args = NULL;
> +       size_t len;
>         int i;
>         fwts_list_link *item;
>
> @@ -838,6 +843,19 @@ static void fwts_framework_heading_info(fwts_framework *fw, fwts_list *tests_to_
>                 buf.sysname, buf.nodename, buf.release, buf.version, buf.machine);
>         fwts_log_nl(fw);
>
> +       for (len = 1, i = 1; i < argc; i++)
> +               len += strlen(argv[i]) + 1;
> +
> +       if ((args = calloc(len, 1)) != NULL) {
> +               for (len = 1, i = 1; i < argc; i++) {
> +                       strcat(args, " ");
> +                       strcat(args, argv[i]);
> +               }
> +               fwts_log_info(fw, "Command: \"fwts %s\".", args);
> +               free(args);
> +       }
> +
> +       len = 1;
>         fwts_list_foreach(item, tests_to_run) {
>                 fwts_framework_test *test = fwts_list_data(fwts_framework_test *, item);
>                 len += strlen(test->name) + 1;
> @@ -1304,7 +1322,7 @@ int fwts_framework_args(const int argc, char **argv)
>         }
>
>         fwts_log_section_begin(fw->results, "heading");
> -       fwts_framework_heading_info(fw, &tests_to_run);
> +       fwts_framework_heading_info(fw, &tests_to_run, argc, argv);
>         fwts_log_section_end(fw->results);
>
>         fwts_log_section_begin(fw->results, "tests");
> --
> 1.8.0
>
Acked-by: Keng-Yu Lin <kengyu at canonical.com>



More information about the fwts-devel mailing list