From e74a859997eb4e45118bc17c87ec89e7f6278c29 Mon Sep 17 00:00:00 2001 From: Qianqian Fang Date: Sun, 8 May 2022 20:02:16 -0400 Subject: [PATCH] fix CI on 32bit windows --- tests/src/unit-bjdata.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/tests/src/unit-bjdata.cpp b/tests/src/unit-bjdata.cpp index 166717972..5339fdb2f 100644 --- a/tests/src/unit-bjdata.cpp +++ b/tests/src/unit-bjdata.cpp @@ -2499,21 +2499,29 @@ TEST_CASE("BJData") json _; CHECK_THROWS_AS(_ = json::from_bjdata(v1), json::out_of_range&); - CHECK_THROWS_WITH(_ = json::from_bjdata(v1), "[json.exception.out_of_range.408] excessive array size: 18446744073709551601"); - CHECK_THROWS_AS(_ = json::from_bjdata(v2), json::out_of_range&); - CHECK_THROWS_WITH(_ = json::from_bjdata(v2), "[json.exception.out_of_range.408] excessive array size: 18446744073709551602"); + CHECK_THROWS_AS(_ = json::from_bjdata(v4), json::out_of_range&); + CHECK_THROWS_AS(_ = json::from_bjdata(v6), json::out_of_range&); + + if (sizeof(size_t) == 8) + { + CHECK_THROWS_WITH(_ = json::from_bjdata(v1), "[json.exception.out_of_range.408] excessive array size: 18446744073709551601"); + CHECK_THROWS_WITH(_ = json::from_bjdata(v2), "[json.exception.out_of_range.408] excessive array size: 18446744073709551602"); + CHECK_THROWS_WITH(_ = json::from_bjdata(v4), "[json.exception.out_of_range.408] excessive array size: 18446744073709551592"); + CHECK_THROWS_WITH(_ = json::from_bjdata(v6), "[json.exception.out_of_range.408] excessive array size: 18446744073709551607"); + } + else + { + CHECK_THROWS_WITH(_ = json::from_bjdata(v1), "[json.exception.out_of_range.408] excessive array size: 4294967281"); + CHECK_THROWS_WITH(_ = json::from_bjdata(v2), "[json.exception.out_of_range.408] excessive array size: 4294967282"); + CHECK_THROWS_WITH(_ = json::from_bjdata(v4), "[json.exception.out_of_range.408] excessive array size: 4294967272"); + CHECK_THROWS_WITH(_ = json::from_bjdata(v6), "[json.exception.out_of_range.408] excessive array size: 4294967287"); + } CHECK(json::from_bjdata(v3, true, false).is_discarded()); - CHECK_THROWS_AS(_ = json::from_bjdata(v4), json::out_of_range&); - CHECK_THROWS_WITH(_ = json::from_bjdata(v4), "[json.exception.out_of_range.408] excessive array size: 18446744073709551592"); - CHECK_THROWS_AS(_ = json::from_bjdata(v5), json::parse_error&); CHECK_THROWS_WITH(_ = json::from_bjdata(v5), "[json.exception.parse_error.110] parse error at byte 11: syntax error while parsing BJData number: unexpected end of input"); - - CHECK_THROWS_AS(_ = json::from_bjdata(v6), json::out_of_range&); - CHECK_THROWS_WITH(_ = json::from_bjdata(v6), "[json.exception.out_of_range.408] excessive array size: 18446744073709551607"); } SECTION("do not accept NTFZ markers in ndarray optimized type")