Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:ojalgo
User: [email protected]
Usertags: pu

[ Reason ]
Fix Bug #1140433: Package FTBFS 12% of the time due to flaky tests.

[ Impact ]
Anybody trying to build the package might find that the package
does not build, randomly.

[ Tests ]
I've built the modified package a lot of times and the failure
rate is now below 5%, which is significantly better. This is also
the current failure rate in unstable, so any further work on this
issue should better be done in unstable.

[ Risks ]
Very low. No code changes, we are just skipping a few more tests
than before and making them easier to pass.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
Disable some tests.
Relax tolerance of some tests.

[ Other info ]
Package is already uploaded.
diff -Nru ojalgo-55.0.0+ds/debian/changelog ojalgo-55.0.0+ds/debian/changelog
--- ojalgo-55.0.0+ds/debian/changelog   2024-10-08 21:23:22.000000000 +0200
+++ ojalgo-55.0.0+ds/debian/changelog   2026-06-23 13:20:00.000000000 +0200
@@ -1,3 +1,11 @@
+ojalgo (55.0.0+ds-1+deb13u1) trixie; urgency=medium
+
+  * Team upload.
+  * Use a simplified salsa-ci.yml for trixie.
+  * Backport upstream and Debian fixes from 56.2.1-3. Closes: #1140433.
+
+ -- Santiago Vila <[email protected]>  Tue, 23 Jun 2026 13:20:00 +0200
+
 ojalgo (55.0.0+ds-1) unstable; urgency=medium
 
   * New upstream version 55.0.0+ds
diff -Nru ojalgo-55.0.0+ds/debian/patches/fixes-from-56.2.1-upstream.patch 
ojalgo-55.0.0+ds/debian/patches/fixes-from-56.2.1-upstream.patch
--- ojalgo-55.0.0+ds/debian/patches/fixes-from-56.2.1-upstream.patch    
1970-01-01 01:00:00.000000000 +0100
+++ ojalgo-55.0.0+ds/debian/patches/fixes-from-56.2.1-upstream.patch    
2026-06-23 11:06:00.000000000 +0200
@@ -0,0 +1,102 @@
+From: Santiago Vila <[email protected]>
+Subject: Backport fixes from 56.2.1.
+Bug-Debian: https://bugs.debian.org/1140433
+
+--- a/src/test/java/org/ojalgo/matrix/P20061119Case.java
++++ b/src/test/java/org/ojalgo/matrix/P20061119Case.java
+@@ -22,6 +22,7 @@
+ package org.ojalgo.matrix;
+ 
+ import org.junit.jupiter.api.BeforeEach;
++import org.junit.jupiter.api.Tag;
+ import org.junit.jupiter.api.Test;
+ import org.ojalgo.TestUtils;
+ import org.ojalgo.matrix.decomposition.Eigenvalue;
+@@ -79,6 +80,12 @@
+         TestUtils.assertEquals(true, 
P20061119Case.getProblematic().isSquare());
+     }
+ 
++    @Tag("unstable")
++    @Override
++    public void testDotAccess1D() {
++        super.testDotAccess1D();
++    }
++
+     @Override
+     @Test
+     public void testGetRank() {
+--- a/src/test/java/org/ojalgo/random/RandomNumberTest.java
++++ b/src/test/java/org/ojalgo/random/RandomNumberTest.java
+@@ -394,6 +394,7 @@
+     }
+ 
+     @Test
++    @Tag("unstable")
+     public void testSampledMean() {
+ 
+         RandomNumber[] tmpRndNmbrs = { new Exponential(), new LogNormal(), 
new Normal(), new Uniform(), new Binomial(), new Geometric(), new Poisson(),
+--- a/src/test/java/org/ojalgo/tensor/TensorTest.java
++++ b/src/test/java/org/ojalgo/tensor/TensorTest.java
+@@ -21,6 +21,7 @@
+  */
+ package org.ojalgo.tensor;
+ 
++import org.junit.jupiter.api.Tag;
+ import org.junit.jupiter.api.Test;
+ import org.ojalgo.TestUtils;
+ import org.ojalgo.array.ArrayAnyD;
+@@ -144,6 +145,7 @@
+     }
+ 
+     @Test
++    @Tag("unstable")
+     public void testDeterminantAndTrace() {
+ 
+         MatrixTensor<RationalNumber> tensorA = FACTORY_2.copy(ELEMENTS_A);
+--- a/src/test/java/org/ojalgo/function/special/HypergeometricFunctionTest.java
++++ b/src/test/java/org/ojalgo/function/special/HypergeometricFunctionTest.java
+@@ -25,6 +25,7 @@
+ 
+ import java.util.Random;
+ 
++import org.junit.jupiter.api.Tag;
+ import org.junit.jupiter.api.Test;
+ import org.ojalgo.TestUtils;
+ 
+@@ -89,6 +90,7 @@
+     }
+ 
+     @Test
++    @Tag("unstable")
+     public void testSpecialArguments122() {
+         RANDOM.doubles(10).forEach(x -> {
+             TestUtils.assertEquals(ONE / (ONE - x), 
HypergeometricFunction.hypergeometric(ONE, TWO, TWO, x));
+--- a/src/test/java/org/ojalgo/TestUtils.java
++++ b/src/test/java/org/ojalgo/TestUtils.java
+@@ -72,7 +72,7 @@
+  */
+ public abstract class TestUtils /* extends Assertions */ {
+ 
+-    private static final NumberContext EQUALS = NumberContext.of(12);
++    private static final NumberContext EQUALS = NumberContext.of(10);
+ 
+     public static void assertBounds(final Comparable<?> lower, final 
Access1D<?> values, final Comparable<?> upper, final NumberContext precision) {
+         for (ElementView1D<?, ?> tmpValue : values.elements()) {
+--- a/src/test/java/org/ojalgo/matrix/decomposition/CaseEigenvalue.java
++++ b/src/test/java/org/ojalgo/matrix/decomposition/CaseEigenvalue.java
+@@ -33,6 +33,7 @@
+ import java.util.stream.Collectors;
+ 
+ import org.junit.jupiter.api.BeforeEach;
++import org.junit.jupiter.api.Tag;
+ import org.junit.jupiter.api.Test;
+ import org.ojalgo.RecoverableCondition;
+ import org.ojalgo.TestUtils;
+@@ -262,6 +263,7 @@
+     }
+ 
+     @Test
++    @Tag("unstable")
+     public void testGenerateRandomAllPositive() {
+         CaseEigenvalue.doTestEigenvaluesOfGenerated(10, 5, 2, 1);
+     }
diff -Nru ojalgo-55.0.0+ds/debian/patches/series 
ojalgo-55.0.0+ds/debian/patches/series
--- ojalgo-55.0.0+ds/debian/patches/series      2024-02-12 07:00:18.000000000 
+0100
+++ ojalgo-55.0.0+ds/debian/patches/series      2026-06-23 11:00:00.000000000 
+0200
@@ -3,3 +3,5 @@
 relax_time_limit.patch
 omitting_random_assertion_failure.patch
 flaky_test.patch
+fixes-from-56.2.1-upstream.patch
+skip-more-flaky-tests.patch
diff -Nru ojalgo-55.0.0+ds/debian/patches/skip-more-flaky-tests.patch 
ojalgo-55.0.0+ds/debian/patches/skip-more-flaky-tests.patch
--- ojalgo-55.0.0+ds/debian/patches/skip-more-flaky-tests.patch 1970-01-01 
01:00:00.000000000 +0100
+++ ojalgo-55.0.0+ds/debian/patches/skip-more-flaky-tests.patch 2026-06-23 
11:07:00.000000000 +0200
@@ -0,0 +1,31 @@
+From: Santiago Vila <[email protected]>
+Subject: Skip more flaky tests
+
+[ERROR]   
CaseEigenvalue.testGenerateRandomAllNegative:262->doTestEigenvaluesOfGenerated:128->doTestEigenvalues:97
 expected: <true> but was: <false>
+[ERROR]   
CaseEigenvalue.testGenerateRandomSomeNegative:273->doTestEigenvaluesOfGenerated:128->doTestEigenvalues:97
 expected: <true> but was: <false>
+[ERROR]   
CaseEigenvalue.testGenerateRandomSomeZero:278->doTestEigenvaluesOfGenerated:128->doTestEigenvalues:97
 expected: <true> but was: <false>
+
+--- a/src/test/java/org/ojalgo/matrix/decomposition/CaseEigenvalue.java
++++ b/src/test/java/org/ojalgo/matrix/decomposition/CaseEigenvalue.java
+@@ -258,6 +258,7 @@
+     }
+ 
+     @Test
++    @Tag("unstable")
+     public void testGenerateRandomAllNegative() {
+         CaseEigenvalue.doTestEigenvaluesOfGenerated(-10, -5, -2, -1);
+     }
+@@ -269,11 +270,13 @@
+     }
+ 
+     @Test
++    @Tag("unstable")
+     public void testGenerateRandomSomeNegative() {
+         CaseEigenvalue.doTestEigenvaluesOfGenerated(10, 5, 2, -1);
+     }
+ 
+     @Test
++    @Tag("unstable")
+     public void testGenerateRandomSomeZero() {
+         CaseEigenvalue.doTestEigenvaluesOfGenerated(10, 5, 2, 0);
+     }
diff -Nru ojalgo-55.0.0+ds/debian/salsa-ci.yml 
ojalgo-55.0.0+ds/debian/salsa-ci.yml
--- ojalgo-55.0.0+ds/debian/salsa-ci.yml        2021-10-17 10:06:03.000000000 
+0200
+++ ojalgo-55.0.0+ds/debian/salsa-ci.yml        2026-06-23 11:00:00.000000000 
+0200
@@ -1,17 +1,10 @@
 ---
 include:
-  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
-  - 
https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+  - 
https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
 
-# To exclude single tests you can use
-#variables:
-#  SALSA_CI_DISABLE_APTLY: 1
-#  SALSA_CI_DISABLE_AUTOPKGTEST: 1
-#  SALSA_CI_DISABLE_BLHC: 1
-#  SALSA_CI_DISABLE_LINTIAN: 1
-#  SALSA_CI_DISABLE_PIUPARTS: 1
-#  SALSA_CI_DISABLE_REPROTEST: 1
-#  SALSA_CI_DISABLE_BUILD_PACKAGE_ALL: 1
-#  SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 1
-# In case for instance i386 is explicitly excluded by Build-Depends
-#  SALSA_CI_DISABLE_BUILD_PACKAGE_I386: 1
+variables:
+  SALSA_CI_DISABLE_BUILD_PACKAGE_I386: 1
+  SALSA_CI_DISABLE_BUILD_PACKAGE_ALL: 1
+  SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 1
+  SALSA_CI_DISABLE_DEBREBUILD: 1
+  SALSA_CI_DISABLE_USCAN: 1

Reply via email to