diff --git a/patch-testsuite-epsilon b/patch-testsuite-epsilon new file mode 100644 index 0000000..3a7d8d0 --- /dev/null +++ b/patch-testsuite-epsilon @@ -0,0 +1,13 @@ +diff --git a/xs/t/03_point.t b/xs/t/03_point.t +index cb71f68..0cc58e1 100644 +--- a/xs/t/03_point.t ++++ b/xs/t/03_point.t +@@ -44,7 +44,7 @@ ok !$point->coincides_with($point2), 'coincides_with'; + + { + my $line = Slic3r::Line->new([50,50], [125,-25]); +- is +Slic3r::Point->new(100,0)->distance_to_line($line), 0, 'distance_to_line()'; ++ cmp_ok(abs(Slic3r::Point->new(100,0)->distance_to_line($line)), '<=', 4e-15, 'distance_to_line()'); + } + + { diff --git a/prusa-slicer.spec b/prusa-slicer.spec index 763fffe..d91eef2 100644 --- a/prusa-slicer.spec +++ b/prusa-slicer.spec @@ -21,6 +21,13 @@ Source0: https://github.com/prusa3d/PrusaSlicer/archive/version_2.0.0.tar Source1: %name.desktop Source2: %name.appdata.xml +# A single test suite fails, but only on aarch64 and s390x, due to floating +# point rouding issues. This patch adds small epsilon (4e-15) to one +# comparison to work around this. +# We will conditionally apply this so it's a source file, not a patch. +# https://github.com/prusa3d/PrusaSlicer/issues/2461 +Source10: patch-testsuite-epsilon + # Fix an improper include of expat.h # https://github.com/prusa3d/PrusaSlicer/pull/2315 Patch0: patch-expat-includes @@ -39,12 +46,6 @@ Patch20: https://raw.githubusercontent.com/prusa3d/PrusaSlicer/debian/deb Patch21: https://raw.githubusercontent.com/prusa3d/PrusaSlicer/debian/debian/patches/handle-wx-assert-with-boost.patch Patch22: https://raw.githubusercontent.com/prusa3d/PrusaSlicer/debian/debian/patches/mode-switching-fix.patch -# Currently a single test fails on these two architctures. See -# https://github.com/prusa3d/PrusaSlicer/issues/2461 -# The test could be disabled but without a way to know if it will break -# something, it's safer to see what upstream has to say about it first. -ExcludeArch: s390x aarch64 - BuildRequires: boost-devel BuildRequires: cmake BuildRequires: curl-devel @@ -297,6 +298,13 @@ sed -i 's/^#include.*miniz.*/#include /' \ commit "Fix miniz includes" %endif +# A single test fails on these architectures due to a difference in floating +# point rounding causing a tiny value instead of an expected zero. +%ifarch s390x aarch64 +git apply %SOURCE10 +commit "Testsuite fix" +%endif + %build mkdir Build @@ -403,7 +411,9 @@ make test ARGS=-V %changelog * Wed Jun 05 2019 Jason L Tibbitts III - 2.0.0-2 -- Update with review feedback. +- Update with review feedback +- Add in three patches suggested by upstream +- Try to enable building on aarch64 and s390x * Mon May 20 2019 Jason L Tibbitts III - 2.0.0-1 - Update to 2.0.0 final release.