Commit graph

1047 commits

Author SHA1 Message Date
Christian Thaeter
711af29605 Merge remote branch 'plouj/second-tp-attempt' into backend_devel
* plouj/second-tp-attempt:
  added two sync tests
  show the state name string
  it is more proper to use cond_sync flags for *CONDITION_SECTIONs
  add a threads/threadpool NOBUG flag hierarchy
  replace an old test with a compile-only one which spawns way too many threads
  increase the delay in threads to 10ms
  wrap prime test in usleep() to make the thread likely to be re-scheduled
2010-02-03 10:51:03 +01:00
Christian Thaeter
7ef1bab914 premature fix for the threadwrapper test
Added some more fuzz and sleeping to the test calculation to have a actual
chance to fail when something is not well locked.

Using a premature classlock, locking instances was insufficient.
2010-02-03 10:45:58 +01:00
Christian Thaeter
01839d4e48 update for nobug-201002.1 2010-02-03 10:38:12 +01:00
Michael Ploujnikov
73f1bbae2a added two sync tests
one with a single thread and one with 100 randomly sleeping ones
2010-02-02 20:44:35 -05:00
Michael Ploujnikov
8588fa2b9c it is more proper to use cond_sync flags for *CONDITION_SECTIONs 2010-02-01 07:25:49 -05:00
Michael Ploujnikov
b799321dff add a threads/threadpool NOBUG flag hierarchy
and remove redundant/errorneous flag initializations as a result
also use the test flag from logging.h
2010-02-01 07:25:06 -05:00
Michael Ploujnikov
c57c02ea45 replace an old test with a compile-only one which spawns way too many threads 2010-01-31 20:05:05 -05:00
Michael Ploujnikov
79f8481f99 increase the delay in threads to 10ms 2010-01-31 19:46:48 -05:00
Michael Ploujnikov
64ab9f6bf7 wrap prime test in usleep() to make the thread likely to be re-scheduled 2010-01-31 13:33:47 -05:00
Christian Thaeter
2b74d82f13 remove threadpool initialization, this is done elsewhere now
Subsystem runner/-test is still broken, sometimes segfaults
2010-01-30 07:37:32 +01:00
Christian Thaeter
e4e87e8cdd log error while setting it 2010-01-30 07:20:09 +01:00
Michael Ploujnikov
6aacf490a3 add a comile-only test with threads sleeping for random intervals 2010-01-29 22:42:28 -05:00
Michael Ploujnikov
362069ea53 make the process-function test run really quickly 2010-01-29 22:42:28 -05:00
Michael Ploujnikov
f69006aa54 test spawning a bunch of short sleeping threads 2010-01-29 22:42:20 -05:00
Michael Ploujnikov
b87db7eb8f re-add a test message that I forgot 2010-01-29 22:01:48 -05:00
Michael Ploujnikov
9d7f6a1fce don't test the kind anymore (too simple)
Conflicts:

	tests/30backend-threadpool.tests
2010-01-29 21:52:12 -05:00
Michael Ploujnikov
3611fbcf7c also ignore RESOURCE_ENTER, RESOURCE_STATE and RESOURCE_LEAVE in the test output 2010-01-29 21:49:11 -05:00
Christian Thaeter
74560cdd99 remove some lock sections in thread two_acquire_test
After acquired, the caller 'owns' the thread handle and can inspect it,
the associated thread is defined to be waiting for a wakeup signal
(and then one shouldn't do unlocked access to the thread handle)
2010-01-30 03:30:08 +01:00
Christian Thaeter
4aa5380311 FIX: two-threads-acquire test, eternal wait for wakeup signal 2010-01-30 02:57:57 +01:00
Christian Thaeter
f57d637b59 Merge commit 'dc87e78590ea86615d3ebe90d23af4548445b941' into backend_devel
* commit 'dc87e78590ea86615d3ebe90d23af4548445b941':
  add a two-thread acquire test
  show the state of the thread in question
  minor fixes: remove an old comment and change another
  fix the prime test algorithm
  use unsigned long for even more digits!
2010-01-30 00:48:04 +01:00
Michael Ploujnikov
dc87e78590 add a two-thread acquire test
currently this results in a deadlock between lumiera_threadpool_destroy() and thread_loop()
2010-01-26 17:02:31 -05:00
Christian Thaeter
6659ab6ac1 Merge remote branch 'ichthyo/thread_integration' into backend_devel
* ichthyo/thread_integration:
  automatically start the threadpool on demand, similar to NoBug
  refactor the C++ thread-wrapper, remove JoinHandle
2010-01-24 16:24:38 +01:00
ede06e63d5 automatically start the threadpool on demand, similar to NoBug
but the difference is: threadpool comes up application init i.e. at the begin of main(),
while NoBug comes up in static init already.
2010-01-24 15:48:48 +01:00
93af4ed017 refactor the C++ thread-wrapper, remove JoinHandle 2010-01-24 14:05:32 +01:00
8419f4acb9 Scope queries in general pass unit test 2010-01-23 15:50:46 +01:00
82967191b3 PlacementIndexQueryResolver passes unit test 2010-01-23 15:50:46 +01:00
018801895b Add some test-dummy MObjects *temporarily* to core tree (Ticket #532) 2010-01-23 15:50:46 +01:00
f6cf3195cf * MObjectRef_test pass *
This is the integration of some months of work
2010-01-23 15:50:46 +01:00
0f9fc7e3dd PlacementRef works! that's a milestone. Closes #78 2010-01-23 15:50:46 +01:00
9a6f9b2ba5 PlacementIndex: possibly retaining type information on insert 2010-01-23 15:50:46 +01:00
26972376de MobjectRef_test passes compiler as a whole 2010-01-23 15:50:45 +01:00
71428ccf6f activating an MObject ref implemented, passes compiler 2010-01-23 15:50:45 +01:00
e9d641babd nail down all the MObjectRef equality comparison cases 2010-01-23 15:50:45 +01:00
e04672936a getting MObjectRef_test partially through the compiler 2010-01-23 15:50:45 +01:00
Christian Thaeter
f17249713c WIP: subsystem runner test, still broken
using new thread synchronization

Disabled further tests, making one after another working.

Some notes:
 * currently running this leads to different outcomes on differnt runs,
   there are some races/unsyncronized things left, to be investigated.
 * I suggest to make Subsystems joinable, this prolly needs some work in
   the error handling department (thread-wrapper.hpp too)
 * using nonrecursive/waitable lock, recursive locks are have some bad
   taste unless absolutely necessary
 * after all a timed lock with polling is not the right approach to check
   for subsystem shutdowns, I opted against thread cancelation because of
   its programming overhead and complexity. We may refine this and allow
   synchronous cancellation (with an approbiate thread flag) in some cases.
2010-01-23 06:57:15 +01:00
Christian Thaeter
8607a4006a update the thread-wrapper to use the new threading API
This removes the explicit Sync things from the thread wraper since
the functionality is almost exactly provided by the backend.

Thread encapsulates a lumiera thread handle now, but this is strictly
optional and might be dropped on the floor (using a temporary as thread).

Thread has a sync() function which allows user controlled syncronous
startup:

 Thread("foo", myoperation).sync();

will startup myoperation and only return from the ctor after myoperation
called a matching lumiera_thread_sync().

The related tests need to initialize/destroy the threadpool accordingly
2010-01-23 06:57:14 +01:00
Christian Thaeter
9fc68c9d32 Merge remote branch 'public/nobug201001.2' into backend_devel
* public/nobug201001.2:
  integrating nobug context passing
  updates for nobug 201001.2

Conflicts:
	configure.ac
	src/lib/condition.h
	src/lib/reccondition.h
	tests/backend/test-threads.c
2010-01-23 06:56:39 +01:00
Christian Thaeter
c15f2247d7 integrating nobug context passing
Somewhat more intrusive than the previous patch,
adds contexts everywhere except for sync.hpp where only default ctors
are used.
2010-01-23 01:40:27 +01:00
Michael Ploujnikov
fc15a2ac2c Merge commit '6f07e4eedc6b624b1f9ae1004ad3e6a77027e028' into second-tp-attempt
Conflicts:
	src/backend/threads.c
2010-01-20 21:41:14 -05:00
Michael Ploujnikov
fca6cd786b fix the prime test algorithm
actually test for the output of the function
2010-01-20 07:54:26 -05:00
Christian Thaeter
cd39533899 the thread-wrapper tests need to init/destroy the threadpool 2010-01-19 18:46:32 +01:00
Michael Ploujnikov
fb61813650 use unsigned long for even more digits! 2010-01-18 12:43:28 -05:00
Michael Ploujnikov
ffdbc7083b use the largest prime that can fit in an it
don't hard-code the number in the test
2010-01-18 12:16:45 -05:00
Michael Ploujnikov
045311db49 don't expect a message about waiting anymore 2010-01-18 12:07:17 -05:00
Christian Thaeter
020908d623 Make threadpool_destroy wait until all threads are finished
adds a state to each threadpool which can be only offline or online.
One can not acquire new threads when the pool is offline.

no need for waits in the teststuite anymore.
2010-01-18 17:53:33 +01:00
Christian Thaeter
d659b1e8e7 fix a PLANNED test glitch 2010-01-17 17:34:23 +01:00
Christian Thaeter
72d9cbe91c Merge remote branch 'plouj/second-tp-attempt' into backend_devel
* plouj/second-tp-attempt: (68 commits)
  partially fix a pkg-config problem with scons on Fedora12
  fix comilation by using an existing TEST macro
  more formatting fixes to put spaces before function/macro call opening brackets
  add a stronger REQUIRE check
  ignore RESOURCE_ANNOUNCE in tests
  fix the code by re-merging some of cehteh's changes
  remove redundant info from TRACE
  match the filename in the header comment
  add a thread state check and remove an old comment
  python-2.6 fix: loading the icon_rener.py script (Ticket #222)
  Use a fully qualified name for PlacementMO in PlacementIndex
  fix compilation errors
  die regardless of what type of failure pthread_create() encounters
  mark thread as worker
  remote unnecessary calls to llist_unlink() insert is enough
  continuation of working_list introduction
  begin adding a second list to store working threads
  merge ECHO with TRACE
  don't expect any more output from the basic test
  fix compilation
  ...

Conflicts:
	src/tool/Makefile.am
	tests/Makefile.am
2010-01-17 17:32:43 +01:00
Christian Thaeter
b532a3e2ac Merge branch 'master' into backend
* master:
  autoconf/automake cleanup
2010-01-17 15:55:49 +01:00
Christian Thaeter
b8336879f7 autoconf/automake cleanup
* refactor configure.ac to have distinct sections to configure each
   subsystem.
 * Dedicated LUMIERA_<subsys>_CFLAGS|_LIBS vars
 * Fix Makefile.am's to use them, remove unnecessary dependencies

Stray dependencies to be refacored:
 * tests/Makefile.am has dependencies on proc and backend
  - should be moved to tests/library/Makefile.am etc anyways
 * tests/lib/Makefile.am has dependency on GUI left


 * src/tool/Makefile.am links GUI stuff generally, thats ok

 * one threading test is broken, we don't care, merging new threadpool in
   next.
2010-01-17 15:48:30 +01:00
Michael Ploujnikov
de7debc557 fix comilation by using an existing TEST macro 2010-01-16 17:27:02 -05:00
Michael Ploujnikov
207e8e7a6d Merge remote branch 'ct/backend' into second-tp-attempt 2010-01-16 14:52:11 -05:00
Michael Ploujnikov
464ab920dd ignore RESOURCE_ANNOUNCE in tests
makes my threadpool process-function test pass :)
2010-01-16 12:52:30 -05:00
Michael Ploujnikov
02c9ee33c7 fix the code by re-merging some of cehteh's changes
test still fails
2010-01-16 11:48:48 -05:00
Christian Thaeter
c85dc85ec1 planned test for clearing errors, just a note not to forget this 2010-01-16 11:47:58 +01:00
Michael Ploujnikov
523e898fbe Merge branch 'master' into second-tp-attempt
Conflicts:
	src/lib/condition.h
	src/lib/reccondition.h
2010-01-13 19:17:24 -05:00
Michael Ploujnikov
a045479c63 Merge branch 'master' of git://git.lumiera.org/LUMIERA 2010-01-13 19:12:15 -05:00
Christian Thaeter
63346c7dff Fix remaining test, forgot to link tests in 2010-01-13 10:25:33 +01:00
Michael Ploujnikov
564e6c94a0 Merge remote branch 'origin/master'
Conflicts:
	tests/test.sh
2010-01-12 08:05:12 -05:00
Michael Ploujnikov
49da609e80 Merge branch 'master' of git://git.lumiera.org/LUMIERA into second-tp-attempt
Conflicts:
	src/lib/condition.h
	src/lib/mutex.h
	src/lib/reccondition.h
	src/lib/rwlock.h
	tests/test.sh
2010-01-11 16:47:45 -05:00
Christian Thaeter
b30ca384cb new test.sh|.conf from nobug 2010-01-10 10:36:24 +01:00
Christian Thaeter
799fe34980 Fix: race conditions with the nobug resource tracker
* requires new nobug version
* 40components.test "Type-based contexts" TypedCounter_test hangs
  for unknown reason, temporary disabled
2010-01-10 10:36:24 +01:00
Christian Thaeter
4e7d656b71 WIP: autotools fixup for ichthyo 2010-01-09 22:17:34 +01:00
14c7f7fc62 PlacementIndex implemented, unit test pass 2010-01-09 05:10:32 +01:00
Michael Ploujnikov
b679bfa236 don't expect any more output from the basic test 2010-01-08 07:33:25 -05:00
e01b41cd1a WIP: draft test to cover object identity handling 2010-01-08 04:00:47 +01:00
836f533a2f add equality comparison and identity handling 2010-01-08 03:59:01 +01:00
Michael Ploujnikov
56cf53adb3 fix compilation 2010-01-07 18:36:51 -05:00
Michael Ploujnikov
6e2970aa56 Merge branch 'reccond-chain' into second-tp-attempt
Conflicts:
	tests/15locking.tests
	tests/library/test-locking.c
2010-01-07 16:53:02 -05:00
2fd7a2f6f9 patch temporary re-entrance problems on session creation (maybe #495) 2010-01-07 08:28:54 +01:00
5cc3af3009 document the changed/new behaviour by unit test 2010-01-07 04:40:10 +01:00
Michael Ploujnikov
d8234db7b3 Merge remote branch 'ct/for_plouj2' into second-tp-attempt 2010-01-06 07:48:36 -05:00
665bd19f8a use this to get the distinct keys of a multimap 2010-01-06 06:53:29 +01:00
ff2113e61f implement an duplicate-value filtering iterator 2010-01-06 06:19:30 +01:00
2ad85dbb07 bugfix and test coverage 2010-01-06 04:14:16 +01:00
030a7d3813 basic IterSource implementation passes unit test (#490) 2010-01-05 05:21:13 +01:00
16962ae714 IterSource implementation draft 2010-01-05 04:10:23 +01:00
ea5668c5e3 WIP define expected usage of IterSouce 2010-01-05 02:53:20 +01:00
330eb2c243 extended for-each looping helpers. Closes #479 2010-01-04 14:48:00 +01:00
bf48ebc272 add special for-each handling for Lumiera Forward Iterator 2010-01-04 14:23:15 +01:00
d2f24504bd verify/fix the test 2010-01-04 13:34:51 +01:00
cd3a77649e use the (new) iterable classification to mask for_each overloads 2010-01-04 11:19:01 +01:00
64cedb6345 implemented compile-time detection of STL or Lumiera iterator
closes #482
2010-01-03 05:43:33 +01:00
ce6767b71f Testcase to verify the iterable type detection 2010-01-03 00:02:53 +01:00
e27d03c501 simple duck detecor components pass unit test 2010-01-02 09:07:10 +01:00
8777aa585a duck detector (lib helpers): initial implementation draft 2010-01-02 08:09:40 +01:00
e94927d5a3 standard case (using STL container) solved, incl. binding arguments and member functions 2009-12-31 03:25:25 +01:00
Michael Ploujnikov
12a2eed583 fix variable names in the LUMIERA_RECCONDITION_SECTION_CHAIN macro (seems like a copy+paste error from recmutex.h) 2009-12-29 16:52:39 -05:00
484213e42d Implementation draft 2009-12-29 05:34:32 +01:00
2b46574da3 move the for_each helpers into a separate header
(because util.hpp is used pervasively, and I don't want
<tr1/functional> in such a widely used header...
2009-12-29 04:39:27 +01:00
0dca7cbb4d not-yet-implemented.... 2009-12-29 04:30:11 +01:00
c8c359d648 specify expected behaviour of the for_each helpers 2009-12-29 03:42:33 +01:00
c49d8321f6 fill in documentation and missing test cases 2009-12-27 06:36:52 +01:00
0a085acf74 add coverage for the simple standard case
(function returing a value)
2009-12-25 05:24:49 +01:00
Christian Thaeter
a698128cfc new no-function test, sleep a bit before destroying the threadpool 2009-12-24 01:55:24 +01:00
Christian Thaeter
88195087d6 recondition to condition,
remove the mutex from the pool
rename park to release :P
2009-12-24 01:54:49 +01:00
Michael Ploujnikov
6f5578ba10 fix a copy+paste mistake in LUMIERA_RECCONDITION_SECTION_CHAIN and add a test-case for it 2009-12-23 18:14:29 -05:00
Michael Ploujnikov
f2406c23a1 bork bork bork
by pulling this you agree to...
2009-12-23 13:10:31 -05:00
534ae16605 implemented this FunctionResult template, needed for Ticket #175 2009-12-23 04:46:09 +01:00
4cb32047ae WIP: define behaviour of a result remembering function... 2009-12-23 01:36:11 +01:00
97faf3dcb8 ItemWrapper unit test pass. Closes #476 2009-12-21 07:52:58 +01:00
e5ab9d73eb add specialisation to deal with wrapping a reference... 2009-12-21 06:19:56 +01:00
3db676fa32 base implementation fo the ItemWrapper 2009-12-21 05:44:29 +01:00
83eb6976cd draft an universal val/ref wrapper, needed by TransformIter.
Seemingly I've hit a nasty problem here, because PlacementIndex
should return an Placement&, but this is being fetched
after-the fact from within the iterator.
2009-12-20 04:33:24 +01:00
Michael Ploujnikov
547ff2b772 Merge branch 'for_plouj' of git://git.lumiera.org/lumiera/ct into second-tp-attempt 2009-12-16 22:36:38 -05:00
Christian Thaeter
5c7abbded9 Fix: race conditions with the nobug resource tracker
* requires new nobug version
* 40components.test "Type-based contexts" TypedCounter_test hangs
  for unknown reason, temporary disabled
2009-12-17 03:49:02 +01:00
9f09a8aa49 push creation of the root MObject to users of PlacementIndex 2009-12-17 03:16:08 +01:00
73fcc78cb3 PlacementIndex checks for bottom (invalid) ID 2009-12-13 05:49:08 +01:00
6c187224eb get it through the compiler again... 2009-12-12 05:03:50 +01:00
fd782eb139 WIP: change management of test/mock PlacementIndex
now lifecycle of this mock index is managed automatically
from within the session services. This allows to get
rid of the smart-ptr creating factory. As a consequence,
PlacementIndex now resides directly within SessionImpl.
2009-12-11 02:49:12 +01:00
Michael Ploujnikov
eedfafb0d0 convert lumiera_thread_state to using the enum string trick and use it in a test 2009-11-29 18:06:14 -05:00
Michael Ploujnikov
fc16de332f convert lumiera_thread_class to using the enum string trick and use it in a test 2009-11-29 17:55:20 -05:00
488039c4c6 cleanup and write tests covering the newly implemented stuff 2009-11-28 23:37:58 +01:00
Michael Ploujnikov
98519c57da reduce the number of threads spawned in tests to avoid EAGAIN errors from pthread_create (at least on my 2.6.31.5-127.fc12.x86_64 Core2Duo T9600 system) 2009-11-27 11:39:23 -05:00
cde45c021e add basic storage and implementation of the PlacementIndex tables 2009-11-27 02:03:20 +01:00
Michael Ploujnikov
99eb790027 rename LUMIERA_THREAD_* to LUMIERA_THREADCLASS_* in enum lumiera_thread_class 2009-11-26 11:21:31 -05:00
Michael Ploujnikov
52e9259e8b this was replaced with tests/backend/test-threadpool.c 2009-11-26 11:15:31 -05:00
Michael Ploujnikov
af80622ef5 begin implementing a 'soft' thread count limit per pool
add LUMIERA_DIE in cases where this soft limit is reached
add LUMIERA_DIE when pthread_create fails to create threads - serious
add a test which tries to break the soft limit
2009-11-26 10:24:18 -05:00
Michael Ploujnikov
bd076e4210 reduce the number of threads spawned in a test 2009-11-26 10:24:18 -05:00
Michael Ploujnikov
085216fd61 remove "allocated thread*" messages from lumiera_thread_new() and update tests 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
07962b5314 add comments about locking in lumiera_threadpool_release_thread()
output the size of the created thread struct
don't print "destroying thread" (lets tests become shorter with repeated matching)
add a test which spans many threads in all pools
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
8e3d4e7b7a fixed lumiera_threadpool_destroy() by using LLIST_FOREACH
added some checks to lumiera_threadpool_release_thread(), maybe too much
modified thread_loop() to return a known value - 0
added checks to lumiera_thread_new()
added a check to lumiera_thread_destroy()
made lumiera_thread_destroy() unlink the thread from a pool list
updated test case to match new debug messages
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
d6d81f2e44 added lumiera_threadpool_destroy()
added locking and checks to lumiera_threadpool_acquire_thread()
added a nobug flag to threads.c
added lumiera_thread_destroy()
added lumiera_thread_delete()
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
414b8b99c3 updated test passes
fixed problem with copying lists
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
75696986e4 test passes 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
10f79290a1 add lumiera_threadpool_release_thread
make the test compile
change from type to kind
2009-11-26 10:24:17 -05:00
Michael Ploujnikov
9dd838b129 acquire() test started, so far, everything just compiles 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
00eb4eda46 partial code skeleton 2009-11-26 10:24:17 -05:00
Michael Ploujnikov
4bac65df72 copied test.sh from nobug 1147947 2009-11-26 10:13:32 -05:00
0186343909 finished implementation of QueryFocus (frontend handle) 2009-11-22 11:13:49 +01:00
12dc0e2c2d add unit test, write documentation. Closes #420 2009-11-22 07:26:51 +01:00
89aacf385e relocate tests; they belong into namespace session 2009-11-22 04:42:50 +01:00
ed86c97881 Defined/Stubbed all required ScopePath operations 2009-11-21 20:55:14 +01:00
b7987cf3ce define iteration on ScopePath as reverse iteration on the contained Scopes 2009-11-21 04:48:29 +01:00
b2849c6099 defined and implemented equality of scopes 2009-11-21 02:49:24 +01:00
218e1b8d60 add a start-element shortcut to the test-helper
This allows to get a start Placement, which is known
to be way down in the test-hierarchy of Placements
created by build_testScopes()
2009-11-21 01:07:56 +01:00
1a02239e26 write down all the ScopePath operations identified thus far 2009-11-20 23:06:27 +01:00
ce98bd9bca Finished basic concept how to establish a current query focus (Ticket #403) 2009-11-20 22:00:15 +01:00
cdb84a9b16 refining the draft for ScopeLocator 2009-11-20 19:58:22 +01:00
11463da463 better use an enum for the ScopeQuery kinds 2009-11-18 04:53:49 +01:00
002a0a97e6 add remaining bits to get query-for-session-contents impl to compile 2009-11-17 03:01:18 +01:00
Michael Ploujnikov
046dab0ca3 Add missing nobugmt ld flags to test_threads 2009-11-14 22:21:08 -05:00
017c668d7a WIP outline of the index query resolution 2009-11-13 16:32:22 +01:00
981ea94708 finished the PlacementIndex API. 2009-11-13 04:52:48 +01:00
d0c905b5c9 add an transforming iterator to the itertools 2009-11-13 03:26:20 +01:00
d658415144 WIP about providing scope contents discovery, backed by the index 2009-11-12 02:15:02 +01:00
5535a7a00e phase out the existing access functions, now superseeded by SessionServices 2009-11-11 05:44:58 +01:00
79d5e49a74 defined basic session lifecycle and service access. Closes Ticket #400 2009-11-09 05:21:59 +01:00
043d4f42fa working example implementation of the access mechanism to session internal APIs 2009-11-09 02:08:37 +01:00
2765981db9 build a complete simplified mock Session/SessionManager 2009-11-08 20:13:11 +01:00
aaf19f4d89 First draft regarding the access of session implementation services (Ticket #400) 2009-11-07 19:49:29 +01:00
78f9b2b1c5 WIP refactor ContentsQuery to share implementation with a PathQuery facility 2009-11-07 02:49:55 +01:00
bdb8bc2c98 move PlacementIndex into namespace session 2009-11-06 19:27:53 +01:00
bb8c018214 integrate QueryFocus with the new ContentsQuery facility 2009-11-06 18:42:15 +01:00
8c7727704c Finish ContentQuery definition; relying on PlacementIndex 2009-11-02 07:37:15 +01:00
1c72cbb599 Iterator tools: (1) a filtering iterator 2009-11-02 06:06:43 +01:00
356fe8fd13 change the ContensQuery stub to fit into the QueryResolver in its current form
Actually, the implementation within PlacementIndex is missing.
Moreover, I think now that PlacementIndex shouldn't implement
QueryResolver directly.
2009-11-01 03:47:35 +01:00
2620c38ed9 documentation, close some tickets... 2009-11-01 02:02:21 +01:00
9ff7b1eaeb Implement registration of a resolution function. QueryResolver_test pass 2009-10-30 20:33:44 +01:00
f70f8c4e4a implemented the mechanism for dispatch-to-concrete resolution 2009-10-30 18:37:08 +01:00
f35b422316 SubID: add (preliminary) hash impl; unit test pass 2009-10-30 06:50:26 +01:00
df562a186f oops... fix a bug in Literal's hash function 2009-10-30 05:15:26 +01:00
006392f6ea yet another random test helper 2009-10-30 03:53:51 +01:00
ceb4d4b5ea reworked MultiFact passes unit test. Closes Ticket #376 2009-10-30 00:32:26 +01:00
1dccd37c70 re-order MultiFact implementation to get it to compile 2009-10-29 22:00:17 +01:00
ee611224b6 disable the tests not ready yet (see Ticket 384) 2009-10-29 21:59:25 +01:00
d2721378d5 get QueryResolver to compile 2009-10-29 21:59:02 +01:00
3145064a21 change IterAdapter iteration control API to use free functions 2009-10-29 04:31:16 +01:00
0cef067c11 WIP adapt unit test and the argument-accepting MultiFact specialisation 2009-10-28 04:45:17 +01:00
2530e8c1a1 WIP try to create an extension point to MultiFact, allowing to accept argument(s)
sketch of an idea how to add an extension possibility
without messing up the basic MultiFact template
2009-10-27 05:13:38 +01:00
6dc09e66dc WIP: test-driven brainstorming: how to pass additional factory arguments? (Ticket #377) 2009-10-26 01:42:35 +01:00
ec4b2eef00 WIP: test-driven brainstorming: how to build the query dispatcher table? 2009-10-26 01:39:25 +01:00
5d9671cb2c WIP place a ref-count into the result iterator 2009-10-25 16:18:53 +01:00
eb2d309601 WIP: reworked the design further 2009-10-24 16:03:14 +02:00
c3441ac26a WIP Query<TY> implementation draft... 2009-10-24 00:23:22 +02:00
455ad14ae5 set up some steps which might lead to a solution of the typed-query-problem 2009-10-23 20:09:36 +02:00
90e09b9fa0 WIP trying to get ahed with the problem of issuing queries 2009-10-22 17:24:57 +02:00
452e1bb727 WIP draft an unit test detailing QueryFocus operation 2009-10-20 05:34:58 +02:00
f0c9beb5c6 WIP design the ScopePath API by unit test 2009-10-18 19:08:21 +02:00
2e62a3b01b WIP continue design how to discover session contents 2009-10-17 21:31:03 +02:00
2ca89010d1 introduce pointer-to-PlacementIndex typedef 2009-10-17 21:29:16 +02:00
3b1301be14 WIP stubbed some of the operations to implement on class Scope 2009-10-17 02:16:19 +02:00
a662b176bb WIP test-driven brainstorming: what is a Scope? 2009-10-17 02:15:28 +02:00
9451a6888f start definition of new session::Scope interface 2009-10-16 03:13:57 +02:00
65f100c1a2 start 2 unit tests for scope handling 2009-10-14 06:18:25 +02:00
cd51e5fef0 Proc Command handling frontend finished and usable for now
Additional convenience shortcuts and a bit of polishing.
Closes Ticket #300
2009-10-11 05:57:46 +02:00
c6d5f8a0b4 Proc Command framework: *first integraton round finished* 2009-10-11 05:57:46 +02:00
36d615dd3a add test case covering the string representation of commands 2009-10-11 05:57:46 +02:00
ae01f85452 replace existing implementation with CommandImplCloneBuilder 2009-10-11 05:57:45 +02:00
fdd940feba clone builder implemented; problem resolved according to test 2009-10-11 05:57:45 +02:00
bb7ff5e317 WIP draft of clone builder implementation 2009-10-11 05:57:45 +02:00
7812792f75 unit test showing current malfunction of UNDO state due to cloning 2009-10-11 05:57:45 +02:00
a4ad41a4e9 Idea how to solve the problem with cloning the UNDO functor 2009-10-11 05:57:45 +02:00
0bcbf7fee0 fix further problems uncovered by test; allow for anonymous cloning 2009-10-11 05:57:45 +02:00
17c7160f02 refactor CommandDef, get rid of the possibility of re-defining. YAGNI! 2009-10-11 05:57:45 +02:00
2ad896027b why doesn't the reverse lookup return a Symbol?
damn! I have the vague rememberance that I had a reason for
not returning a Symbol. Anyway, here it goes...
2009-10-11 05:57:44 +02:00
d2acf48587 change semantics of state predicates, as it seems less surprising this way 2009-10-11 05:57:44 +02:00
c8e049cdea Command system basic unit test pass 2009-10-11 05:57:44 +02:00
5861597d7f smash a glorious ref-to-local object bug 2009-10-11 05:57:44 +02:00
4f1c034b58 CommandRegistry: function test pass 2009-10-11 05:57:44 +02:00
07de2a767b implement equality comparison on CommandImpl level 2009-10-11 05:57:44 +02:00
eefc40acb7 command-equality-test finished for now 2009-10-11 05:57:44 +02:00
fea85acd0e equality comparisons on function erasure objects covered
...well, as good as possible, as boost refuses to implement this feature
2009-10-11 05:57:43 +02:00
231278bafe implemented comparison on function erasure, pending test 2009-10-11 05:57:43 +02:00
5068016805 WIP draft how the equality comparison on a function erasure could work 2009-10-11 05:57:43 +02:00
6a737a5838 WIP draft the CommandEquality_test 2009-10-11 05:57:43 +02:00
96d5ce74c4 Ticket #292: outline unit test explicitly covering equality comparisions 2009-10-11 05:57:43 +02:00
4c3fc9e64d WIP getting CommandRegistry_test to run
(equality on CommandImpl is still missing)
2009-10-11 05:57:43 +02:00
39f50b548c Ticket #266: simplify and combine the bind(...) mixin templates into a single header 2009-10-11 05:57:43 +02:00
2aac4e8ea0 remove spurious AcceptArgumentBinding mixin from ArgumentHolder
it's an implementation class, after all, and doesn't need a convenience API
2009-10-11 05:57:43 +02:00
abd23ae399 TypedAllocationManager (frontend) now in lib:: -- unit test pass 2009-10-11 05:57:43 +02:00
d7ef67e821 reduce the stress load on TypedCounter_test, to avoid testsuite out of memory 2009-10-11 05:57:42 +02:00
7bac890790 Test suite runner: pass exit code = 5 when having caught an exception 2009-10-11 05:57:42 +02:00
cb7c884293 handling patterns usable for now. Close #275 2009-10-11 05:57:42 +02:00
c3d767b444 try out a recursive approach for the extensible ID
more of a general feasability study... to be continued later
2009-10-11 05:57:42 +02:00
455ee34344 start brainstorming on #279 (extensible ID) 2009-10-11 05:57:42 +02:00
8136b0a4b8 HandlingPattern: basic unit test pass 2009-10-11 05:57:42 +02:00
7e4a984ed4 Finish MultiFact for now; use it to set up a table of HandlingPatterns 2009-10-11 05:57:41 +02:00
b7204e05ed removed all the magic and made it simply instance based 2009-10-11 05:57:41 +02:00
bc6f8eebda basically working draft; convoluted and with a lot of static magic 2009-10-11 05:57:41 +02:00
5910f21383 first draft impl regarding automatic installation of a singleton facotry into MultiFact 2009-10-11 05:57:41 +02:00
8ee76b1bfd configurable factory? test-driven brainstorming 2009-10-11 05:57:41 +02:00
8c21f21acc namespace cleanup: bring Singleton and Factory into lib:: 2009-10-11 05:57:41 +02:00
e9b95e47cf Command handling pattern? test-driven brainstorming 2009-10-11 05:57:40 +02:00
337077d617 random seed to improve coverage when run standalone 2009-10-11 05:57:40 +02:00
9376bff71e race fixed, test pass 2009-10-11 05:57:40 +02:00
f6397ef11c implemented TypedCounter and TypedContext.
Test basically pass, but shows an interesting
deadlock from time to time
2009-10-11 05:57:39 +02:00
517fb8b200 multithreaded torture test for the (planned) TypedCounter 2009-10-11 05:57:39 +02:00
83cd7fd830 Extract the type-based counting into a separate facility 2009-10-11 05:57:39 +02:00
c921d927a2 provide API for counting the allocations (unimplemented) 2009-10-11 05:57:39 +02:00
109cc4701c unit test to verify building a hashtable with Symbol keys 2009-10-11 05:57:38 +02:00
18c357eb4a start using Symbol datatype instead of a disguised char* 2009-10-11 05:57:38 +02:00
c9f3a345dc WIP towards CommandRegistry implementation 2009-10-11 05:51:31 +02:00
4517766517 integrating branches
Merge commit '7f09f57cbde4932269c390da70c42a622cd1275f'
2009-10-11 05:50:27 +02:00
ad6d5cc7ef improve and steamline the subsystem testcases 2009-09-29 02:39:48 +02:00
3b1e2f00a8 rewrite simulated "subsystem". Hopefully closes Ticket #253
- clarify the meaning of run(true), run(fail), run(throw)
- do a real handshake between start() and the subsystem thread
- avoid accessing the SubsystenRunner after signalling termination
2009-09-29 02:38:07 +02:00
7f09f57cbd tests pass again 2009-09-21 03:34:10 +02:00
246c535569 Rewrite CmdClosure to actually invoke rather then to create a tr1::bind term
basically this should close Ticket #205  (some details missing)
2009-09-21 03:15:06 +02:00
fd7337f801 WIP drastically simplify command-mutation.
As we're using now a command frontend interface and
and CommandImpl frame in the Registry, most of the
functionaliry on Mutation's interface is superfluous.
Additionally, this separates Mutation and Closure.
2009-09-20 18:37:20 +02:00
f21366833d Merge latest work on the builder interface + NoBug adaptations
Merge commit 'bb8eb4055020c609245fe35a369c70e2acb1daf6' into session
2009-09-07 01:25:28 +02:00
bb8eb40550 disable 2 unfinished tests for now 2009-09-05 19:28:52 +02:00
6fc7aedd95 Merge NoBug-release related additions
Merge branch 'master' into builder
2009-09-05 19:16:13 +02:00
70b4b0ad41 Fix some more format warnings 2009-09-05 19:11:17 +02:00
1969adaf02 Integration of Builder/NodeFactory implementation draft. Stubbed to pass compiler 2009-09-05 18:15:58 +02:00
Christian Thaeter
ce7c78ef8b New test.sh version from nobug 2009-09-05 04:41:53 +02:00
1430965798 WIP: implementation of a node fabrication code path 2009-09-05 04:10:51 +02:00
Christian Thaeter
f73cc47da6 Fix all things which broke compilation with NoBug 200909.1 2009-09-04 08:53:03 +02:00
391181e699 WIP some further musing about how to do a simple invocation for unit testing ProcNode 2009-09-04 01:59:44 +02:00
ddb8805a73 WIP attempt to nail down a very simple example... 2009-08-31 01:32:53 +02:00
c89726e2d8 WIP set up some new tests for brainstorming... 2009-08-31 00:49:08 +02:00
209765def5 WIP: correct indentation, add some comments... 2009-08-30 14:11:14 +02:00