Merge pull request #3639 from OlegHahm/unittest-color-output
Added a colored outputter to embUnit.dev/timer
commit
feb8b8cc0f
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Janos Kutscherauer <noshky@gmail.com>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "ColorOutputter.h"
|
||||
#include "ColorTextColors.h"
|
||||
|
||||
static void ColorOutputter_printHeader(OutputterRef self)
|
||||
{
|
||||
(void) self;
|
||||
}
|
||||
|
||||
static void ColorOutputter_printStartTest(OutputterRef self, TestRef test)
|
||||
{
|
||||
(void) self;
|
||||
(void) test;
|
||||
}
|
||||
|
||||
static void ColorOutputter_printEndTest(OutputterRef self, TestRef test)
|
||||
{
|
||||
(void) self;
|
||||
(void) test;
|
||||
}
|
||||
|
||||
static void ColorOutputter_printSuccessful(OutputterRef self, TestRef test, int runCount)
|
||||
{
|
||||
(void) self;
|
||||
(void) test;
|
||||
(void) runCount;
|
||||
printf(CGREEN "." CDEFAULT);
|
||||
}
|
||||
|
||||
static void ColorOutputter_printFailure(OutputterRef self, TestRef test, char *msg, int line,
|
||||
char *file, int runCount)
|
||||
{
|
||||
(void) self;
|
||||
(void) runCount;
|
||||
printf("\n" CRED "FAILED %s (%s:%d) %s" CDEFAULT "\n", Test_name(test), file, line, msg);
|
||||
}
|
||||
|
||||
void ColorOutputter_printStatistics(OutputterRef self, TestResultRef result)
|
||||
{
|
||||
(void) self;
|
||||
if (result->failureCount) {
|
||||
printf("\n" BGRED SBOLD "FAILED" SDEFAULT " (%d of %d failed)", result->failureCount,
|
||||
result->runCount);
|
||||
}
|
||||
else {
|
||||
printf("\n" BGGREEN SBOLD "OK" SDEFAULT " (%d tests)", result->runCount);
|
||||
}
|
||||
printf(LINEFILL BGDEFAULT "\n");
|
||||
}
|
||||
|
||||
static const OutputterImplement ColorOutputterImplement = {
|
||||
(OutputterPrintHeaderFunction) ColorOutputter_printHeader,
|
||||
(OutputterPrintStartTestFunction) ColorOutputter_printStartTest,
|
||||
(OutputterPrintEndTestFunction) ColorOutputter_printEndTest,
|
||||
(OutputterPrintSuccessfulFunction) ColorOutputter_printSuccessful,
|
||||
(OutputterPrintFailureFunction) ColorOutputter_printFailure,
|
||||
(OutputterPrintStatisticsFunction) ColorOutputter_printStatistics
|
||||
};
|
||||
|
||||
static const Outputter ColorOutputter = {
|
||||
(OutputterImplementRef) &ColorOutputterImplement
|
||||
};
|
||||
|
||||
OutputterRef ColorOutputter_outputter(void)
|
||||
{
|
||||
return (OutputterRef) &ColorOutputter;
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Janos Kutscherauer <noshky@gmail.com>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
*
|
||||
* @author Janos Kutscherauer <noshky@gmail.com>
|
||||
*/
|
||||
#ifndef __COLORTEXTCOLORS_H__
|
||||
#define __COLORTEXTCOLORS_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @name Terminal color definitions
|
||||
* C<color>: text color
|
||||
*
|
||||
* CDEFAULT: default text color
|
||||
*
|
||||
* BG<color>: background color
|
||||
*
|
||||
* BGDEFAULT: default background color
|
||||
*
|
||||
* S<style>: text style
|
||||
*
|
||||
* SDEFAULT: default text style
|
||||
* @{
|
||||
*/
|
||||
#define CRED "\033[31m"
|
||||
#define CGREEN "\033[32m"
|
||||
#define CDEFAULT "\033[39m"
|
||||
#define BGRED "\033[41m"
|
||||
#define BGGREEN "\033[42m"
|
||||
#define BGDEFAULT "\033[49m"
|
||||
#define SBOLD "\033[1m"
|
||||
#define SDEFAULT "\033[21m"
|
||||
#define LINEFILL "\033[K"
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif/*__COLORTEXTCOLORS_H__*/
|
||||
/** @} */
|
@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Janos Kutscherauer <noshky@gmail.com>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "ColorTextOutputter.h"
|
||||
#include "ColorOutputter.h"
|
||||
#include "ColorTextColors.h"
|
||||
|
||||
static void ColorTextOutputter_printHeader(OutputterRef self)
|
||||
{
|
||||
(void)self;
|
||||
}
|
||||
|
||||
static void ColorTextOutputter_printStartTest(OutputterRef self,TestRef test)
|
||||
{
|
||||
(void)self;
|
||||
printf("- %s\n",Test_name(test));
|
||||
}
|
||||
|
||||
static void ColorTextOutputter_printEndTest(OutputterRef self,TestRef test)
|
||||
{
|
||||
(void)self;
|
||||
(void)test;
|
||||
}
|
||||
|
||||
static void ColorTextOutputter_printSuccessful(OutputterRef self,TestRef test,int runCount)
|
||||
{
|
||||
(void)self;
|
||||
printf(CGREEN "%d) OK %s" CDEFAULT "\n", runCount, Test_name(test));
|
||||
}
|
||||
|
||||
static void ColorTextOutputter_printFailure(OutputterRef self,TestRef test,char *msg,int line,char *file,int runCount)
|
||||
{
|
||||
(void)self;
|
||||
printf(CRED "%d) NG %s" CDEFAULT " (%s:%d) %s\n", runCount, Test_name(test), file, line, msg);
|
||||
}
|
||||
|
||||
void ColorTextOutputter_printStatistics(OutputterRef self,TestResultRef result)
|
||||
{
|
||||
ColorOutputter_printStatistics(self, result);
|
||||
}
|
||||
|
||||
static const OutputterImplement ColorTextOutputterImplement = {
|
||||
(OutputterPrintHeaderFunction) ColorTextOutputter_printHeader,
|
||||
(OutputterPrintStartTestFunction) ColorTextOutputter_printStartTest,
|
||||
(OutputterPrintEndTestFunction) ColorTextOutputter_printEndTest,
|
||||
(OutputterPrintSuccessfulFunction) ColorTextOutputter_printSuccessful,
|
||||
(OutputterPrintFailureFunction) ColorTextOutputter_printFailure,
|
||||
(OutputterPrintStatisticsFunction) ColorTextOutputter_printStatistics,
|
||||
};
|
||||
|
||||
static const Outputter ColorTextOutputter = {
|
||||
(OutputterImplementRef)&ColorTextOutputterImplement,
|
||||
};
|
||||
|
||||
OutputterRef ColorTextOutputter_outputter(void)
|
||||
{
|
||||
return (OutputterRef)&ColorTextOutputter;
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Janos Kutscherauer <noshky@gmail.com>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @{
|
||||
*
|
||||
* @file
|
||||
*
|
||||
* @author Janos Kutscherauer <noshky@gmail.com>
|
||||
*/
|
||||
#ifndef __COLOROUTPUTTER_H__
|
||||
#define __COLOROUTPUTTER_H__
|
||||
|
||||
#include "Outputter.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief embUnit coloured output formatter
|
||||
*
|
||||
* @return pointer to the OutputterImplement struct for this outputter
|
||||
*/
|
||||
OutputterRef ColorOutputter_outputter(void);
|
||||
|
||||
/**
|
||||
* @brief coloured output formatter for test statistics
|
||||
*
|
||||
* @param[in] self pointer to the used OutputterImplement
|
||||
* @param[in] result the test results to print
|
||||
*/
|
||||
void ColorOutputter_printStatistics(OutputterRef self, TestResultRef result);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif/*__COLOROUTPUTTER_H__*/
|
||||
/** @} */
|
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Copyright (C) 2015 Janos Kutscherauer <noshky@gmail.com>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @{
|
||||
*
|
||||
* @file ColorTextOutputter.h
|
||||
*/
|
||||
#ifndef __COLORTEXTOUTPUTTER_H__
|
||||
#define __COLORTEXTOUTPUTTER_H__
|
||||
|
||||
#include "Outputter.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
OutputterRef ColorTextOutputter_outputter(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif/*__COLORTEXTOUTPUTTER_H__*/
|
||||
/** @} */
|
Loading…
Reference in New Issue