Skip to content

Commit

Permalink
Merge pull request #244 from TommyJC/development
Browse files Browse the repository at this point in the history
Add cgreen namespace to fix legacy.h for C++.
  • Loading branch information
thoni56 committed Dec 13, 2020
2 parents f4374c3 + ed618e6 commit aee0db0
Showing 1 changed file with 37 additions and 1 deletion.
38 changes: 37 additions & 1 deletion include/cgreen/legacy.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,43 @@

#include "internal/stringify_token.h"

#ifdef __cplusplus
/* Legacy style asserts (for C++):*/
#define assert_true(result) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, (result), "[" STRINGIFY_TOKEN(result) "] should be true\n", NULL)
#define assert_false(result) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, ! (result), "[" STRINGIFY_TOKEN(result) "] should be false\n", NULL)
#define assert_equal(tried, expected) \
assert_equal_(__FILE__, __LINE__, STRINGIFY_TOKEN(tried), (intptr_t)(tried), (intptr_t)(expected))
#define assert_not_equal(tried, expected) \
assert_not_equal_(__FILE__, __LINE__, STRINGIFY_TOKEN(tried), (intptr_t)(tried), (intptr_t)(expected))
#define assert_double_equal(tried, expected) \
assert_double_equal_(__FILE__, __LINE__, STRINGIFY_TOKEN(tried), (tried), (expected))
#define assert_double_not_equal(tried, expected) \
assert_double_not_equal_(__FILE__, __LINE__, STRINGIFY_TOKEN(tried), (tried), (expected))
#define assert_string_equal(tried, expected) \
assert_string_equal_(__FILE__, __LINE__, STRINGIFY_TOKEN(tried), (tried), (expected))
#define assert_string_not_equal(tried, expected) \
assert_string_not_equal_(__FILE__, __LINE__, STRINGIFY_TOKEN(tried), (tried), (expected))

/* Legacy style asserts:*/
#define assert_true_with_message(result, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, (result), __VA_ARGS__)
#define assert_false_with_message(result, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, ! (result), __VA_ARGS__)
#define assert_equal_with_message(tried, expected, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, ((tried) == (expected)), __VA_ARGS__)
#define assert_not_equal_with_message(tried, expected, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, ((tried) != (expected)), __VA_ARGS__)
#define assert_double_equal_with_message(tried, expected, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, doubles_are_equal((tried), (expected)), __VA_ARGS__)
#define assert_double_not_equal_with_message(tried, expected, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, doubles_are_equal((tried), (expected)), __VA_ARGS__)
#define assert_string_equal_with_message(tried, expected, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, strings_are_equal((tried), (expected)), __VA_ARGS__)
#define assert_string_not_equal_with_message(tried, expected, ...) \
(*cgreen::get_test_reporter()->assert_true)(cgreen::get_test_reporter(), __FILE__, __LINE__, !strings_are_equal((tried), (expected)), __VA_ARGS__)
#else
/* Legacy style asserts (for C):*/
#define assert_true(result) \
(*get_test_reporter()->assert_true)(get_test_reporter(), __FILE__, __LINE__, (result), "[" STRINGIFY_TOKEN(result) "] should be true\n", NULL)
#define assert_false(result) \
Expand Down Expand Up @@ -38,5 +73,6 @@
(*get_test_reporter()->assert_true)(get_test_reporter(), __FILE__, __LINE__, strings_are_equal((tried), (expected)), __VA_ARGS__)
#define assert_string_not_equal_with_message(tried, expected, ...) \
(*get_test_reporter()->assert_true)(get_test_reporter(), __FILE__, __LINE__, !strings_are_equal((tried), (expected)), __VA_ARGS__)
#endif

#endif

0 comments on commit aee0db0

Please sign in to comment.