[Debichem-devel] Bug#1137479: pymatgen-core: FTBFS: test_packmol test_atoms_constraints fails

Drew Parsons dparsons at debian.org
Sun May 24 10:51:30 BST 2026


Source: pymatgen-core
Version: 2026.4.7+dfsg1-1
Severity: serious
Control: forwarded -1 https://github.com/materialsproject/pymatgen-core/issues/70


test_atoms_constraints in io/test_packmol.py is fragile with different
coordinates generated on different architectures

e.g.
https://buildd.debian.org/status/fetch.php?pkg=pymatgen-core&arch=arm64&ver=2026.4.7%2Bdfsg1-3&stamp=1779556969&raw=0

=================================== FAILURES ===================================
____________________ TestPackmolSet.test_atoms_constraints _____________________
[gw3] linux -- Python 3.14.5 /usr/bin/python3.14

self = <test_packmol.TestPackmolSet object at 0xffff67a1d0f0>

    def test_atoms_constraints(self):
        """
        Test individual constraints.
        """
        pw = PackmolBoxGen(
            inputfile="input.in",
            outputfile=Path("output.xyz"),
            stdoutfile=Path("stdout.txt"),
            control_params={"precision": 0.001},
        ).get_input_set(
            molecules=[
                {
                    "name": "water",
                    "number": 5,
                    "coords": water,
                    "constraints": ["inside sphere 0 0 0 10"],
                    "atoms_constraints": [
                        {"indices": [2], "constraints": ["inside sphere 0 0 0 5"]},
                        {"indices": [0, 1], "constraints": ["outside sphere 0 0 0 5.5"]},
                    ],
                },
            ],
        )
        pw.write_input(f"{self.tmp_path}/with_atoms_constraints")
        assert os.path.isfile(f"{self.tmp_path}/with_atoms_constraints/input.in")
        with open(f"{self.tmp_path}/with_atoms_constraints/input.in") as f:
            inp = f.read()
        assert ("\n  atoms 3\n    inside sphere 0 0 0 5\n  end atoms\n") in inp
        assert ("\n  atoms 1 2\n    outside sphere 0 0 0 5.5\n  end atoms\n") in inp
        pw.run(f"{self.tmp_path}/with_atoms_constraints")
        assert os.path.isfile(f"{self.tmp_path}/with_atoms_constraints/output.xyz")
        assert os.path.isfile(f"{self.tmp_path}/with_atoms_constraints/stdout.txt")
        out = Molecule.from_file(f"{self.tmp_path}/with_atoms_constraints/output.xyz")
        assert out.composition.num_atoms == 15
        for site in out:
            if site.specie.symbol == "H":
>               assert np.linalg.norm(site.coords) >= 5.49
E               AssertionError: assert np.float64(5.483361163873123) >= 5.49
E                +  where np.float64(5.483361163873123) = <function norm at 0xffff7ff909b0>(array([ 3.165768,  0.049572, -4.476908]))
E                +    where <function norm at 0xffff7ff909b0> = <module 'numpy.linalg' from '/usr/lib/python3/dist-packages/numpy/linalg/__init__.py'>.norm
E                +      where <module 'numpy.linalg' from '/usr/lib/python3/dist-packages/numpy/linalg/__init__.py'> = np.linalg
E                +    and   array([ 3.165768,  0.049572, -4.476908]) = Site: H (3.1658, 0.0496, -4.4769).coords

/build/reproducible-path/pymatgen-core-2026.4.7+dfsg1/.pybuild/test_python3.14/tests/io/test_packmol.py:427: AssertionError

= 1 failed, 2507 passed, 124 skipped, 5 xfailed, 1 xpassed, 64 warnings in 251.16s (0:04:11) =

The non-H case fails similarly on i386, loong64, ppc64el.

Reported upstream
https://github.com/materialsproject/pymatgen-core/issues/70

Severity: serious since FTBFS



More information about the Debichem-devel mailing list