You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 05_testing_and_ci/boost_testing_exercise.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
# Boost.Test and CTest in Action: SideMade Exercise
2
2
3
-
In this exercise, you extend and automate the unit tests of the [SideMade code](https://github.com/Simulation-Software-Engineering/testing-boost-exercise-wt2425), on which we worked during the lecture.
3
+
In this exercise, you extend and automate the unit tests of the [SideMade code](https://github.com/Simulation-Software-Engineering/testing-boost-exercise), on which we worked during the lecture.
4
4
5
-
Deadline: **Thursday, February 5, 2025, 09:00**
5
+
Deadline: **Thursday, February 4, 2026, 09:00**
6
6
7
7
## Preparation and Submission
8
8
9
-
- Import the [testing boost exercise repository](https://github.com/Simulation-Software-Engineering/testing-boost-exercise-wt2425) in your own account/namespace on GitHub and name it `testing-boost-exercise` again. **Note**: We cannot work with forks here because GitHub Actions may not work in pull requests without explicit approval of the owner of the target repository
9
+
- Import the [testing boost exercise repository](https://github.com/Simulation-Software-Engineering/testing-boost-exercise) in your own account/namespace on GitHub and name it `testing-boost-exercise` again. **Note**: We cannot work with forks here because GitHub Actions may not work in pull requests without explicit approval of the owner of the target repository
10
10
- Create a new branch `extend-tests` from `main` and work in this branch.
11
11
- To submit, open a PR from `extend-tests` to `main` in your own repository. Then paste a link to this PR in a new issue in the original repository. Use `[GITLAB-USERNAME] Boost test exercise` as title of the issue.
Copy file name to clipboardExpand all lines: 05_testing_and_ci/boost_testing_precice_demo.md
+13-6Lines changed: 13 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Look around preCICE in the terminal + text editor.
17
17
- Clear separation in preCICE: integration tests only directly use API of preCICE.
18
18
- They are located in `tests` folder.
19
19
- Look at `tests/serial/initialize-data/Explicit.cpp`:
20
-
- Explain `PRECICE_TEST_SETUP` and how it is used: test is run on two MPI ranks living in seperate MPI communicators.
20
+
- Explain `PRECICE_TEST_SETUP` and how it is used: test is run on two MPI ranks living in separate MPI communicators.
21
21
- Information can be accessed via `context`.
22
22
- More information: [blog post on bssw.io on multiphysics testing](https://bssw.io/blog_posts/overcoming-complexity-in-testing-multiphysics-coupling-software)
23
23
@@ -30,11 +30,11 @@ Look around preCICE in the terminal + text editor.
30
30
- Sometimes, we want white-box testing:
31
31
- Why? Access and/or check private members
32
32
- Could `friend` the test, but this quickly gets out of hand
33
-
- Example: class `src/time/Waveform.hpp`
34
-
- Has public and private members. We want to check the private members in tests.
35
-
- Does not `friend` every test, but only `WaveformFixture`
36
-
-`src/testing/WaveformFixture.hpp` has functions to access private members
37
-
- This fixture is used in many tests in `src/time/tests/WaveformTests` (but not handed over to test like normal UTF fixtures)
33
+
- Example: class `src/precice/implDataContext.hpp`
34
+
- Has public and protected or private members. We want to check the protected members in tests.
35
+
- Does not `friend` every test, but only `DataContextFixture`
36
+
-`src/testing/DataContextFixture.hpp` has functions to access protected members
37
+
- This fixture is used in many tests in `src/precice/tests/DataContextTest` (but not handed over to test like normal UTF fixtures)
38
38
39
39
## Test Matrices
40
40
@@ -53,3 +53,10 @@ Look around preCICE in the terminal + text editor.
53
53
## CTest in Parallel
54
54
55
55
- Build preCICE and run tests via `ctest -j 16`, runs tests in parallel, automatic feature of CTest
56
+
57
+
## Mocking preCICE
58
+
59
+
- Even more important than for "normal" software, since coupling library needs two software stacks to couple.
60
+
- WIP: mock shipped with preCICE, currently there is "only" a prototype in Python bindings.
61
+
- Look at [how both environments are distinguished](https://github.com/precice/python-bindings/blob/313441ca296da9bbc694bd99ba930c64b48aa11a/setup.py#L35-L39)
62
+
- Look at files in [`test/`](https://github.com/precice/python-bindings/tree/develop/test)
-**60** min.: [Boost.Test and CTest in Action: SideMade Demo](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/05_testing_and_ci/boost_testing_sidemade_demo.md)
140
+
-**10** min.: [Boost.Test in the Real World: preCICE Demo](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/05_testing_and_ci/boost_testing_precice_demo.md)
141
+
142
+
## 13.2 – Wed, January 28, 2026
143
+
144
+
-**90** min.: [Boost.Test and CTest in Action: SideMade Exercise](https://github.com/Simulation-Software-Engineering/Lecture-Material/blob/main/05_testing_and_ci/boost_testing_exercise.md)
0 commit comments