LUMIERA.clone/tests/stage
Ichthyostega a835a796b2 Library: investigate further ramifications and clean-up Itertools
The detailed analysis of corner cases indicated a lot of hidden dangers
when stretching the `IterExplorer` design beyond its limits.

By deliberate choice, this design was kept open so that advanced cohesive
implementation structures can be built. It is even possible ''and tolerated''
to rely on ''references'' to some degree -- assuming however that the
referred memory location remains stable.

As it turned out, these basic assumptions can be broken by a combination
of read-ahead processing (as is necessary for grouping and filtering),
together with adaptor objects embedded as value, especially when
the resulting pipeline object is then moved or copied during evaluation.

While my general attitude towards such extremely clever implementation
constructs is "don't shoot yourself into your foot unless you need to" --
it seems prudent to clean-up some crappy code from the first attempts
towards an iterator pipeline -- notably some of the »Itertools«.
2026-04-01 01:49:36 +02:00
..
ctrl Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
interact Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
model Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
test Library: investigate further ramifications and clean-up Itertools 2026-04-01 01:49:36 +02:00
abstract-tangible-test.cpp Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
bus-term-test.cpp Tests: build an link a test-support library 2026-03-06 23:16:32 +01:00
DIR_INFO Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
gen-node-location-query.hpp Library: investigate further ramifications and clean-up Itertools 2026-04-01 01:49:36 +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.