mirror of
https://github.com/alexkay/spek.git
synced 2025-04-16 16:42:19 +03:00
Better test error reporting
This commit is contained in:
parent
7a1112a3a8
commit
b2dea0178c
@ -16,12 +16,10 @@
|
||||
* along with Spek. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "test.h"
|
||||
|
||||
static int g_passes = 0;
|
||||
static int g_total = 0;
|
||||
int g_passes = 0;
|
||||
int g_total = 0;
|
||||
|
||||
int main()
|
||||
{
|
||||
@ -42,13 +40,3 @@ void run(std::function<void ()> func, const std::string& message)
|
||||
std::cerr << message << std::endl;
|
||||
func();
|
||||
}
|
||||
|
||||
void test(const std::string& message, bool condition)
|
||||
{
|
||||
g_total++;
|
||||
if (condition) {
|
||||
g_passes++;
|
||||
} else {
|
||||
std::cerr << "FAIL: " << message << std::endl;
|
||||
}
|
||||
}
|
||||
|
14
tests/test.h
14
tests/test.h
@ -20,14 +20,24 @@
|
||||
#define TEST_H_
|
||||
|
||||
#include <functional>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
void run(std::function<void ()> func, const std::string& message);
|
||||
void test(const std::string& message, bool condition);
|
||||
|
||||
extern int g_total;
|
||||
extern int g_passes;
|
||||
|
||||
template<class T> void test(const std::string& message, const T& expected, const T& actual)
|
||||
{
|
||||
test(message, expected == actual);
|
||||
g_total++;
|
||||
if (expected == actual) {
|
||||
g_passes++;
|
||||
} else {
|
||||
std::cerr << "FAIL: " << message;
|
||||
std::cerr << ", expected: " << expected;
|
||||
std::cerr << ", actual: " << actual << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void test_utils();
|
||||
|
Loading…
x
Reference in New Issue
Block a user