[PATCH 6/6] lib: fwts_framework: make test priority a strongly typed enum

Keng-Yu Lin kengyu at canonical.com
Thu Nov 22 06:17:00 UTC 2012


On Thu, Nov 22, 2012 at 12:24 AM, Colin King <colin.king at canonical.com> wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Test priority was going to be some fancy percentage ordering scheme
> but as it happens, it just tuned out to be a few settings. So lets
> make it into an enum type.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>  src/lib/include/fwts_framework.h |   24 +++++++++++++-----------
>  src/lib/src/fwts_framework.c     |    2 +-
>  2 files changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/src/lib/include/fwts_framework.h b/src/lib/include/fwts_framework.h
> index 2f84693..ea40a07 100644
> --- a/src/lib/include/fwts_framework.h
> +++ b/src/lib/include/fwts_framework.h
> @@ -71,6 +71,17 @@ typedef struct {
>         uint32_t infoonly;
>  } fwts_results;
>
> +/*
> + *  Where to schedule a test, priority sorted lowest first, highest last
> + */
> +typedef enum {
> +       FWTS_TEST_FIRST = 0,
> +       FWTS_TEST_EARLY = 1,
> +       FWTS_TEST_ANYTIME = 2,
> +       FWTS_TEST_LATE = 3,
> +       FWTS_TEST_LAST = 4
> +} fwts_priority;
> +
>  static inline void fwts_results_zero(fwts_results *results)
>  {
>         memset(results, 0, sizeof(fwts_results));
> @@ -158,14 +169,14 @@ typedef struct fwts_framework_ops {
>  typedef struct fwts_framework_test {
>         const char *name;
>         fwts_framework_ops *ops;
> -       int         priority;
> +       fwts_priority priority;
>         fwts_framework_flags flags;
>         fwts_results results;                   /* Per test results */
>         bool        was_run;
>  } fwts_framework_test;
>
>  int  fwts_framework_args(const int argc, char **argv);
> -void fwts_framework_test_add(const char *name, fwts_framework_ops *ops, const int priority, const fwts_framework_flags flags);
> +void fwts_framework_test_add(const char *name, fwts_framework_ops *ops, const fwts_priority priority, const fwts_framework_flags flags);
>  int  fwts_framework_compare_test_name(void *, void *);
>  void fwts_framework_show_version(FILE *fp, const char *name);
>
> @@ -219,15 +230,6 @@ static inline int fwts_tests_passed(const fwts_framework *fw)
>  }
>
>  /*
> - *  Where to schedule a test, priority sorted lowest first, highest last
> - */
> -#define FWTS_TEST_FIRST                0
> -#define FWTS_TEST_EARLY                10
> -#define FWTS_TEST_ANYTIME      50
> -#define FWTS_TEST_LATE         75
> -#define FWTS_TEST_LAST         100
> -
> -/*
>   *  Batch (run w/o interaction) or interactive (requires user interaction) flags
>   */
>  #define FWTS_TEST_INTERACTIVE(flags)   \
> diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c
> index d688edf..00b9ed7 100644
> --- a/src/lib/src/fwts_framework.c
> +++ b/src/lib/src/fwts_framework.c
> @@ -119,7 +119,7 @@ static int fwts_framework_compare_priority(void *data1, void *data2)
>   */
>  void fwts_framework_test_add(const char *name,
>         fwts_framework_ops *ops,
> -       const int priority,
> +       const fwts_priority priority,
>         const fwts_framework_flags flags)
>  {
>         fwts_framework_test *new_test;
> --
> 1.7.10.4
>
Acked-by: Keng-Yu Lin <kengyu at canonical.com>



More information about the fwts-devel mailing list