fork

Fork of cpputest by Rohit Grover

Committer:
Kojto
Date:
Wed May 13 13:20:35 2015 +0000
Revision:
3:9e8c8907d9ee
Parent:
1:4769360130ed
Rename console to mbed_cpputest_console (as in mbed testrunner)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 0:0b799af9d58e 1 /*
rgrover1 0:0b799af9d58e 2 * Copyright (c) 2007, Michael Feathers, James Grenning and Bas Vodde
rgrover1 0:0b799af9d58e 3 * All rights reserved.
rgrover1 0:0b799af9d58e 4 *
rgrover1 0:0b799af9d58e 5 * Redistribution and use in source and binary forms, with or without
rgrover1 0:0b799af9d58e 6 * modification, are permitted provided that the following conditions are met:
rgrover1 0:0b799af9d58e 7 * * Redistributions of source code must retain the above copyright
rgrover1 0:0b799af9d58e 8 * notice, this list of conditions and the following disclaimer.
rgrover1 0:0b799af9d58e 9 * * Redistributions in binary form must reproduce the above copyright
rgrover1 0:0b799af9d58e 10 * notice, this list of conditions and the following disclaimer in the
rgrover1 0:0b799af9d58e 11 * documentation and/or other materials provided with the distribution.
rgrover1 0:0b799af9d58e 12 * * Neither the name of the <organization> nor the
rgrover1 0:0b799af9d58e 13 * names of its contributors may be used to endorse or promote products
rgrover1 0:0b799af9d58e 14 * derived from this software without specific prior written permission.
rgrover1 0:0b799af9d58e 15 *
rgrover1 0:0b799af9d58e 16 * THIS SOFTWARE IS PROVIDED BY THE EARLIER MENTIONED AUTHORS ``AS IS'' AND ANY
rgrover1 0:0b799af9d58e 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
rgrover1 0:0b799af9d58e 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
rgrover1 0:0b799af9d58e 19 * DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
rgrover1 0:0b799af9d58e 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
rgrover1 0:0b799af9d58e 21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
rgrover1 0:0b799af9d58e 22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
rgrover1 0:0b799af9d58e 23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
rgrover1 0:0b799af9d58e 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
rgrover1 0:0b799af9d58e 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
rgrover1 0:0b799af9d58e 26 */
rgrover1 0:0b799af9d58e 27
rgrover1 0:0b799af9d58e 28 ///////////////////////////////////////////////////////////////////////////////
rgrover1 0:0b799af9d58e 29 //
rgrover1 0:0b799af9d58e 30 // Failure is a class which holds information for a specific
rgrover1 0:0b799af9d58e 31 // test failure. It can be overriden for more complex failure messages
rgrover1 0:0b799af9d58e 32 //
rgrover1 0:0b799af9d58e 33 ///////////////////////////////////////////////////////////////////////////////
rgrover1 0:0b799af9d58e 34
rgrover1 0:0b799af9d58e 35
rgrover1 0:0b799af9d58e 36 #ifndef D_TestFailure_H
rgrover1 0:0b799af9d58e 37 #define D_TestFailure_H
rgrover1 0:0b799af9d58e 38
rgrover1 0:0b799af9d58e 39 #include "SimpleString.h"
rgrover1 0:0b799af9d58e 40
rgrover1 0:0b799af9d58e 41 class UtestShell;
rgrover1 0:0b799af9d58e 42 class TestOutput;
rgrover1 0:0b799af9d58e 43
rgrover1 0:0b799af9d58e 44 class TestFailure
rgrover1 0:0b799af9d58e 45 {
rgrover1 0:0b799af9d58e 46
rgrover1 0:0b799af9d58e 47 public:
rgrover1 0:0b799af9d58e 48 TestFailure(UtestShell*, const char* fileName, int lineNumber,
rgrover1 0:0b799af9d58e 49 const SimpleString& theMessage);
rgrover1 0:0b799af9d58e 50 TestFailure(UtestShell*, const SimpleString& theMessage);
rgrover1 0:0b799af9d58e 51 TestFailure(UtestShell*, const char* fileName, int lineNumber);
rgrover1 0:0b799af9d58e 52 TestFailure(const TestFailure&);
rgrover1 0:0b799af9d58e 53 virtual ~TestFailure();
rgrover1 0:0b799af9d58e 54
rgrover1 0:0b799af9d58e 55 virtual SimpleString getFileName() const;
rgrover1 0:0b799af9d58e 56 virtual SimpleString getTestName() const;
rgrover1 0:0b799af9d58e 57 virtual int getFailureLineNumber() const;
rgrover1 0:0b799af9d58e 58 virtual SimpleString getMessage() const;
rgrover1 0:0b799af9d58e 59 virtual SimpleString getTestFileName() const;
rgrover1 0:0b799af9d58e 60 virtual int getTestLineNumber() const;
rgrover1 0:0b799af9d58e 61 bool isOutsideTestFile() const;
rgrover1 0:0b799af9d58e 62 bool isInHelperFunction() const;
rgrover1 0:0b799af9d58e 63
rgrover1 0:0b799af9d58e 64
rgrover1 0:0b799af9d58e 65 protected:
rgrover1 0:0b799af9d58e 66
rgrover1 0:0b799af9d58e 67 SimpleString createButWasString(const SimpleString& expected, const SimpleString& actual);
rgrover1 0:0b799af9d58e 68 SimpleString createDifferenceAtPosString(const SimpleString& actual, size_t position);
rgrover1 0:0b799af9d58e 69
rgrover1 0:0b799af9d58e 70 SimpleString testName_;
rgrover1 0:0b799af9d58e 71 SimpleString fileName_;
rgrover1 0:0b799af9d58e 72 int lineNumber_;
rgrover1 0:0b799af9d58e 73 SimpleString testFileName_;
rgrover1 0:0b799af9d58e 74 int testLineNumber_;
rgrover1 0:0b799af9d58e 75 SimpleString message_;
rgrover1 0:0b799af9d58e 76
rgrover1 0:0b799af9d58e 77 TestFailure& operator=(const TestFailure&);
rgrover1 0:0b799af9d58e 78
rgrover1 0:0b799af9d58e 79 };
rgrover1 0:0b799af9d58e 80
rgrover1 0:0b799af9d58e 81 class EqualsFailure: public TestFailure
rgrover1 0:0b799af9d58e 82 {
rgrover1 0:0b799af9d58e 83 public:
rgrover1 0:0b799af9d58e 84 EqualsFailure(UtestShell*, const char* fileName, int lineNumber, const char* expected, const char* actual);
rgrover1 0:0b799af9d58e 85 EqualsFailure(UtestShell*, const char* fileName, int lineNumber, const SimpleString& expected, const SimpleString& actual);
rgrover1 0:0b799af9d58e 86 };
rgrover1 0:0b799af9d58e 87
rgrover1 0:0b799af9d58e 88 class DoublesEqualFailure: public TestFailure
rgrover1 0:0b799af9d58e 89 {
rgrover1 0:0b799af9d58e 90 public:
rgrover1 0:0b799af9d58e 91 DoublesEqualFailure(UtestShell*, const char* fileName, int lineNumber, double expected, double actual, double threshold);
rgrover1 0:0b799af9d58e 92 };
rgrover1 0:0b799af9d58e 93
rgrover1 0:0b799af9d58e 94 class CheckEqualFailure : public TestFailure
rgrover1 0:0b799af9d58e 95 {
rgrover1 0:0b799af9d58e 96 public:
rgrover1 0:0b799af9d58e 97 CheckEqualFailure(UtestShell* test, const char* fileName, int lineNumber, const SimpleString& expected, const SimpleString& actual);
rgrover1 0:0b799af9d58e 98 };
rgrover1 0:0b799af9d58e 99
rgrover1 0:0b799af9d58e 100 class ContainsFailure: public TestFailure
rgrover1 0:0b799af9d58e 101 {
rgrover1 0:0b799af9d58e 102 public:
rgrover1 0:0b799af9d58e 103 ContainsFailure(UtestShell*, const char* fileName, int lineNumber, const SimpleString& expected, const SimpleString& actual);
rgrover1 0:0b799af9d58e 104
rgrover1 0:0b799af9d58e 105 };
rgrover1 0:0b799af9d58e 106
rgrover1 0:0b799af9d58e 107 class CheckFailure : public TestFailure
rgrover1 0:0b799af9d58e 108 {
rgrover1 0:0b799af9d58e 109 public:
rgrover1 0:0b799af9d58e 110 CheckFailure(UtestShell* test, const char* fileName, int lineNumber, const SimpleString& checkString, const SimpleString& conditionString, const SimpleString& textString = "");
rgrover1 0:0b799af9d58e 111 };
rgrover1 0:0b799af9d58e 112
rgrover1 0:0b799af9d58e 113 class FailFailure : public TestFailure
rgrover1 0:0b799af9d58e 114 {
rgrover1 0:0b799af9d58e 115 public:
rgrover1 0:0b799af9d58e 116 FailFailure(UtestShell* test, const char* fileName, int lineNumber, const SimpleString& message);
rgrover1 0:0b799af9d58e 117 };
rgrover1 0:0b799af9d58e 118
rgrover1 0:0b799af9d58e 119 class LongsEqualFailure : public TestFailure
rgrover1 0:0b799af9d58e 120 {
rgrover1 0:0b799af9d58e 121 public:
rgrover1 0:0b799af9d58e 122 LongsEqualFailure(UtestShell* test, const char* fileName, int lineNumber, long expected, long actual);
rgrover1 0:0b799af9d58e 123 };
rgrover1 0:0b799af9d58e 124
Rohit Grover 1:4769360130ed 125 class UnsignedLongsEqualFailure : public TestFailure
Rohit Grover 1:4769360130ed 126 {
Rohit Grover 1:4769360130ed 127 public:
Rohit Grover 1:4769360130ed 128 UnsignedLongsEqualFailure(UtestShell* test, const char* fileName, int lineNumber, unsigned long expected, unsigned long actual);
Rohit Grover 1:4769360130ed 129 };
Rohit Grover 1:4769360130ed 130
rgrover1 0:0b799af9d58e 131 class StringEqualFailure : public TestFailure
rgrover1 0:0b799af9d58e 132 {
rgrover1 0:0b799af9d58e 133 public:
rgrover1 0:0b799af9d58e 134 StringEqualFailure(UtestShell* test, const char* fileName, int lineNumber, const char* expected, const char* actual);
rgrover1 0:0b799af9d58e 135 };
rgrover1 0:0b799af9d58e 136
rgrover1 0:0b799af9d58e 137 class StringEqualNoCaseFailure : public TestFailure
rgrover1 0:0b799af9d58e 138 {
rgrover1 0:0b799af9d58e 139 public:
rgrover1 0:0b799af9d58e 140 StringEqualNoCaseFailure(UtestShell* test, const char* fileName, int lineNumber, const char* expected, const char* actual);
rgrover1 0:0b799af9d58e 141 };
rgrover1 0:0b799af9d58e 142
rgrover1 0:0b799af9d58e 143 #endif