gammasim/simtools

Integration fail when running in parallel

GernotMaier opened this issue · 2 comments

There is an issue with the integration tests:

  • work fine when running one after another
  • failed when running in parallel

e.g., try pytest -n auto --no-cov tests/integration_tests/test_ray_tracing.py

Error messages:

FAILED tests/integration_tests/test_ray_tracing.py::test_plot_image - simtools.runners.simtel_runner.SimtelExecutionError:

This is always a SimtelExecutionError, don't understand what changed.

Seems to be running fine for me in parallel:

(env) pytest -n auto --no-cov tests/integration_tests/test_ray_tracing.py
======================================== test session starts ========================================
platform linux -- Python 3.11.7, pytest-8.2.2, pluggy-1.5.0 -- /workdir/env/bin/python3.11
cachedir: .pytest_cache
Test order randomisation NOT enabled. Enable with --random-order or --random-order-bucket=<bucket_type>
rootdir: /workdir/external/simtools
configfile: pyproject.toml
plugins: cov-5.0.0, mock-3.14.0, profiling-1.7.0, random-order-1.1.1, repeat-0.9.3, xdist-3.6.1
4 workers [6 items]     
scheduling tests via LoadScheduling

tests/integration_tests/test_ray_tracing.py::test_ssts[SSTS-design] 
tests/integration_tests/test_ray_tracing.py::test_single_mirror 
tests/integration_tests/test_ray_tracing.py::test_plot_image 
tests/integration_tests/test_ray_tracing.py::test_rx 
[gw2] [ 16%] PASSED tests/integration_tests/test_ray_tracing.py::test_ssts[SSTS-design] 
tests/integration_tests/test_ray_tracing.py::test_integral_curve 
[gw3] [ 33%] PASSED tests/integration_tests/test_ray_tracing.py::test_single_mirror 
[gw1] [ 50%] PASSED tests/integration_tests/test_ray_tracing.py::test_rx 
tests/integration_tests/test_ray_tracing.py::test_process_rx 
[gw1] [ 66%] PASSED tests/integration_tests/test_ray_tracing.py::test_process_rx 
[gw0] [ 83%] PASSED tests/integration_tests/test_ray_tracing.py::test_plot_image 
[gw2] [100%] PASSED tests/integration_tests/test_ray_tracing.py::test_integral_curve 

========================================= 6 passed in 4.62s =========================================

Repeated it 10 times using --random-order as well.

Solved - it is a local configuration issue (although I don't remember that I have changed anything):

  • noticed at the same as above issues that unit tests are much much slower
  • need to start the container with option --platform linux/arm64.

Don't really understand why podman/docker suddenly decided to use linux/amd64 images (they mostly work - but not always (see above) and are way slower).