lumiera_/tests/stage
Ichthyostega 0b9e184fa3 Library: replace usages of rand() in the whole code base
* most usages are drop-in replacements
 * occasionally the other convenience functions can be used
 * verify call-paths from core code to identify usages
 * ensure reseeding for all tests involving some kind of randomness...

__Note__: some tests were not yet converted,
since their usage of randomness is actually not thread-safe.
This problem existed previously, since also `rand()` is not thread safe,
albeit in most cases it is possible to ignore this problem, as
''garbled internal state'' is also somehow „random“
2024-11-13 04:23:46 +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: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +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.