Skip to content

Commit 3783ac0

Browse files
authored
Merge pull request #26580 from pavelToman/patch-42
add patch to fix DistGeomHelpers test in RDKit v2026.03.4
2 parents c639124 + b3e40e1 commit 3783ac0

2 files changed

Lines changed: 37 additions & 2 deletions

File tree

easybuild/easyconfigs/r/RDKit/RDKit-2026.03.4-foss-2026.1.eb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,16 @@ sources = [
6767
),
6868
},
6969
]
70+
patches = ['RDKit-2026.03.4_relax-DistGeomHelpers-tests.patch']
7071
checksums = [
7172
{'Release_2026_03_4.tar.gz': 'a8bff65bdf13dd47a01f707f7759dd59124a8742f8c50952c2ceae9523b4fd2b'},
7273
{'INCHI-1-SRC.zip': 'b42d828b5d645bd60bc43df7e0516215808d92e5a46c28e12b1f4f75dfaae333'},
7374
{'freesasa-2.0.3.tar.gz': 'ba1d4f7e9dd51ae2452b5c3a80ac34039d51da4826dae1dbe173cd7a1d6aca94'},
7475
{'RingDecomposerLib-1.1.3_rdkit.tar.gz': '944b5816712a48bbf88aa25d4300ce11871ddf6e971218eac08f90ed2192f715'},
7576
{'pubchem-align3d-daefab3.tar.gz': '4871a08104c660890015f27d32a0147fc32df69a8962ca5cd1fe54ef6319c779'},
7677
{'chemdraw-1.0.14.tar.gz': 'bedd75643b9bfaee1663fc41814370ac9329c8d0934e970179929cb355a82aff'},
78+
{'RDKit-2026.03.4_relax-DistGeomHelpers-tests.patch':
79+
'9762a3a7f2c089aaf1e4d8de0ae327fde1618a54f8ad1838a277e08b48680284'},
7780
]
7881

7982
_boost_version = '1.90.0'
@@ -125,14 +128,13 @@ buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./'
125128
# Specify path for libraries so that they are found during the tests when the module is built with --rpath flag
126129
pretestopts = 'export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj/lib:${LD_LIBRARY_PATH} && '
127130
pretestopts += 'export RDBASE=$PWD && '
128-
pretestopts += 'export PYTHONPATH=$PWD:$PYTHONPATH &&'
131+
pretestopts += 'export PYTHONPATH=$PWD:$PYTHONPATH && '
129132

130133
runtest = True
131134

132135
testopts = (
133136
"-j %(parallel)s -E "
134137
"'pythonSourceTests|" # skip test with known issues
135-
"testDistGeomHelpers|" # platform-sensitive ETKDG/distance-geometry regression checks
136138
"moldraw2DTestCatch'" # strict MolDraw2D SVG/PNG rendering-regression checks that are sensitive to font/rendering
137139
" || ctest --rerun-failed --output-on-failure -j 1" # rerun failed tests serially to catch flaky failures
138140
)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Relax platform-sensitive DistGeomHelpers test expectations.
2+
3+
RDKit 2026.03.4's testDistGeomHelpers can fail on native CPU-optimized
4+
builds because small platform-dependent numerical differences affect both
5+
the ETKDGv3 reference-coordinate comparison and RMS-based conformer
6+
pruning. Relax the compareConfs coordinate tolerance from 0.05 to 0.1 and
7+
accept either 7 or 8 retained conformers in the AIO symmetry-pruning test.
8+
These changes affect the test suite only and do not modify installed RDKit
9+
functionality.
10+
See https://github.com/rdkit/rdkit/issues/9406
11+
12+
Author: Pavel Tomanek (Inuits/UGent) with help from ChatGPT5.6
13+
diff --git a/Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp b/Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
14+
--- a/Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
15+
+++ b/Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
16+
@@ -125,7 +125,7 @@ void compareConfs(const RWMol *m, const RWMol *expected, int molConfId = -1,
17+
expected->getAtomWithIdx(i)->getAtomicNum());
18+
RDGeom::Point3D pt1i = conf1.getAtomPos(i);
19+
RDGeom::Point3D pt2i = conf2.getAtomPos(i);
20+
- CHECK((pt1i - pt2i).length() < 0.05);
21+
+ CHECK((pt1i - pt2i).length() < 0.1);
22+
}
23+
}
24+
} // namespace
25+
@@ -1706,7 +1706,7 @@ TEST_CASE("testSymmetryPruningAIO") {
26+
CHECK(cids.size() == 3);
27+
params.useSymmetryForPruning = false;
28+
cids = DGeomHelpers::EmbedMultipleConfs(*mol, 50, params);
29+
- CHECK(cids.size() == 8);
30+
+ CHECK((cids.size() == 7 || cids.size() == 8));
31+
}
32+
33+
TEST_CASE("testMissingHsWarning") {

0 commit comments

Comments
 (0)