Skip to content

systemtests: add heat-exchanger-simplified test suite#731

Open
AdityaGupta716 wants to merge 2 commits intoprecice:developfrom
AdityaGupta716:systemtests/add-heat-exchanger-simplified
Open

systemtests: add heat-exchanger-simplified test suite#731
AdityaGupta716 wants to merge 2 commits intoprecice:developfrom
AdityaGupta716:systemtests/add-heat-exchanger-simplified

Conversation

@AdityaGupta716
Copy link

@AdityaGupta716 AdityaGupta716 commented Feb 28, 2026

What this PR does

Adds heat-exchanger-simplified to the system test suites in tools/tests/tests.yaml as both a new standalone suite heat_exchanger_simplified_test and as an entry in the existing release_test suite.

Also fixes several Docker and Ubuntu 24.04 compatibility issues that prevented local system test runs.

Changes

tests.yaml

  • Added heat_exchanger_simplified_test standalone suite with case (fluid-top-openfoam, fluid-btm-openfoam, solid-calculix)
  • Added heat-exchanger-simplified to release_test so it runs in release CI

Systemtest.py

  • Added _get_docker_compose_cmd() to auto-detect docker compose vs docker-compose
  • Replaced all 3 hardcoded docker compose --file Popen calls to use the detection helper with -f

Dockerfile (ubuntu_2404)

  • Used userdel -r ubuntu before creating precice user, removing the default Ubuntu 24.04 user including its home directory — cleaner fix for the UID/GID 1000 conflict
  • Added =master defaults for all six adapter ARGs: OPENFOAM_ADAPTER_REF, PYTHON_BINDINGS_REF, FENICS_ADAPTER_REF, CALCULIX_ADAPTER_REF, SU2_ADAPTER_REF, DEALII_ADAPTER_REF
  • Added --tries=3 --retry-connrefused --timeout=30 to wget for both CalculiX and SU2 downloads

components.yaml

  • Added PYTHON_BINDINGS_REF to calculix-adapter build args

Verification

  • Confirmed heat-exchanger-simplified has a complete metadata.yaml with all required participants and cases
  • Verified case names match exactly with metadata.yaml
  • Confirmed correct parsing via python3 print_test_suites.py — both heat_exchanger_simplified_test and release_test show the new tutorial
  • Ran python3 systemtests.py --suites=heat_exchanger_simplified_test --build_args=TUTORIALS_REF:develop — Docker images build and coupled run completes; fails only at field-comparison due to missing reference archive (expected)

Notes on reference results

Reference results for heat-exchanger-simplified will need to be generated on a Linux machine via CI or generate_reference_results.py. The .gitkeep placeholder has been added to heat-exchanger-simplified/reference-results/.

Checklist

  • I added a summary of any user-facing changes in changelog-entries/731.md
  • I will remember to squash-and-merge with a useful summary

@precice-bot
Copy link
Collaborator

This pull request has been mentioned on preCICE Forum on Discourse. There might be relevant details there:

https://precice.discourse.group/t/gsoc-2026-aditya-gupta/2773/2

@MakisH MakisH added systemtests GSoC Contributed in the context of the Google Summer of Code labels Mar 1, 2026
@AdityaGupta716 AdityaGupta716 force-pushed the systemtests/add-heat-exchanger-simplified branch 3 times, most recently from cfc73eb to 3225a04 Compare March 2, 2026 23:08
Add heat-exchanger-simplified to the system test suites, covering the
fluid-top-openfoam, fluid-btm-openfoam, solid-calculix case combination.
@AdityaGupta716 AdityaGupta716 force-pushed the systemtests/add-heat-exchanger-simplified branch from 3225a04 to 4fab16a Compare March 2, 2026 23:14
@AdityaGupta716
Copy link
Author

@makis, would love your feedback while adding the test suite I ran into a few things locally Ubuntu 24.04 has a default user with UID/GID 1000 which breaks the container build, some adapter ARGs were missing defaults which caused issues when building standalone, and the CalculiX and SU2 downloads occasionally fail without retries. Fixed all of those along the way. Let me know if anything needs changing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GSoC Contributed in the context of the Google Summer of Code systemtests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants