lumiera_/tests/stage
Ichthyostega a20e233ca0 Library: now using controlled seed and replaced rand (closes #1378)
After augmenting our `lib/random.hpp` abstraction framework to add the necessary flexibility,
a common seeding scheme was ''built into the Test-Runner.''
 * all tests relying on some kind of randomness should invoke `seedRand()`
 * this draws a seed from the `entropyGen` — which is also documented in the log
 * individual tests can now be launched with `--seed` to force a dedicated seed
 * moreover, tests should build a coherent structure of linked generators,
   especially when running concurrently. The existing tests were adapted accordingly

All usages of `rand()` in the code base were investigated and replaced
by suitable calls to our abstraction framework; the code base is thus
isolated from the actual implementation, simplifying further adaptation.
2024-11-17 19:45:41 +01:00
..
ctrl Global-Layer-Renaming: fix remaining textual usages and IDs in the code 2018-12-10 00:09:56 +01:00
interact Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
model Library: replace usages of rand() in the whole code base 2024-11-13 04:23:46 +01:00
test Scheduler-test: fix out-of-bound access 2023-12-21 20:25:43 +01:00
abstract-tangible-test.cpp Library: replace usages of rand() in the whole code base 2024-11-13 04:23:46 +01:00
bus-term-test.cpp Library: now using controlled seed and replaced rand (closes #1378) 2024-11-17 19:45:41 +01:00
gen-node-location-query.hpp the new design takes the old name 2023-06-22 20:23:55 +02:00
README Global-Layer-Renaming: rearrange directories 2018-11-15 23:28:03 +01:00

GUI backbone tests

The tests in this subtree are a bit special: they cover the generic and
backbone internals of the Lumiera GTK GUI. They are linked against the
complete GUI-module (gui plugin), and thus may use all related ABIs.

Yet these tests are *deliberately* compiled without any GTK, GTKmm or SigC
includes. This effectively rules out the use, even indirectly, of any GTK
widgets and APIs -- forcing the covered GUI backbone entities to stay
clean and generic at API level.

This is a decision done on purpose. The concrete GUI framework technology
shall be treated as an implementation detail. There is no point in writing
tests which click buttons in the GUI -- better delegate any significant
logic or functionality to GUI agnostic components. GUI is meant to be
a presentation layer and must not develop intelligence on its own.