[PATCH 1/4] lib: fwts_log: add extra log types and upper case flavour of fwts_log_field_to_str_full()
Colin King
colin.king at canonical.com
Wed May 30 18:40:35 UTC 2012
From: Colin Ian King <colin.king at canonical.com>
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/lib/include/fwts_log.h | 10 ++++++++--
src/lib/src/fwts_log.c | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/src/lib/include/fwts_log.h b/src/lib/include/fwts_log.h
index 8027d41..4e0f33a 100644
--- a/src/lib/include/fwts_log.h
+++ b/src/lib/include/fwts_log.h
@@ -37,6 +37,11 @@ typedef enum {
LOG_ADVICE = 0x00000100,
LOG_HEADING = 0x00000200,
LOG_TAG = 0x00000400,
+ LOG_PASSED = 0x00000800,
+ LOG_FAILED = 0x00001000,
+ LOG_SKIPPED = 0x00002000,
+ LOG_ABORTED = 0x00004000,
+ LOG_INFOONLY = 0x00008000, /* no-op */
LOG_FIELD_MASK = 0x0000ffff,
@@ -62,7 +67,7 @@ typedef enum {
typedef struct log_t {
unsigned int magic;
- FILE *fp;
+ FILE *fp;
char *owner;
int line_width;
int line_number;
@@ -104,6 +109,7 @@ fwts_log_field fwts_log_str_to_field(const char *text);
char *fwts_log_level_to_str(const fwts_log_level level);
char *fwts_log_field_to_str(const fwts_log_field field);
char *fwts_log_field_to_str_full(const fwts_log_field field);
+char *fwts_log_field_to_str_upper(const fwts_log_field field);
int fwts_log_line_number(fwts_log *log);
void fwts_log_set_line_width(const int width);
void fwts_log_section_begin(fwts_log *log, const char *name);
@@ -117,7 +123,7 @@ void fwts_log_section_end(fwts_log *log);
#define fwts_log_warning_verbatum(fw, fmt, args...) \
fwts_log_printf(fw->results, LOG_WARNING | LOG_VERBATUM, LOG_LEVEL_NONE, "", "", "", fmt, ## args)
-
+
#define fwts_log_error(fw, fmt, args...) \
fwts_log_printf(fw->results, LOG_ERROR, LOG_LEVEL_NONE, "", "", "", fmt, ## args)
diff --git a/src/lib/src/fwts_log.c b/src/lib/src/fwts_log.c
index 2b11441..c764d55 100644
--- a/src/lib/src/fwts_log.c
+++ b/src/lib/src/fwts_log.c
@@ -25,6 +25,7 @@
#include <unistd.h>
#include <sys/ioctl.h>
#include <time.h>
+#include <ctype.h>
#include "fwts.h"
@@ -84,6 +85,16 @@ char *fwts_log_field_to_str(const fwts_log_field field)
return "HED";
case LOG_TAG:
return "TAG";
+ case LOG_PASSED:
+ return "PAS";
+ case LOG_FAILED:
+ return "FAL";
+ case LOG_SKIPPED:
+ return "SKP";
+ case LOG_ABORTED:
+ return "ABT";
+ case LOG_INFOONLY:
+ return "INO";
default:
return LOG_UNKOWN_FIELD;
}
@@ -118,12 +129,40 @@ char *fwts_log_field_to_str_full(const fwts_log_field field)
return "Heading";
case LOG_TAG:
return "Tag";
+ case LOG_PASSED:
+ return "Passed";
+ case LOG_FAILED:
+ return "Failed";
+ case LOG_SKIPPED:
+ return "Skipped";
+ case LOG_ABORTED:
+ return "Aborted";
+ case LOG_INFOONLY:
+ return "Info Only";
default:
return "Unknown";
}
}
/*
+ * fwts_log_field_to_str_full()
+ * return full string name of log field
+ */
+char *fwts_log_field_to_str_upper(const fwts_log_field field)
+{
+ static char str[16];
+ char *ptr1 = str;
+ char *ptr2 = fwts_log_field_to_str_full(field);
+
+ for (ptr1 = str; *ptr2; ptr1++, ptr2++)
+ *ptr1 = toupper(*ptr2);
+
+ *ptr1 = '\0';
+
+ return str;
+}
+
+/*
* fwts_log_str_to_level()
* return log level mapped from the given string
*/
--
1.7.9.5
More information about the fwts-devel
mailing list