From patchwork Wed Nov 21 16:24:45 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [6/6] lib: fwts_framework: make test priority a strongly typed enum Date: Wed, 21 Nov 2012 06:24:45 -0000 From: Colin King X-Patchwork-Id: 200800 Message-Id: <1353515085-8053-7-git-send-email-colin.king@canonical.com> To: fwts-devel@lists.ubuntu.com From: Colin Ian King 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 Acked-by: Keng-Yu Lin Acked-by: Ivan Hu --- 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;