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