aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2024-03-15 22:41:32 +0200
committerPetri Lehtinen <petri@digip.org>2024-03-25 20:08:23 +0200
commit9699de8600c8fc74b9820f70f1bd73bc616bdc1c (patch)
tree45e404c3f9e9c4c8cc453c4a548919260a4a0a74
parent33a6c95d56bf020ab311a5ee57d6726a91318b71 (diff)
downloadjansson-9699de8600c8fc74b9820f70f1bd73bc616bdc1c.zip
jansson-9699de8600c8fc74b9820f70f1bd73bc616bdc1c.tar.gz
jansson-9699de8600c8fc74b9820f70f1bd73bc616bdc1c.tar.bz2
Fix tests
-rw-r--r--CMakeLists.txt5
-rw-r--r--test/suites/valid/real-exponent-no-dtoa/input1
-rw-r--r--test/suites/valid/real-exponent-no-dtoa/output1
-rw-r--r--test/suites/valid/real-exponent-no-dtoa/skip_if_dtoa0
-rw-r--r--test/suites/valid/real-exponent/output2
-rw-r--r--test/suites/valid/real-exponent/skip_unless_dtoa0
-rwxr-xr-xtest/suites/valid/run11
7 files changed, 19 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d4997d2..3394236 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -535,6 +535,11 @@ if (NOT JANSSON_WITHOUT_TESTS)
if (IS_DIRECTORY ${TESTDIR})
get_filename_component(TNAME ${TESTDIR} NAME)
+ if ((USE_DTOA AND EXISTS ${TESTDIR}/skip_if_dtoa) OR
+ (NOT USE_DTOA AND EXISTS ${TESTDIR}/skip_unless_dtoa))
+ continue()
+ endif()
+
if (JANSSON_TEST_WITH_VALGRIND)
add_test(memcheck__${SUITE}__${TNAME}
${MEMCHECK_COMMAND} ${SUITE_TEST_CMD} ${TESTDIR})
diff --git a/test/suites/valid/real-exponent-no-dtoa/input b/test/suites/valid/real-exponent-no-dtoa/input
new file mode 100644
index 0000000..b2a69b9
--- /dev/null
+++ b/test/suites/valid/real-exponent-no-dtoa/input
@@ -0,0 +1 @@
+[123e45]
diff --git a/test/suites/valid/real-exponent-no-dtoa/output b/test/suites/valid/real-exponent-no-dtoa/output
new file mode 100644
index 0000000..5ffc719
--- /dev/null
+++ b/test/suites/valid/real-exponent-no-dtoa/output
@@ -0,0 +1 @@
+[1.2299999999999999e47] \ No newline at end of file
diff --git a/test/suites/valid/real-exponent-no-dtoa/skip_if_dtoa b/test/suites/valid/real-exponent-no-dtoa/skip_if_dtoa
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/suites/valid/real-exponent-no-dtoa/skip_if_dtoa
diff --git a/test/suites/valid/real-exponent/output b/test/suites/valid/real-exponent/output
index 5ffc719..9b2c601 100644
--- a/test/suites/valid/real-exponent/output
+++ b/test/suites/valid/real-exponent/output
@@ -1 +1 @@
-[1.2299999999999999e47] \ No newline at end of file
+[1.23e47] \ No newline at end of file
diff --git a/test/suites/valid/real-exponent/skip_unless_dtoa b/test/suites/valid/real-exponent/skip_unless_dtoa
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/suites/valid/real-exponent/skip_unless_dtoa
diff --git a/test/suites/valid/run b/test/suites/valid/run
index 665aad0..15f89ec 100755
--- a/test/suites/valid/run
+++ b/test/suites/valid/run
@@ -5,11 +5,22 @@
# Jansson is free software; you can redistribute it and/or modify
# it under the terms of the MIT license. See LICENSE for details.
+dtoa_enabled() {
+ grep -q "DTOA_ENABLED 1" $top_builddir/jansson_private_config.h
+}
+
is_test() {
test -d $test_path
}
do_run() {
+ if [ -f $test_path/skip_unless_dtoa ]; then
+ dtoa_enabled || return 77
+ fi
+ if [ -f $test_path/skip_if_dtoa ]; then
+ dtoa_enabled && return 77
+ fi
+
variant=$1
s=".$1"