Commit graph

677 commits

Author SHA1 Message Date
b65658c10d try to fix a failing test (not really fixed yet) 2009-07-04 00:22:16 +02:00
d13d461a9c revamp namespace func. Finish excursion on function handling 2009-07-03 14:31:52 +02:00
b7be61c4e6 composition now working 2009-07-03 13:49:12 +02:00
31e9d59d80 WIP draft solution for next task 2009-07-01 04:47:52 +02:00
8d8f184ede check more cases, incl. function pointers 2009-07-01 03:23:26 +02:00
67e5779d24 now also able to close the last function argument 2009-07-01 02:29:11 +02:00
81d0e133c8 new additions in this area now reasonable covered (closes #142) 2009-07-01 00:43:19 +02:00
f70bb0ad6a fill in some missing unit tests 2009-06-30 04:56:10 +02:00
ca807205f9 cleanup/refactor simple type seq handling, fix broken Split template 2009-06-30 04:54:50 +02:00
320f984270 got partial application working, at least in the "front" case 2009-06-29 06:34:20 +02:00
a19892ac6a WIP some steps towards a solution of the memento binding problem 2009-06-29 06:33:42 +02:00
6029c2c4e2 better name it Splice, and extend the capabilities a bit 2009-06-29 03:05:50 +02:00
03c9edce49 factored out yet another little helper, incl unit test 2009-06-29 02:03:30 +02:00
14f3641f9b helper: initialise a tuple from an existing sub-tuple 2009-06-28 20:41:33 +02:00
51712f218d still fighting to get capture fun and undo func bound together 2009-06-28 15:27:27 +02:00
8ea07bda7a use the new bool conversion mixin to implement check for valid functor 2009-06-26 19:04:22 +02:00
b45cd49c8b separate header + unit test for this bool check mixin 2009-06-26 18:50:30 +02:00
e91cdd39e9 stubbed and commented out to get it to compile 2009-06-26 05:27:24 +02:00
5ab8c126e0 WIP compilation fixes and stubs; split off MementoClosure (incl. separate unit test) 2009-06-24 06:38:33 +02:00
53e882ca3e WIP should also cover the detection of empty functors 2009-06-24 06:01:14 +02:00
69d6bad1f4 WIP brainstorming about a way how the extended memento capturing closure might work 2009-06-24 05:51:02 +02:00
61f8c1814d tuple test pass 2009-06-22 06:05:32 +02:00
db9ef808a5 refactoring to solve consistency problems uncovered by the tests 2009-06-21 19:52:33 +02:00
a92f633276 draft the remainder of type-tuple-test 2009-06-21 09:37:26 +02:00
c3768b93a1 function closure utils finished and pass test 2009-06-21 08:38:24 +02:00
2a182a2016 outline of the function-closure-test 2009-06-21 02:51:37 +02:00
231834d2e9 basic tuple creation and outline of the remainder of the test 2009-06-21 02:03:22 +02:00
30ac23fb28 factor out the tuple diagnostics functions 2009-06-20 23:39:45 +02:00
ad7c326c9c got basic diagnostics for type tuples working 2009-06-20 23:18:02 +02:00
0117e4bce5 start a function-closure unit test... 2009-06-20 18:41:18 +02:00
95f0b26e38 start a type tuple unit test... 2009-06-20 18:06:07 +02:00
bc94f299e2 hey... now storing the operation is almost effortless! 2009-06-20 07:13:20 +02:00
12bcc127a6 another test-helper unittest 2009-06-20 06:46:21 +02:00
a28c05877f test pass (resolves Ticket #174) 2009-06-20 06:11:09 +02:00
079030818d draft a test to sharpen the idea of the function holder (erasure) 2009-06-20 04:43:52 +02:00
a565bfef73 some header-renaming 2009-06-20 01:28:47 +02:00
f358f548d1 draft version of CmdClosure and Mutation interface now passing compiler 2009-06-19 19:11:33 +02:00
e951c468a7 WIP: header rename 2009-06-19 14:47:37 +02:00
0ab5a92629 WIP: test-driven brainstorming... how to capture state and params. 2009-06-19 05:57:06 +02:00
42fd494443 fix regexps to make the new tests pass 2009-06-19 02:18:40 +02:00
fba135c746 Merge backend and testsuite improvements 2009-06-19 01:19:20 +02:00
d1b425aba9 finish and tidy the extracted headers 2009-06-17 06:55:18 +02:00
ab4b4c71e6 WIP: start extacting new headers 2009-06-16 11:39:36 +02:00
df6312a581 got it through the compiler... 2009-06-15 04:57:23 +02:00
441cb6b9e2 WIP try to solve the problem of closing a function with arbitrary args 2009-06-15 03:47:05 +02:00
7741b50b91 WIP rewrote the Sub-Tuple extractor into a simplistic Tuple type 2009-06-14 19:40:35 +02:00
b937bd08ae WIP: parameter closure brainstorming 2009-06-14 05:38:35 +02:00
c87970e13b Add command explaining what's actually going on here... 2009-06-12 20:21:46 +02:00
2914f6685b actually create the chain of Definition-Objects 2009-06-12 20:10:27 +02:00
72d51077f7 change type dissection template to work rather in forward direction
allowing for the user just to specify a function without any type parameters
2009-06-12 19:49:44 +02:00
246529bae9 concpet draft of parameter type extraction and checking works (i.e. compiles) 2009-06-10 05:00:01 +02:00
e3da082016 WIP idea to allow arbitrary command parameters 2009-06-10 03:42:23 +02:00
102e96891b fixing, stubbing, and some chainsaw surgery to get half-finished code through the compiler 2009-06-09 09:05:19 +02:00
3a7de1654a WIP: create a "scrapbook" test for trying out some ideas 2009-06-08 21:29:09 +02:00
321acc7f4e WIP: add type handling and conversion test 2009-06-07 03:36:27 +02:00
f1827ea753 WIP: test support macro for exception check 2009-06-07 03:22:08 +02:00
905c0319be WIP: add lifecycle test 2009-06-07 03:12:07 +02:00
2731e34c3e WIP: test driven brainstorming: basic MObjectRef behaviour 2009-06-07 00:45:55 +02:00
56ff31df0a WIP: initial testbed for MObjectRef_test 2009-06-06 23:12:51 +02:00
Christian Thaeter
ee5c2b98ee Fix: mpool build and tests 2009-06-06 15:23:20 +02:00
Christian Thaeter
bf94c90e59 add some more nobug keywords to the test.sh exception list 2009-06-06 15:22:48 +02:00
ee7f2d6c0f WIP: replace direct ctor call by an embedded factory member 2009-06-06 07:12:09 +02:00
90dffdc9d2 some cleanup and renaming 2009-06-06 06:55:13 +02:00
815f8569ce WIP: accessing the default PlacementIndex (within the Session) 2009-06-06 06:18:37 +02:00
638022c07f WIP: add run-time type check API to Placement 2009-06-06 04:02:08 +02:00
d740d9734d re-enable test for waiting on thread termination 2009-06-05 05:35:24 +02:00
Christian Thaeter
58f1fbe3a8 mpool: completion
fix tests, add some benchmarks
finished documentation, cosmetics, cleanup
2009-06-04 18:11:45 +02:00
Christian Thaeter
2a9d59ccd0 WIP: pooled allocator, initial version
* creating and allocating, freeing elements
 * live objects will be destructed when a mpool gets destroyed and a
   destructor was set up
2009-06-04 18:10:25 +02:00
Christian Thaeter
062dbfe82f Merge commit '99b5f8'
* commit '99b5f8':
  adapt the Sync template
  Add reccondition to threads, make its functionality complete
  fix some includes for new mutex/recmutex headers
  weed out reccondition bugs/typos
  New condition and reccondition implementation
  split mutex.h again into mutex.h and recmutex.h
  typo fix in mutex.h
  rename casing of RecMutex to Recmutex to be consistent
  store lumiera_rwlock in sectionlock
  store a lumiera_mutex in a sectionlock, looks cleaner
  add check to chained locking validating that the parent lock is held
  rwlock makeover, locksections etc...
  error code changed to LOCK_DESTROY
  fix: forgotten backcasts in mutex.h
  new mutex and recmutex implementation (breaks sync.hpp for now)
2009-06-03 20:20:41 +02:00
Christian Thaeter
dd9b7a174f Add reccondition to threads, make its functionality complete
With this the threads are now usable, despite still a mockup
implementation.

Some basic tests to show their use included.
2009-06-03 18:22:11 +02:00
Christian Thaeter
d91620a60f New condition and reccondition implementation
Should be working but not thoroughly tested still, docs not complete
2009-06-03 18:22:10 +02:00
Christian Thaeter
4f29f302b2 split mutex.h again into mutex.h and recmutex.h 2009-06-03 18:22:10 +02:00
Christian Thaeter
5c2ac96f35 rwlock makeover, locksections etc...
The CHAINED variant is not tested, what could go wrong anyways :)
2009-06-03 18:22:08 +02:00
Christian Thaeter
a115759128 new mutex and recmutex implementation (breaks sync.hpp for now)
prepares that chained sections if different kinds can be mixed
makes recmutexes typesafe
improves nobug tracking
2009-06-03 18:22:07 +02:00
Anton Yakovlev
87e528bd58 Cyclic L1-list. Implements almost the same set of operations as for L2-list
(except those, which reverse enumeration of elements).
2009-06-03 18:12:35 +04:00
8a453bd52b WIP: start drafing MObjectRef 2009-06-02 03:31:52 +02:00
78901837fc WIP: planned refinement on PlacementRefs: augmented assignment 2009-06-02 03:13:52 +02:00
1f5d94683a WIP: test driven brainstorming... 2009-06-01 04:53:45 +02:00
d49eea6e5d finished reworking Placement (hierarchy and ID) 2009-05-31 05:02:03 +02:00
e8c25fca0a supply test definition 2009-05-31 02:41:00 +02:00
e0ad992f30 spinn-off: collecting some frequently used bits to support unit testing 2009-05-30 23:49:02 +02:00
20a1268683 recast the PlacementHierarchy_test to use the real Placement/MObject hierarchy 2009-05-29 23:13:56 +02:00
50a42e5104 extract dummy MObject hierarchy for unit tests 2009-05-29 22:12:12 +02:00
014b6c0b49 intend to use the time wrapper 2009-05-29 19:03:34 +02:00
767638bc86 adapt TimeWrapperTest to the new lib directory layout (shared lib build) 2009-05-29 18:36:37 +02:00
940d63a9fa time wrapper minimal test coverage 2009-05-29 18:36:37 +02:00
dedb70aac9 @Joel: a simple convenience wrapper for gavl_time_t 2009-05-29 18:36:37 +02:00
0d41379dda incorporate the hash ID into the concept draft 2009-05-28 03:43:59 +02:00
2e0daaf88e concept draft featuring an alternative way to define the Placement template 2009-05-27 03:20:33 +02:00
003895b08d considering how to bring the new hash ID into Placement.
Which in turn is required for the Placement/MObject ref and the Placement index
2009-05-24 19:34:47 +02:00
85a9c99e52 hash ID: add trivial implementation + impl based on LUID 2009-05-24 05:14:11 +02:00
3b8a851722 add equality 2009-05-24 01:46:00 +02:00
2bb64a23fa augment test, rework access to the hashID, template on hash impl 2009-05-23 05:13:51 +02:00
e5d2042190 WIP rename and reorganise hash ID, now focussing on the Mixin 2009-05-23 03:43:39 +02:00
bac5da777b WIP document the concept of the hash ID, get rid of the uggly cast 2009-05-22 03:41:58 +02:00
020636b90a WIP extract the hash ID draft into separate header & test 2009-05-22 02:40:20 +02:00
0802d969cc WIP disentangle ID definition from target hierarchy by templating it on the base class 2009-05-22 02:15:58 +02:00
87362a4b0d WIP draft for a generic hash based and typed id, similar to asset::ID 2009-05-21 20:26:44 +02:00
35ebe966b5 add new kind of MObject (Binding) to express special scopes 2009-05-21 04:06:36 +02:00
cc66f2b0d0 preliminary placement index impl started.
Basically I need this simple framework to be able to write tests,
which enables me to flesh out the API, which in turn is a
prerequisite for defining the PlacementRef
2009-05-20 03:36:12 +02:00
cab776847d spelling and cleanup (to get it compiling) 2009-05-20 02:26:47 +02:00
Christian Thaeter
0595767736 fixed config lowlevel tests
Few tests got broken with the new testsuite and libtool problems to pass
empty strings and tabs around. I just removed tabs and unnecessary
blanks. This makes some tests somewhat less valuable, but works for now.
2009-05-15 22:11:59 +02:00
Odin Hørthe Omdal
bbe2b78c29 test: Finished regexing the last tests 2009-05-15 21:25:12 +02:00
Odin Hørthe Omdal
0c89dbaa62 test: Regexed 00-40, just escaping; no fancy stuff 2009-05-15 21:25:12 +02:00
Odin Hørthe Omdal
e8588b735c test: test.sh imported from newest nobug
nobug commit d2d0b769fb7ed3d7174671cde2ef02a64b987397
2009-05-15 21:25:12 +02:00
8f8831c8b3 planning index structure.. 2009-05-09 17:32:29 +02:00
9b3ca200e7 considering new facilities for referring to placements 2009-05-09 03:08:38 +02:00
0d3ebb016e adapt TimeWrapperTest to the new lib directory layout (shared lib build) 2009-04-24 21:48:39 +02:00
0e4df5611a time wrapper minimal test coverage 2009-04-24 21:48:38 +02:00
3ae3e36f3f @Joel: a simple convenience wrapper for gavl_time_t 2009-04-24 21:48:38 +02:00
6757eda3bd autotools fix 2009-02-09 01:48:13 +01:00
da2519ac34 fixed linking dependencies 2009-02-08 20:13:19 +01:00
e435822de6 Ouch.. boost::ptr_vector depends on boost-serialisation. Write a simple replacement... 2009-02-08 01:31:01 +01:00
5ebd0dcf5a WIP fix namespace 2009-02-01 01:01:44 +01:00
cbd27b0418 Completely reworked the design of the DummyPlayer API, now using the handle
this allows the C++ version to provide automatic lifecycle management for
the play process, while both versions of the API (C and C++) impose only
one level of indirection.
2009-01-28 02:49:20 +01:00
7660324d23 for the tests change some sleep into much shorter micro sleeps 2009-01-25 03:33:29 +01:00
50625039d0 merge NoBug changes from master to bring this devel branch up-to-date
Next things to do will be reworking the draft/dummy to support multiple playback processes and a display callback
2009-01-25 02:10:03 +01:00
4690565956 disabled a test which verified an additional ASSERTION sanity check
in order to get this back, we need a way to configure assertions for
parts of the project...
2009-01-25 01:03:15 +01:00
10597beeba mass rename: relocate basic Logging conf. from liblumieracommon to liblumiera 2009-01-25 00:24:42 +01:00
Christian Thaeter
25108f6afc WIP: deploy new logging flags in tests 2009-01-24 22:30:26 +01:00
49a865fa57 merge latest GUI additions (and fixes from master) for colaboration on the Player mockup
this branch still corresponds to joel/gui
2009-01-22 23:26:08 +01:00
974e83676a Further ClassLock refactoring; added linkonce assertion check 2009-01-21 13:04:28 +01:00
810e531508 perpare a test (which of course currently fails).... 2009-01-18 22:14:56 +01:00
7d19d19549 SCons: integrated building vgsuppression into the test SConscript 2009-01-17 14:27:35 +01:00
Christian Thaeter
bb8ad9fbd5 move threads back into the backend 2009-01-16 02:18:58 +01:00
Christian Thaeter
e4208803e0 FIX: use .lum extension for the pluginexample.c 2009-01-16 00:10:20 +01:00
Christian Thaeter
4172bdf17f move vgsuppression to tests/tool, it will only needed for running tests 2009-01-15 01:34:01 +01:00
bb1d9426cd Fix Plugin test 2009-01-14 12:43:27 +01:00
aa8896a79f merge resolution of some build/dependency problems 2009-01-14 12:31:20 +01:00
e8469d5552 chaninsaw surgery to resolve the most urgent dependency problems with lib 2009-01-14 12:15:13 +01:00
Christian Thaeter
d37bb17566 Add a context string to the error system
lumiera_error_set() now takes an optional extra string which can be used
to pass context relevant data along. This string gets copied into the
error state so one can easily create it by the tmpbuf_snprintf() facility.

Also a lot of places which define errors get fixed according to this.
2009-01-13 21:23:37 +01:00
ac156231ac SCons: use new plugin building rule for the test plugins 2009-01-12 12:48:14 +01:00
d4c9e413e0 move test plugins, fix the old C++ plugin example to make it compile again 2009-01-12 12:46:49 +01:00
5f22118ff5 trying to make two threading related tests more robust...
(TODO the real solution would be to actively sync on termination)
2009-01-11 12:25:44 +01:00
ba9b72bce4 Fixes after merge 2009-01-10 21:35:43 +01:00
e64e9a19b6 Merge GUI loading and startup, incl opening of facade interface 2009-01-10 19:12:48 +01:00
a966731019 fix some more warnings 2009-01-10 19:07:59 +01:00
5df4aee966 circumvent false alarm in SubsystemRunner_test due to timing problems 2009-01-10 18:20:04 +01:00
f75bb233ba fix warnings and problems detected by gcc 4.3 / Lenny 2009-01-10 17:01:09 +00:00
b6fb135398 change error notification at subsystem shutdown to use just a string*
(this allows to memoize the error message and call the termination
handler outside the catch block)
2009-01-10 16:15:17 +01:00
Joel Holdsworth
cb7c5c9907 Squashed another ftruncate warning 2009-01-06 17:09:36 +00:00
edb01ec8c6 Integration: Thread/sync, GUI-Plugin invoked in separate thread 2009-01-03 16:05:04 +01:00
683e1dabe1 cleanup, add further testcase (starting prerequisite subsystems)
SubsystemRunner considered finished.
2009-01-03 13:32:24 +01:00
f90238dba4 chased two bugs... 2009-01-03 04:29:59 +01:00
762a108dff cover more testcases (starting several subsystems) 2009-01-03 01:11:21 +01:00
eac43b80d6 cover simple testcase of starting just one subsystem 2009-01-02 10:57:13 +01:00
5e579b5abc simple test creating 20 threads... 2009-01-02 08:07:55 +01:00
2f34637088 wire in the new threads implementation from backend... 2008-12-31 06:56:31 +01:00
41d5ee0973 a "mock subsystem" for testing the subsystemrunner 2008-12-31 05:06:17 +01:00
8c892846e1 renaming etc... 2008-12-31 05:05:34 +01:00
5114d09156 fix after merge/rebase 2008-12-30 08:35:26 +01:00
7a2bbefb1d typos 2008-12-30 08:19:32 +01:00
e801c324bf add a test to ensure the timed wait feature is working properly 2008-12-30 08:19:32 +01:00
075b3c8d6a fix some warnings... 2008-12-30 07:28:34 +01:00
16adff318d Comments 2008-12-27 07:44:28 +01:00
250e3ba4df add a convenience shortcut for waiting on a bool member function 2008-12-27 06:58:13 +01:00
afeec1a918 further include fixes 2008-12-27 01:47:21 +01:00
8ec25c1f45 TEMPORARY hack: link against Gui libs to get gthread and glib
** please undo this change when we are ready to use our own thread service!
2008-12-27 01:32:31 +01:00
4e4d6f9fb2 fix Automake 2008-12-27 01:11:17 +01:00
93c4a282cc Merge object monitor locking 2008-12-27 01:04:20 +01:00
e921b1658c error.hpp belongs to src/lib 2008-12-27 00:53:35 +01:00
0bd0cfc549 SCons: allow setting VALGRINDFLAGS from the environment 2008-12-26 23:31:00 +01:00
cbbc298fe9 kill some warnings 2008-12-26 23:17:51 +01:00
bd7c05b669 SCons: fix leftover from the latest directory reorganisations 2008-12-26 22:26:41 +01:00
bd2ead37d5 Refactoring V: get lifecycle of a class-based monitor correct. 2008-12-26 05:44:49 +01:00
54e88e6914 Refactoring III: Recursive/Nonrecursive and Waitable as policy classes
pass test again
2008-12-26 01:50:32 +01:00
2650216d9b Refactoring I: better put the timeout explicitly separate 2008-12-24 03:31:35 +01:00
Christian Thaeter
c9d83d97c3 Moved the resourcecollector from backend to lib 2008-12-24 00:26:32 +01:00
Christian Thaeter
7db0ba61d8 move tests from 'tests/lumiera' to 'tests/common' to reflect src layout 2008-12-23 07:02:38 +01:00
36704a856e basic wait/notify impl added, waiting-test pass 2008-12-23 04:27:11 +01:00
59a7270f5d draft test for wait/notify, fails without the implementation 2008-12-23 01:32:01 +01:00
2b8cd00ab5 yet another renaming. call it "Sync"... 2008-12-22 17:00:15 +01:00
67e95884d5 preliminary implementation using pthread primitives. Locking test pass. 2008-12-22 07:23:48 +01:00
6031ac2465 FIX after rebase 2008-12-22 05:02:52 +01:00
751e1be596 better invocation, get rid of the template parameter 2008-12-22 05:02:52 +01:00
c4df935113 add draft impl for Monitor storage; dummy impl running
todo: actually do any locking, improve handling of the forThis parameter
2008-12-22 05:02:52 +01:00
2512f04f3f WIP yet another namespace change. Now refer it from the test 2008-12-22 05:02:51 +01:00
d1e385f3f4 rename class Thread into Concurrency
it's not a thread abstraction, but a locking helper
2008-12-22 05:02:51 +01:00
ee4c910ed4 qualify with volatile (fix) 2008-12-22 05:02:51 +01:00
d5710ffc54 WIP: draft a test to check monitor object locking 2008-12-22 05:02:50 +01:00
Christian Thaeter
505869767e Fix config path for tests 2008-12-21 21:15:11 +01:00
e32194b810 Autotools fixes (make the tests compile) 2008-12-18 10:48:50 +01:00
5f94b3ba68 Autotools adjustments 2008-12-18 10:26:38 +01:00
0314885834 Yeah! all defined tests pass! (SCons build) 2008-12-18 09:59:31 +01:00
262c51075b Tests: remove manual init of config-system 2008-12-18 09:58:42 +01:00
6d66476383 move config, interfaces and pluginsystem to liblumieracommon 2008-12-18 08:54:33 +01:00
7bde9aa538 start refactoring: liblumieracommon.so (application core services) 2008-12-18 08:12:40 +01:00
357c7f0d9f further Makefile.am tweaks to make the tests compile again 2008-12-18 07:44:06 +01:00
598994c0cb further Makefile.am tweaks to make it compile again
explanation: via the unresolved problems with the hig-level model,
probably a dependency to AssetManager and from there to the core systems
"bubbled" into the liblumiera.so, forcing us to link these things for now
2008-12-18 06:47:54 +01:00
fcfc80182a Autotools fixes 2008-12-18 05:11:47 +01:00
9a63ccc588 finish common->lib transition for the tests 2008-12-18 04:47:41 +01:00
Christian Thaeter
f061da8873 WIP: Fix include paths in tests
Still don't link, this only fixes the paths
2008-12-17 17:58:31 +01:00
Christian Thaeter
9a1a1890e2 post rebase fixes
tests are still broken and will be fixed for the shared lib transistion
2008-12-16 19:54:48 +01:00
12fc97b8e2 Build most of Lumiera as shared library (SCons build) 2008-12-15 13:36:42 +01:00
57c3559f74 WIP trying to get the guistarter shared module loaded 2008-12-15 13:36:42 +01:00
feebc502e5 implementation of GuiStarterPlugin 2008-12-15 13:36:41 +01:00
e8639b8319 WIP work out further how to handle start/stop of layer separation interfaces 2008-12-15 13:36:41 +01:00
8c501a3d7c first rough draft implementation of calling through a layer separation interface 2008-12-15 13:36:41 +01:00
df85f2a5d9 pull up the config system in pre-init phase 2008-12-15 13:33:06 +01:00
3693a5fa3d draft outline for main() 2008-12-15 13:33:05 +01:00