sc/qa/unit/functions_array.cxx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
New commits: commit 72b25619960cdaa829c8ea10e27d9c0b20a2c26f Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Mon Dec 13 11:29:56 2021 +0100 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Mon Dec 13 13:28:48 2021 +0100 For now, disable tests giving dubious results on AArch64 when built with -ffp-contract enabled (-ffp-contract=on default on Clang 14 trunk since <https://github.com/llvm/llvm-project/commit/f04e387055e495e3e14570087d68e93593cf2918> "Making the code compliant to the documentation about Floating Point", cf. 19559ebbee160d1625d06feec7e6566772dad231 "Allow for a presumably more precise result of BESSELY(80,9)"; and -ffp-contract=fast default when building with optimizations on GCC) on both Linux (with 6cb20e0b298f41fe88984aebfe5454f936a0ae3a "Disable CppunitTset_sc_*_functions_test for linux_aarch64 for now, too" reverted) and macOS. Change-Id: Ie867d999173410ec9868bd14c0ee04bbba371920 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126727 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/sc/qa/unit/data/functions/array/fods/linest.fods b/sc/qa/unit/data/functions/array/dubious/fods/linest.fods similarity index 100% rename from sc/qa/unit/data/functions/array/fods/linest.fods rename to sc/qa/unit/data/functions/array/dubious/fods/linest.fods diff --git a/sc/qa/unit/data/functions/array/fods/minverse.fods b/sc/qa/unit/data/functions/array/dubious/fods/minverse.fods similarity index 100% rename from sc/qa/unit/data/functions/array/fods/minverse.fods rename to sc/qa/unit/data/functions/array/dubious/fods/minverse.fods diff --git a/sc/qa/unit/functions_array.cxx b/sc/qa/unit/functions_array.cxx index 00a17de34fd6..88a4b70d7c29 100644 --- a/sc/qa/unit/functions_array.cxx +++ b/sc/qa/unit/functions_array.cxx @@ -6,9 +6,11 @@ public: ArrayFunctionsTest(); void testArrayFormulasFODS(); + void testDubiousArrayFormulasFODS(); CPPUNIT_TEST_SUITE(ArrayFunctionsTest); CPPUNIT_TEST(testArrayFormulasFODS); + CPPUNIT_TEST(testDubiousArrayFormulasFODS); CPPUNIT_TEST_SUITE_END(); }; @@ -21,6 +23,20 @@ void ArrayFunctionsTest::testArrayFormulasFODS() FODS_FORMAT_TYPE, SotClipboardFormatId::NONE, 0, false); } +void ArrayFunctionsTest::testDubiousArrayFormulasFODS() +{ + //TODO: sc/qa/unit/data/functions/array/dubious/fods/linest.fods produces widely different + // values when built with -ffp-contract enabled (-ffp-contract=on default on Clang 14, + // -ffp-contract=fast default when building with optimizations on GCC) on at least aarch64: +#if !((defined __clang__ || defined __GNUC__) && defined __aarch64__) + OUString aDirectoryURL + = m_directories.getURLFromSrc(u"/sc/qa/unit/data/functions/array/dubious/fods/"); + recursiveScan(test::pass, "OpenDocument Spreadsheet Flat XML", aDirectoryURL, + "com.sun.star.comp.filter.OdfFlatXml,,com.sun.star.comp.Calc.XMLOasisImporter,com.sun.star.comp.Calc.XMLOasisExporter,,,true", + FODS_FORMAT_TYPE, SotClipboardFormatId::NONE, 0, false); +#endif +} + ArrayFunctionsTest::ArrayFunctionsTest(): FunctionsTest("sc/qa/unit/data/functions/array/fods/") {