Message ID | 20231109091526.484831-1-mingli.yu@windriver.com |
---|---|
State | Under Review |
Headers | show |
Series | [meta-oe,1/2] nlohmann-json: Add ptest support | expand |
fails in build QA https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3323/steps/14/logs/stdio On Thu, Nov 9, 2023 at 1:15 AM Yu, Mingli <mingli.yu@eng.windriver.com> wrote: > > From: Mingli Yu <mingli.yu@windriver.com> > > * Backport 2 patches [1] [2] to fix the build failure under tests dir. > > * Fetch the test data during do_fetch phase to avoid internet access > during test as some tests need test data. > # ./run-ptest > PASS: test-algorithms_cpp11 > PASS: test-allocator_cpp11 > PASS: test-alt-string_cpp11 > PASS: test-assert_macro_cpp11 > PASS: test-binary_formats_cpp11 > [snip] > PASS: test-unicode5_cpp11 > PASS: test-user_defined_input_cpp11 > PASS: test-windows_h_cpp11 > PASS: test-wstring_cpp11 > > [1] https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee > [2] https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8 > > Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > --- > ...tors-define-missing-rebind-type-3895.patch | 61 +++++++++++++++++++ > ...tors2-use-std-ranges-equals-for-rang.patch | 31 ++++++++++ > .../nlohmann-json/files/run-ptest | 12 ++++ > .../nlohmann-json/nlohmann-json_3.11.2.bb | 21 ++++++- > 4 files changed, 122 insertions(+), 3 deletions(-) > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > create mode 100755 meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > new file mode 100644 > index 000000000..d964586c1 > --- /dev/null > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > @@ -0,0 +1,61 @@ > +From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001 > +From: Sergei Trofimovich <slyich@gmail.com> > +Date: Wed, 8 Mar 2023 11:31:56 +0000 > +Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895) > + > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee] > + > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > +--- > + tests/src/unit-allocator.cpp | 9 +++++++++ > + tests/src/unit-regression2.cpp | 9 +++++++++ > + 2 files changed, 18 insertions(+) > + > +diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp > +index 76e3b03f..f2e63552 100644 > +--- a/tests/src/unit-allocator.cpp > ++++ b/tests/src/unit-allocator.cpp > +@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T> > + { > + using std::allocator<T>::allocator; > + > ++ bad_allocator() = default; > ++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { } > ++ > + template<class... Args> > + void construct(T* /*unused*/, Args&& ... /*unused*/) > + { > + throw std::bad_alloc(); > + } > ++ > ++ template <class U> > ++ struct rebind > ++ { > ++ using other = bad_allocator<U>; > ++ }; > + }; > + } // namespace > + > +diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp > +index 2bb9b32e..dbafb436 100644 > +--- a/tests/src/unit-regression2.cpp > ++++ b/tests/src/unit-regression2.cpp > +@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T> > + { > + public: > + using std::allocator<T>::allocator; > ++ > ++ my_allocator() = default; > ++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { } > ++ > ++ template <class U> > ++ struct rebind > ++ { > ++ using other = my_allocator<U>; > ++ }; > + }; > + > + ///////////////////////////////////////////////////////////////////// > +-- > +2.25.1 > + > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > new file mode 100644 > index 000000000..463912e4b > --- /dev/null > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > @@ -0,0 +1,31 @@ > +From 660d0b58565073975d6f5d94365d6cbf150a4cf8 Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> > +Date: Sun, 5 Mar 2023 14:11:22 +0100 > +Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range > + comparisons (#3950) > + > +Closes https://github.com/nlohmann/json/issues/3927 > + > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8] > + > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > +--- > + tests/src/unit-iterators2.cpp | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp > +index 27926084..72a5d9dc 100644 > +--- a/tests/src/unit-iterators2.cpp > ++++ b/tests/src/unit-iterators2.cpp > +@@ -943,7 +943,7 @@ TEST_CASE("iterators 2") > + json j_expected{5, 4, 3, 2, 1}; > + > + auto reversed = j | std::views::reverse; > +- CHECK(reversed == j_expected); > ++ CHECK(std::ranges::equal(reversed, j_expected)); > + } > + > + SECTION("transform") > +-- > +2.25.1 > + > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > new file mode 100755 > index 000000000..2f00267d5 > --- /dev/null > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > @@ -0,0 +1,12 @@ > +#!/bin/sh > + > +cd tests > +for atest in test-* ; do > + rm -rf tests.log > + ./${atest} > tests.log 2>&1 > + if [ $? = 0 ] ; then > + echo "PASS: ${atest}" > + else > + echo "FAIL: ${atest}" > + fi > +done > diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > index 74e40942a..d6a8fbe63 100644 > --- a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > +++ b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > @@ -7,15 +7,22 @@ LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588" > CVE_PRODUCT = "json-for-modern-cpp" > > SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ > - " > + git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \ > + file://0001-custom-allocators-define-missing-rebind-type-3895.patch \ > + file://0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch \ > + file://run-ptest \ > +" > > SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d" > +SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" > + > +SRCREV_FORMAT = "json-test-data" > > S = "${WORKDIR}/git" > > -inherit cmake > +inherit cmake ptest > > -EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" > +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}" > > # nlohmann-json is a header only C++ library, so the main package will be empty. > ALLOW_EMPTY:${PN} = "1" > @@ -23,6 +30,14 @@ RDEPENDS:${PN}-dev = "" > > BBCLASSEXTEND = "native nativesdk" > > + > +do_install_ptest () { > + install -d ${D}${PTEST_PATH}/tests > + cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/ > + cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests > +} > + > + > # other packages commonly reference the file directly as "json.hpp" > # create symlink to allow this usage > do_install:append() { > -- > 2.25.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#106511): https://lists.openembedded.org/g/openembedded-devel/message/106511 > Mute This Topic: https://lists.openembedded.org/mt/102482301/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
another CI log https://errors.yoctoproject.org/Errors/Details/742264/ On Thu, Nov 9, 2023 at 8:47 PM Khem Raj <raj.khem@gmail.com> wrote: > > fails in build QA > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3323/steps/14/logs/stdio > > On Thu, Nov 9, 2023 at 1:15 AM Yu, Mingli <mingli.yu@eng.windriver.com> wrote: > > > > From: Mingli Yu <mingli.yu@windriver.com> > > > > * Backport 2 patches [1] [2] to fix the build failure under tests dir. > > > > * Fetch the test data during do_fetch phase to avoid internet access > > during test as some tests need test data. > > # ./run-ptest > > PASS: test-algorithms_cpp11 > > PASS: test-allocator_cpp11 > > PASS: test-alt-string_cpp11 > > PASS: test-assert_macro_cpp11 > > PASS: test-binary_formats_cpp11 > > [snip] > > PASS: test-unicode5_cpp11 > > PASS: test-user_defined_input_cpp11 > > PASS: test-windows_h_cpp11 > > PASS: test-wstring_cpp11 > > > > [1] https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee > > [2] https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8 > > > > Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > --- > > ...tors-define-missing-rebind-type-3895.patch | 61 +++++++++++++++++++ > > ...tors2-use-std-ranges-equals-for-rang.patch | 31 ++++++++++ > > .../nlohmann-json/files/run-ptest | 12 ++++ > > .../nlohmann-json/nlohmann-json_3.11.2.bb | 21 ++++++- > > 4 files changed, 122 insertions(+), 3 deletions(-) > > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > create mode 100755 meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > new file mode 100644 > > index 000000000..d964586c1 > > --- /dev/null > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > @@ -0,0 +1,61 @@ > > +From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001 > > +From: Sergei Trofimovich <slyich@gmail.com> > > +Date: Wed, 8 Mar 2023 11:31:56 +0000 > > +Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895) > > + > > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee] > > + > > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > +--- > > + tests/src/unit-allocator.cpp | 9 +++++++++ > > + tests/src/unit-regression2.cpp | 9 +++++++++ > > + 2 files changed, 18 insertions(+) > > + > > +diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp > > +index 76e3b03f..f2e63552 100644 > > +--- a/tests/src/unit-allocator.cpp > > ++++ b/tests/src/unit-allocator.cpp > > +@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T> > > + { > > + using std::allocator<T>::allocator; > > + > > ++ bad_allocator() = default; > > ++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { } > > ++ > > + template<class... Args> > > + void construct(T* /*unused*/, Args&& ... /*unused*/) > > + { > > + throw std::bad_alloc(); > > + } > > ++ > > ++ template <class U> > > ++ struct rebind > > ++ { > > ++ using other = bad_allocator<U>; > > ++ }; > > + }; > > + } // namespace > > + > > +diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp > > +index 2bb9b32e..dbafb436 100644 > > +--- a/tests/src/unit-regression2.cpp > > ++++ b/tests/src/unit-regression2.cpp > > +@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T> > > + { > > + public: > > + using std::allocator<T>::allocator; > > ++ > > ++ my_allocator() = default; > > ++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { } > > ++ > > ++ template <class U> > > ++ struct rebind > > ++ { > > ++ using other = my_allocator<U>; > > ++ }; > > + }; > > + > > + ///////////////////////////////////////////////////////////////////// > > +-- > > +2.25.1 > > + > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > new file mode 100644 > > index 000000000..463912e4b > > --- /dev/null > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > @@ -0,0 +1,31 @@ > > +From 660d0b58565073975d6f5d94365d6cbf150a4cf8 Mon Sep 17 00:00:00 2001 > > +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> > > +Date: Sun, 5 Mar 2023 14:11:22 +0100 > > +Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range > > + comparisons (#3950) > > + > > +Closes https://github.com/nlohmann/json/issues/3927 > > + > > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8] > > + > > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > +--- > > + tests/src/unit-iterators2.cpp | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp > > +index 27926084..72a5d9dc 100644 > > +--- a/tests/src/unit-iterators2.cpp > > ++++ b/tests/src/unit-iterators2.cpp > > +@@ -943,7 +943,7 @@ TEST_CASE("iterators 2") > > + json j_expected{5, 4, 3, 2, 1}; > > + > > + auto reversed = j | std::views::reverse; > > +- CHECK(reversed == j_expected); > > ++ CHECK(std::ranges::equal(reversed, j_expected)); > > + } > > + > > + SECTION("transform") > > +-- > > +2.25.1 > > + > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > new file mode 100755 > > index 000000000..2f00267d5 > > --- /dev/null > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > @@ -0,0 +1,12 @@ > > +#!/bin/sh > > + > > +cd tests > > +for atest in test-* ; do > > + rm -rf tests.log > > + ./${atest} > tests.log 2>&1 > > + if [ $? = 0 ] ; then > > + echo "PASS: ${atest}" > > + else > > + echo "FAIL: ${atest}" > > + fi > > +done > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > index 74e40942a..d6a8fbe63 100644 > > --- a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > +++ b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > @@ -7,15 +7,22 @@ LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588" > > CVE_PRODUCT = "json-for-modern-cpp" > > > > SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ > > - " > > + git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \ > > + file://0001-custom-allocators-define-missing-rebind-type-3895.patch \ > > + file://0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch \ > > + file://run-ptest \ > > +" > > > > SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d" > > +SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" > > + > > +SRCREV_FORMAT = "json-test-data" > > > > S = "${WORKDIR}/git" > > > > -inherit cmake > > +inherit cmake ptest > > > > -EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" > > +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}" > > > > # nlohmann-json is a header only C++ library, so the main package will be empty. > > ALLOW_EMPTY:${PN} = "1" > > @@ -23,6 +30,14 @@ RDEPENDS:${PN}-dev = "" > > > > BBCLASSEXTEND = "native nativesdk" > > > > + > > +do_install_ptest () { > > + install -d ${D}${PTEST_PATH}/tests > > + cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/ > > + cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests > > +} > > + > > + > > # other packages commonly reference the file directly as "json.hpp" > > # create symlink to allow this usage > > do_install:append() { > > -- > > 2.25.1 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#106511): https://lists.openembedded.org/g/openembedded-devel/message/106511 > > Mute This Topic: https://lists.openembedded.org/mt/102482301/1997914 > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
v2 sent. Thanks, ________________________________ From: Khem Raj <raj.khem@gmail.com> Sent: Friday, November 10, 2023 12:49 To: Yu, Mingli <Mingli.Yu@windriver.com> Cc: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> Subject: Re: [oe] [meta-oe][PATCH 1/2] nlohmann-json: Add ptest support CAUTION: This email comes from a non Wind River email account! Do not click links or open attachments unless you recognize the sender and know the content is safe. another CI log https://errors.yoctoproject.org/Errors/Details/742264/ On Thu, Nov 9, 2023 at 8:47 PM Khem Raj <raj.khem@gmail.com> wrote: > > fails in build QA > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3323/steps/14/logs/stdio > > On Thu, Nov 9, 2023 at 1:15 AM Yu, Mingli <mingli.yu@eng.windriver.com> wrote: > > > > From: Mingli Yu <mingli.yu@windriver.com> > > > > * Backport 2 patches [1] [2] to fix the build failure under tests dir. > > > > * Fetch the test data during do_fetch phase to avoid internet access > > during test as some tests need test data. > > # ./run-ptest > > PASS: test-algorithms_cpp11 > > PASS: test-allocator_cpp11 > > PASS: test-alt-string_cpp11 > > PASS: test-assert_macro_cpp11 > > PASS: test-binary_formats_cpp11 > > [snip] > > PASS: test-unicode5_cpp11 > > PASS: test-user_defined_input_cpp11 > > PASS: test-windows_h_cpp11 > > PASS: test-wstring_cpp11 > > > > [1] https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee > > [2] https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8 > > > > Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > --- > > ...tors-define-missing-rebind-type-3895.patch | 61 +++++++++++++++++++ > > ...tors2-use-std-ranges-equals-for-rang.patch | 31 ++++++++++ > > .../nlohmann-json/files/run-ptest | 12 ++++ > > .../nlohmann-json/nlohmann-json_3.11.2.bb | 21 ++++++- > > 4 files changed, 122 insertions(+), 3 deletions(-) > > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > create mode 100755 meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > new file mode 100644 > > index 000000000..d964586c1 > > --- /dev/null > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > @@ -0,0 +1,61 @@ > > +From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001 > > +From: Sergei Trofimovich <slyich@gmail.com> > > +Date: Wed, 8 Mar 2023 11:31:56 +0000 > > +Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895) > > + > > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee] > > + > > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > +--- > > + tests/src/unit-allocator.cpp | 9 +++++++++ > > + tests/src/unit-regression2.cpp | 9 +++++++++ > > + 2 files changed, 18 insertions(+) > > + > > +diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp > > +index 76e3b03f..f2e63552 100644 > > +--- a/tests/src/unit-allocator.cpp > > ++++ b/tests/src/unit-allocator.cpp > > +@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T> > > + { > > + using std::allocator<T>::allocator; > > + > > ++ bad_allocator() = default; > > ++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { } > > ++ > > + template<class... Args> > > + void construct(T* /*unused*/, Args&& ... /*unused*/) > > + { > > + throw std::bad_alloc(); > > + } > > ++ > > ++ template <class U> > > ++ struct rebind > > ++ { > > ++ using other = bad_allocator<U>; > > ++ }; > > + }; > > + } // namespace > > + > > +diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp > > +index 2bb9b32e..dbafb436 100644 > > +--- a/tests/src/unit-regression2.cpp > > ++++ b/tests/src/unit-regression2.cpp > > +@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T> > > + { > > + public: > > + using std::allocator<T>::allocator; > > ++ > > ++ my_allocator() = default; > > ++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { } > > ++ > > ++ template <class U> > > ++ struct rebind > > ++ { > > ++ using other = my_allocator<U>; > > ++ }; > > + }; > > + > > + ///////////////////////////////////////////////////////////////////// > > +-- > > +2.25.1 > > + > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > new file mode 100644 > > index 000000000..463912e4b > > --- /dev/null > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > @@ -0,0 +1,31 @@ > > +From 660d0b58565073975d6f5d94365d6cbf150a4cf8 Mon Sep 17 00:00:00 2001 > > +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> > > +Date: Sun, 5 Mar 2023 14:11:22 +0100 > > +Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range > > + comparisons (#3950) > > + > > +Closes https://github.com/nlohmann/json/issues/3927 > > + > > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8] > > + > > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > +--- > > + tests/src/unit-iterators2.cpp | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp > > +index 27926084..72a5d9dc 100644 > > +--- a/tests/src/unit-iterators2.cpp > > ++++ b/tests/src/unit-iterators2.cpp > > +@@ -943,7 +943,7 @@ TEST_CASE("iterators 2") > > + json j_expected{5, 4, 3, 2, 1}; > > + > > + auto reversed = j | std::views::reverse; > > +- CHECK(reversed == j_expected); > > ++ CHECK(std::ranges::equal(reversed, j_expected)); > > + } > > + > > + SECTION("transform") > > +-- > > +2.25.1 > > + > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > new file mode 100755 > > index 000000000..2f00267d5 > > --- /dev/null > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > @@ -0,0 +1,12 @@ > > +#!/bin/sh > > + > > +cd tests > > +for atest in test-* ; do > > + rm -rf tests.log > > + ./${atest} > tests.log 2>&1 > > + if [ $? = 0 ] ; then > > + echo "PASS: ${atest}" > > + else > > + echo "FAIL: ${atest}" > > + fi > > +done > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > index 74e40942a..d6a8fbe63 100644 > > --- a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > +++ b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > @@ -7,15 +7,22 @@ LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588" > > CVE_PRODUCT = "json-for-modern-cpp" > > > > SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ > > - " > > + git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \ > > + file://0001-custom-allocators-define-missing-rebind-type-3895.patch \ > > + file://0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch \ > > + file://run-ptest \ > > +" > > > > SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d" > > +SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" > > + > > +SRCREV_FORMAT = "json-test-data" > > > > S = "${WORKDIR}/git" > > > > -inherit cmake > > +inherit cmake ptest > > > > -EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" > > +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}" > > > > # nlohmann-json is a header only C++ library, so the main package will be empty. > > ALLOW_EMPTY:${PN} = "1" > > @@ -23,6 +30,14 @@ RDEPENDS:${PN}-dev = "" > > > > BBCLASSEXTEND = "native nativesdk" > > > > + > > +do_install_ptest () { > > + install -d ${D}${PTEST_PATH}/tests > > + cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/ > > + cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests > > +} > > + > > + > > # other packages commonly reference the file directly as "json.hpp" > > # create symlink to allow this usage > > do_install:append() { > > -- > > 2.25.1 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#106511): https://lists.openembedded.org/g/openembedded-devel/message/106511 > > Mute This Topic: https://lists.openembedded.org/mt/102482301/1997914 > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > -=-=-=-=-=-=-=-=-=-=-=- > >
There is another issue I sent info on for mickledore https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3355/steps/14/logs/stdio On Fri, Nov 10, 2023 at 3:54 AM Yu, Mingli <Mingli.Yu@windriver.com> wrote: > > v2 sent. > > Thanks, > ________________________________ > From: Khem Raj <raj.khem@gmail.com> > Sent: Friday, November 10, 2023 12:49 > To: Yu, Mingli <Mingli.Yu@windriver.com> > Cc: openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org> > Subject: Re: [oe] [meta-oe][PATCH 1/2] nlohmann-json: Add ptest support > > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > another CI log > https://errors.yoctoproject.org/Errors/Details/742264/ > > On Thu, Nov 9, 2023 at 8:47 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > fails in build QA > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3323/steps/14/logs/stdio > > > > On Thu, Nov 9, 2023 at 1:15 AM Yu, Mingli <mingli.yu@eng.windriver.com> wrote: > > > > > > From: Mingli Yu <mingli.yu@windriver.com> > > > > > > * Backport 2 patches [1] [2] to fix the build failure under tests dir. > > > > > > * Fetch the test data during do_fetch phase to avoid internet access > > > during test as some tests need test data. > > > # ./run-ptest > > > PASS: test-algorithms_cpp11 > > > PASS: test-allocator_cpp11 > > > PASS: test-alt-string_cpp11 > > > PASS: test-assert_macro_cpp11 > > > PASS: test-binary_formats_cpp11 > > > [snip] > > > PASS: test-unicode5_cpp11 > > > PASS: test-user_defined_input_cpp11 > > > PASS: test-windows_h_cpp11 > > > PASS: test-wstring_cpp11 > > > > > > [1] https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee > > > [2] https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8 > > > > > > Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > > --- > > > ...tors-define-missing-rebind-type-3895.patch | 61 +++++++++++++++++++ > > > ...tors2-use-std-ranges-equals-for-rang.patch | 31 ++++++++++ > > > .../nlohmann-json/files/run-ptest | 12 ++++ > > > .../nlohmann-json/nlohmann-json_3.11.2.bb | 21 ++++++- > > > 4 files changed, 122 insertions(+), 3 deletions(-) > > > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > > create mode 100644 meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > > create mode 100755 meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > > > > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > > new file mode 100644 > > > index 000000000..d964586c1 > > > --- /dev/null > > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch > > > @@ -0,0 +1,61 @@ > > > +From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001 > > > +From: Sergei Trofimovich <slyich@gmail.com> > > > +Date: Wed, 8 Mar 2023 11:31:56 +0000 > > > +Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895) > > > + > > > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee] > > > + > > > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > > +--- > > > + tests/src/unit-allocator.cpp | 9 +++++++++ > > > + tests/src/unit-regression2.cpp | 9 +++++++++ > > > + 2 files changed, 18 insertions(+) > > > + > > > +diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp > > > +index 76e3b03f..f2e63552 100644 > > > +--- a/tests/src/unit-allocator.cpp > > > ++++ b/tests/src/unit-allocator.cpp > > > +@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T> > > > + { > > > + using std::allocator<T>::allocator; > > > + > > > ++ bad_allocator() = default; > > > ++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { } > > > ++ > > > + template<class... Args> > > > + void construct(T* /*unused*/, Args&& ... /*unused*/) > > > + { > > > + throw std::bad_alloc(); > > > + } > > > ++ > > > ++ template <class U> > > > ++ struct rebind > > > ++ { > > > ++ using other = bad_allocator<U>; > > > ++ }; > > > + }; > > > + } // namespace > > > + > > > +diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp > > > +index 2bb9b32e..dbafb436 100644 > > > +--- a/tests/src/unit-regression2.cpp > > > ++++ b/tests/src/unit-regression2.cpp > > > +@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T> > > > + { > > > + public: > > > + using std::allocator<T>::allocator; > > > ++ > > > ++ my_allocator() = default; > > > ++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { } > > > ++ > > > ++ template <class U> > > > ++ struct rebind > > > ++ { > > > ++ using other = my_allocator<U>; > > > ++ }; > > > + }; > > > + > > > + ///////////////////////////////////////////////////////////////////// > > > +-- > > > +2.25.1 > > > + > > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > > new file mode 100644 > > > index 000000000..463912e4b > > > --- /dev/null > > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch > > > @@ -0,0 +1,31 @@ > > > +From 660d0b58565073975d6f5d94365d6cbf150a4cf8 Mon Sep 17 00:00:00 2001 > > > +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> > > > +Date: Sun, 5 Mar 2023 14:11:22 +0100 > > > +Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range > > > + comparisons (#3950) > > > + > > > +Closes https://github.com/nlohmann/json/issues/3927 > > > + > > > +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8] > > > + > > > +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > > > +--- > > > + tests/src/unit-iterators2.cpp | 2 +- > > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > > + > > > +diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp > > > +index 27926084..72a5d9dc 100644 > > > +--- a/tests/src/unit-iterators2.cpp > > > ++++ b/tests/src/unit-iterators2.cpp > > > +@@ -943,7 +943,7 @@ TEST_CASE("iterators 2") > > > + json j_expected{5, 4, 3, 2, 1}; > > > + > > > + auto reversed = j | std::views::reverse; > > > +- CHECK(reversed == j_expected); > > > ++ CHECK(std::ranges::equal(reversed, j_expected)); > > > + } > > > + > > > + SECTION("transform") > > > +-- > > > +2.25.1 > > > + > > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > > new file mode 100755 > > > index 000000000..2f00267d5 > > > --- /dev/null > > > +++ b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest > > > @@ -0,0 +1,12 @@ > > > +#!/bin/sh > > > + > > > +cd tests > > > +for atest in test-* ; do > > > + rm -rf tests.log > > > + ./${atest} > tests.log 2>&1 > > > + if [ $? = 0 ] ; then > > > + echo "PASS: ${atest}" > > > + else > > > + echo "FAIL: ${atest}" > > > + fi > > > +done > > > diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > > index 74e40942a..d6a8fbe63 100644 > > > --- a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > > +++ b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb > > > @@ -7,15 +7,22 @@ LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588" > > > CVE_PRODUCT = "json-for-modern-cpp" > > > > > > SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ > > > - " > > > + git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \ > > > + file://0001-custom-allocators-define-missing-rebind-type-3895.patch \ > > > + file://0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch \ > > > + file://run-ptest \ > > > +" > > > > > > SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d" > > > +SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" > > > + > > > +SRCREV_FORMAT = "json-test-data" > > > > > > S = "${WORKDIR}/git" > > > > > > -inherit cmake > > > +inherit cmake ptest > > > > > > -EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" > > > +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}" > > > > > > # nlohmann-json is a header only C++ library, so the main package will be empty. > > > ALLOW_EMPTY:${PN} = "1" > > > @@ -23,6 +30,14 @@ RDEPENDS:${PN}-dev = "" > > > > > > BBCLASSEXTEND = "native nativesdk" > > > > > > + > > > +do_install_ptest () { > > > + install -d ${D}${PTEST_PATH}/tests > > > + cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/ > > > + cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests > > > +} > > > + > > > + > > > # other packages commonly reference the file directly as "json.hpp" > > > # create symlink to allow this usage > > > do_install:append() { > > > -- > > > 2.25.1 > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > > Links: You receive all messages sent to this group. > > > View/Reply Online (#106511): https://lists.openembedded.org/g/openembedded-devel/message/106511 > > > Mute This Topic: https://lists.openembedded.org/mt/102482301/1997914 > > > Group Owner: openembedded-devel+owner@lists.openembedded.org > > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com] > > > -=-=-=-=-=-=-=-=-=-=-=- > > >
diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch new file mode 100644 index 000000000..d964586c1 --- /dev/null +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch @@ -0,0 +1,61 @@ +From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyich@gmail.com> +Date: Wed, 8 Mar 2023 11:31:56 +0000 +Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895) + +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + tests/src/unit-allocator.cpp | 9 +++++++++ + tests/src/unit-regression2.cpp | 9 +++++++++ + 2 files changed, 18 insertions(+) + +diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp +index 76e3b03f..f2e63552 100644 +--- a/tests/src/unit-allocator.cpp ++++ b/tests/src/unit-allocator.cpp +@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T> + { + using std::allocator<T>::allocator; + ++ bad_allocator() = default; ++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { } ++ + template<class... Args> + void construct(T* /*unused*/, Args&& ... /*unused*/) + { + throw std::bad_alloc(); + } ++ ++ template <class U> ++ struct rebind ++ { ++ using other = bad_allocator<U>; ++ }; + }; + } // namespace + +diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp +index 2bb9b32e..dbafb436 100644 +--- a/tests/src/unit-regression2.cpp ++++ b/tests/src/unit-regression2.cpp +@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T> + { + public: + using std::allocator<T>::allocator; ++ ++ my_allocator() = default; ++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { } ++ ++ template <class U> ++ struct rebind ++ { ++ using other = my_allocator<U>; ++ }; + }; + + ///////////////////////////////////////////////////////////////////// +-- +2.25.1 + diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch new file mode 100644 index 000000000..463912e4b --- /dev/null +++ b/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch @@ -0,0 +1,31 @@ +From 660d0b58565073975d6f5d94365d6cbf150a4cf8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> +Date: Sun, 5 Mar 2023 14:11:22 +0100 +Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range + comparisons (#3950) + +Closes https://github.com/nlohmann/json/issues/3927 + +Upstream-Status: Backport [https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + tests/src/unit-iterators2.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp +index 27926084..72a5d9dc 100644 +--- a/tests/src/unit-iterators2.cpp ++++ b/tests/src/unit-iterators2.cpp +@@ -943,7 +943,7 @@ TEST_CASE("iterators 2") + json j_expected{5, 4, 3, 2, 1}; + + auto reversed = j | std::views::reverse; +- CHECK(reversed == j_expected); ++ CHECK(std::ranges::equal(reversed, j_expected)); + } + + SECTION("transform") +-- +2.25.1 + diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest new file mode 100755 index 000000000..2f00267d5 --- /dev/null +++ b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest @@ -0,0 +1,12 @@ +#!/bin/sh + +cd tests +for atest in test-* ; do + rm -rf tests.log + ./${atest} > tests.log 2>&1 + if [ $? = 0 ] ; then + echo "PASS: ${atest}" + else + echo "FAIL: ${atest}" + fi +done diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb index 74e40942a..d6a8fbe63 100644 --- a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb +++ b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb @@ -7,15 +7,22 @@ LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588" CVE_PRODUCT = "json-for-modern-cpp" SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \ - " + git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \ + file://0001-custom-allocators-define-missing-rebind-type-3895.patch \ + file://0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch \ + file://run-ptest \ +" SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d" +SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37" + +SRCREV_FORMAT = "json-test-data" S = "${WORKDIR}/git" -inherit cmake +inherit cmake ptest -EXTRA_OECMAKE += "-DJSON_BuildTests=OFF" +EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}" # nlohmann-json is a header only C++ library, so the main package will be empty. ALLOW_EMPTY:${PN} = "1" @@ -23,6 +30,14 @@ RDEPENDS:${PN}-dev = "" BBCLASSEXTEND = "native nativesdk" + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/ + cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests +} + + # other packages commonly reference the file directly as "json.hpp" # create symlink to allow this usage do_install:append() {