From 61b304d2c71ca3ccdbdd405a3287d709c047f2ac Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Wed, 2 Oct 2024 09:48:39 -0500 Subject: [PATCH] TST: Test writing log file on convergence failure --- .../unit_tests/components/test_packmol.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/openff/interchange/_tests/unit_tests/components/test_packmol.py b/openff/interchange/_tests/unit_tests/components/test_packmol.py index b77480a5..362a6fbd 100644 --- a/openff/interchange/_tests/unit_tests/components/test_packmol.py +++ b/openff/interchange/_tests/unit_tests/components/test_packmol.py @@ -2,6 +2,8 @@ Units tests for openff.interchange.components._packmol """ +import pathlib + import numpy import pytest from openff.toolkit.topology import Molecule @@ -422,3 +424,22 @@ def test_load_100_000_atoms(self): tolerance=1.0 * unit.angstrom, mass_density=0.1 * unit.grams / unit.milliliters, ) + + @pytest.mark.parametrize("use_local_path", [False, True]) + def test_save_error_on_convergence_failure(self, use_local_path): + with pytest.raises( + PACKMOLRuntimeError, + match="failed with error code 173", + ): + pack_box( + molecules=[Molecule.from_smiles("CCO")], + number_of_copies=[100], + box_shape=UNIT_CUBE, + mass_density=100 * unit.grams / unit.milliliters, + working_directory="." if use_local_path else None, + ) + + if use_local_path: + assert "STOP 173" in open("packmol_error.log").read() + else: + assert not pathlib.Path("packmol_error.log").is_file()