aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorArnaud Gelas <arnaud.gelas@sensefly.com>2019-02-04 15:52:30 +0100
committerAndreas Schneider <asn@cryptomilk.org>2019-11-19 15:38:34 +0100
commit226a89cc434649ca4a4230cccac81976dfda9592 (patch)
tree42bf9e0e620a9abafeb2e93d49e3451626884f21 /tests
parent1e21400a7923a2e539c7a4b078fb3e445a493c35 (diff)
downloadcmocka-226a89cc434649ca4a4230cccac81976dfda9592.tar.gz
cmocka-226a89cc434649ca4a4230cccac81976dfda9592.tar.xz
cmocka-226a89cc434649ca4a4230cccac81976dfda9592.zip
cmocka: Add new assert macros to compare 2 double given an epsilon.
assert_double_equal and assert_double_not_equal Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/test_double_macros.c40
2 files changed, 41 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index def90d3..7487a9c 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -16,6 +16,7 @@ set(CMOCKA_TESTS
test_group_fixtures
test_groups
test_float_macros
+ test_double_macros
test_assert_macros
test_assert_macros_fail
test_basics
diff --git a/tests/test_double_macros.c b/tests/test_double_macros.c
new file mode 100644
index 0000000..138c579
--- /dev/null
+++ b/tests/test_double_macros.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2019 Arnaud Gelas <arnaud.gelas@sensefly.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* Use the unit test allocators */
+#define UNIT_TESTING 1
+
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+
+/* A test case that does check if double is equal. */
+static void double_test_success(void **state)
+{
+ (void)state; /* unused */
+
+ assert_double_equal(0.5, 1. / 2., 0.000001);
+ assert_double_not_equal(0.5, 0.499, 0.000001);
+}
+
+int main(void) {
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test(double_test_success),
+ };
+
+ return cmocka_run_group_tests(tests, NULL, NULL);
+}