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