lumiera_/tests
Ichthyostega 1cbb6b7371 Scheduler-test: rework handling of notifications in the Activity-Language
While the recent refactoring...
206c67cc

...was a step into the right direction, it pushed too hard,
overlooking the requirement to protect the scheduler contents
and thus all of the Activity-chains against concurrent modification.
Moreover, the recent solution still seems not quite orthogonal.

Thus the handling of notifications was thoroughly reworked:
- the explicit "double-dispatch" was removed, since actual usage
  of the language indicates that we only need notifications to
  Gate (and Hook), but not to any other conceivable Activity.
- thus it seems unnecessary to turn "notification" into some kind
  of secondary work mode. Rather, it is folded as special case
  into the regular dispatch.

This leads to new processing rules:
- a POST goes into λ-post (obviously... that's its meaning)
- a NOTIFY now passes its *target* into λ-post
- λ-post invokes ''dispatch''
- and **dispatching a Gate now implies to notify the Gate**

This greatly simplifies the »state machine« in the Activity-Language,
but also incurs some limitations (which seems adequate, since it is
now clear that we do not ''schedule'' or ''dispatch'' arbitrary
Activities — rather we'll do this only with POST and NOTIFY,
and all further processing happens by passing activation
along the chain, without involving the Scheduler)
2023-12-16 23:47:50 +01:00
..
basics Chain-Load: draft usage for Scheduler testing 2023-12-04 00:34:06 +01:00
core Chain-Load: draft usage for Scheduler testing 2023-12-04 00:34:06 +01:00
include MERGE Doxygen clean-up done during the last months 2017-04-01 23:59:00 +02:00
library Chain-Load: combine all exit-hashes into a single global hash 2023-12-09 02:36:14 +01:00
operation Doxygen: magically insert a reference to the test class 2017-02-22 03:17:18 +01:00
plugin Fix notorious warning 2017-04-01 23:59:37 +02:00
stage Library/Application: consolidate Monitor API and usage 2023-10-15 20:42:55 +02:00
tool Commands: some unit test coverage for unbinding arguments 2017-04-16 19:38:56 +02:00
vault Scheduler-test: rework handling of notifications in the Activity-Language 2023-12-16 23:47:50 +01:00
00helloworld.tests link tests with stringent application scope dependencies (closes #938) 2014-10-17 21:15:59 +02:00
00support.tests Activity-Lang: support negative assertions for tests 2023-08-14 19:25:56 +02:00
00test.tests Fix: test should not be locale dependant 2010-11-06 23:02:27 +01:00
10errorhandling.tests re-arrange tests according to layer structure 2013-01-07 05:43:01 +01:00
10exception.tests Library: discontinue setting error flag from Exceptions (see #1341) 2023-10-01 20:11:45 +02:00
11concurrency.tests LibraryApplication: tie DispatcherLoop to thread lifecycle 2023-10-12 20:23:59 +02:00
11list.tests reorganise test suite compartments 2014-10-17 20:02:25 +02:00
11locking.tests Library/Application: complete technology switch (closes #1279) 2023-10-16 01:44:04 +02:00
11luid.tests reorganise test suite compartments 2014-10-17 20:02:25 +02:00
11safeclib.tests reorganise test suite compartments 2014-10-17 20:02:25 +02:00
11time.tests test-suite: fix lots of missing return value checks 2016-01-28 22:30:24 +01:00
11vault-memory.tests Block-Flow: completed implementation of low-level cyclic extent storage 2023-07-12 21:55:50 +02:00
12metaprogramming.tests Library: test coverage for self-managed thread 2023-10-11 21:06:56 +02:00
15library.tests Chain-Load: safety problems with rule initialisation 2023-12-03 04:59:18 +01:00
20config_lowlevel.tests clean-up: sourcefile layout and spell checking 2014-10-23 23:04:35 +02:00
20threads.tests
22config_highlevel.tests re-arrange tests according to layer structure 2013-01-07 05:43:01 +01:00
25fundamental.tests Library: prepare switch of Thread-wrapper to C++17 2023-09-21 23:23:55 +02:00
30backend-file.tests
30interfaces.tests
31plugin.tests integrate priority queue: lumiera namespace prefix; unit test pass 2013-09-13 05:44:58 +02:00
32scheduler.tests Scheduler-test: complete and integrate computational load 2023-12-11 19:42:23 +01:00
40core.tests Global-Layer-Renaming: adapt lots of documentation 2018-11-15 21:13:52 +01:00
41asset.tests Assets: investigating the unclear distinction between asset::Struct and asset::Meta (#1156) 2018-09-14 21:06:12 +02:00
42query.tests Global-Layer-Renaming: adapt lots of documentation 2018-11-15 21:13:52 +01:00
43session.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
44controller.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
45builder.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
46fixture.tests Dispatcher-Pipeline: create hook for self-validation 2023-06-12 01:18:59 +02:00
46node.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
47engine.tests bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
48playout.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
49core-integration.tests Dispatcher-Pipeline: prepare test for the new NodeGraphAttachment 2023-06-07 04:03:00 +02:00
51-gui-model.tests Segmentation: structure analysis for splitSplice operation 2023-05-02 04:29:34 +02:00
52-gui-control.tests Global-Layer-Renaming: fix remaining textual usages and IDs in the code 2018-12-10 00:09:56 +01:00
80-regression.tests test-suite: fix lots of missing return value checks 2016-01-28 22:30:24 +01:00
DIR_INFO update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
SConscript Global-Layer-Renaming: fix remaining textual usages and IDs in the code 2018-12-10 00:09:56 +01:00
test.conf Testsuite: increase virtual memory limit 2023-10-04 22:42:37 +02:00
test.sh test.sh - reorganise how limits are set 2015-08-16 01:17:39 +02:00
testrunner.cpp Doxygen: supply missing file level comments for test support helpers 2017-02-22 01:58:49 +01:00