push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
diff --git a/test/unittest/writertest.cpp b/test/unittest/writertest.cpp
index 4c24121..66c9087 100644
--- a/test/unittest/writertest.cpp
+++ b/test/unittest/writertest.cpp
@@ -386,6 +386,9 @@ TEST(Writer, InvalidEncoding) {
writer.EndArray();
}
+
+ // does not compile on clang-19
+#if 0
// Fail in encoding
{
StringBuffer buffer;
@@ -401,6 +404,7 @@ TEST(Writer, InvalidEncoding) {
static const UTF32<>::Ch s[] = { 0x110000, 0 }; // Out of U+0000 to U+10FFFF
EXPECT_FALSE(writer.String(s));
}
+#endif
}
TEST(Writer, ValidateEncoding) {

View File

@@ -0,0 +1,96 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
doxygen,
graphviz,
gtest,
unstableGitUpdater,
valgrind,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rapidjson";
version = "1.1.0-unstable-2025-02-05";
outputs = [
"out"
"doc"
];
src = fetchFromGitHub {
owner = "Tencent";
repo = "rapidjson";
rev = "24b5e7a8b27f42fa16b96fc70aade9106cf7102f";
hash = "sha256-oHHLYRDMb7Y/k0CwsdsxPC5lglr2IChQi0AiOMiFn78=";
};
patches = [
./use-nixpkgs-gtest.patch
# https://github.com/Tencent/rapidjson/issues/2214
./suppress-valgrind-failures.patch
# disable tests which don't build on clang-19
# https://github.com/Tencent/rapidjson/issues/2318
./char_traits-clang-19-errors.diff
];
postPatch = ''
for f in doc/Doxyfile.*; do
substituteInPlace $f \
--replace-fail "WARN_IF_UNDOCUMENTED = YES" "WARN_IF_UNDOCUMENTED = NO"
done
'';
nativeBuildInputs = [
cmake
doxygen
graphviz
];
buildInputs = [
gtest
];
strictDeps = true;
cmakeFlags = [
(lib.cmakeBool "RAPIDJSON_BUILD_DOC" true)
(lib.cmakeBool "RAPIDJSON_BUILD_TESTS" true)
(lib.cmakeBool "RAPIDJSON_BUILD_EXAMPLES" false)
# gtest 1.13+ requires C++14 or later.
(lib.cmakeBool "RAPIDJSON_BUILD_CXX11" false)
(lib.cmakeBool "RAPIDJSON_BUILD_CXX17" true)
# Prevent -march=native
(lib.cmakeBool "RAPIDJSON_ENABLE_INSTRUMENTATION_OPT" false)
# Disable -Werror by using build type specific flags, which are
# added after general CMAKE_CXX_FLAGS.
(lib.cmakeFeature "CMAKE_CXX_FLAGS_RELEASE" "-Wno-error")
];
doCheck =
!(stdenv.hostPlatform.isStatic || stdenv.hostPlatform.isDarwin)
&& lib.meta.availableOn stdenv.hostPlatform valgrind;
nativeCheckInputs = [
valgrind
];
passthru = {
updateScript = unstableGitUpdater {
tagPrefix = "v";
};
};
meta = {
description = "Fast JSON parser/generator for C++ with both SAX/DOM style API";
homepage = "http://rapidjson.org/";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = [
lib.maintainers.dotlambda
lib.maintainers.tobim
];
};
})

View File

@@ -0,0 +1,36 @@
diff --git a/test/valgrind.supp b/test/valgrind.supp
index c9d3d226..63af7bf9 100644
--- a/test/valgrind.supp
+++ b/test/valgrind.supp
@@ -24,3 +24,31 @@
fun:*Uri*Parse_UTF16_Std*
}
+{
+ Suppress memcpy_chk valgrind report 5
+ Memcheck:Overlap
+ fun:__memcpy_chk
+ fun:*dtoa_normal*
+}
+
+{
+ Suppress memcpy_chk valgrind report 6
+ Memcheck:Overlap
+ fun:__memcpy_chk
+ fun:*dtoa_maxDecimalPlaces*
+}
+
+{
+ Suppress memcpy_chk valgrind report 7
+ Memcheck:Overlap
+ fun:__memcpy_chk
+ ...
+ fun:*Reader*ParseDoubleHandler*
+}
+
+{
+ Suppress memcpy_chk valgrind report 8
+ Memcheck:Overlap
+ fun:__memcpy_chk
+ fun:*Reader*ParseNumber_NormalPrecisionError*
+}

View File

@@ -0,0 +1,43 @@
From b9206d360c19412d185263795d67c884feab281a Mon Sep 17 00:00:00 2001
From: Tobias Mayer <tobim@fastmail.fm>
Date: Mon, 29 Jul 2024 07:26:50 +0200
Subject: [PATCH] Use nixpkgs gtest
---
test/CMakeLists.txt | 24 ++++++------------------
1 file changed, 6 insertions(+), 18 deletions(-)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 11c1b04c..3d02d475 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,20 +1,8 @@
-find_package(GTestSrc)
+find_package(GTest REQUIRED)
+enable_testing()
-IF(GTESTSRC_FOUND)
- enable_testing()
+set(TEST_LIBRARIES GTest::gtest GTest::gtest_main)
- if (WIN32 AND (NOT CYGWIN) AND (NOT MINGW))
- set(gtest_disable_pthreads ON)
- set(gtest_force_shared_crt ON)
- endif()
-
- add_subdirectory(${GTEST_SOURCE_DIR} ${CMAKE_BINARY_DIR}/googletest)
- include_directories(SYSTEM ${GTEST_INCLUDE_DIR})
-
- set(TEST_LIBRARIES gtest gtest_main)
-
- add_custom_target(tests ALL)
- add_subdirectory(perftest)
- add_subdirectory(unittest)
-
-ENDIF(GTESTSRC_FOUND)
+add_custom_target(tests ALL)
+add_subdirectory(perftest)
+add_subdirectory(unittest)
--
2.45.2