@@ -284,21 +284,27 @@ def check_fields_jax(
284284def test_preequilibration_failure (lotka_volterra ): # noqa: F811
285285 petab_problem = lotka_volterra
286286 # oscillating system, preequilibation should fail when interaction is active
287- with TemporaryDirectoryWinSafe (prefix = "normal" ) as model_dir :
288- jax_problem = import_petab_problem (
289- petab_problem , jax = True , output_dir = model_dir
290- )
291- r = run_simulations (jax_problem )
292- assert not np .isinf (r [0 ].item ())
293- petab_problem .measurement_df [PREEQUILIBRATION_CONDITION_ID ] = (
294- petab_problem .measurement_df [SIMULATION_CONDITION_ID ]
295- )
296- with TemporaryDirectoryWinSafe (prefix = "failure" ) as model_dir :
297- jax_problem = import_petab_problem (
298- petab_problem , jax = True , output_dir = model_dir
287+
288+ try :
289+ with TemporaryDirectoryWinSafe (prefix = "normal" ) as model_dir :
290+ jax_problem = import_petab_problem (
291+ petab_problem , jax = True , output_dir = model_dir
292+ )
293+ r = run_simulations (jax_problem )
294+ assert not np .isinf (r [0 ].item ())
295+ petab_problem .measurement_df [PREEQUILIBRATION_CONDITION_ID ] = (
296+ petab_problem .measurement_df [SIMULATION_CONDITION_ID ]
299297 )
300- r = run_simulations (jax_problem )
301- assert np .isinf (r [0 ].item ())
298+ with TemporaryDirectoryWinSafe (prefix = "failure" ) as model_dir :
299+ jax_problem = import_petab_problem (
300+ petab_problem , jax = True , output_dir = model_dir
301+ )
302+ r = run_simulations (jax_problem )
303+ assert np .isinf (r [0 ].item ())
304+ except (TypeError , NotImplementedError ) as err :
305+ if "run_simulations does not support PEtab v1 problems" in str (err ):
306+ pytest .skip (str (err ))
307+ raise err
302308
303309
304310@skip_on_valgrind
0 commit comments