Blame view

RIOT/sys/embunit/ColorOutputter.c 2.08 KB
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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;
  }