609873d90b
switch to use the new (better) builder implementation
...
especially this means to use the common well-known names again,
like "Program" "SharedLibrary". The customisation now happens
invisible in LumieraEnvironment.
2011-01-30 17:00:15 +01:00
014c22b40a
SCons: rework build directory configuration. All customisations to LuimieraEnvironment
2011-01-30 15:27:21 +01:00
35953b335b
SCons: rearrange output directory to target/modules
2011-01-29 02:06:21 +01:00
764a38abe6
SCons: experimental support for some library lookup concerns
...
- setting -rpath with $ORIGIN to build a relocatable package
- fix missing DT_SONAME (likely just a problem of very old SCons version)
2011-01-28 23:31:00 +01:00
faf579c4c5
enforce generally imutable time values
2011-01-22 23:20:12 +01:00
dea026cfd9
omit the Digxel timing measurments from test suite
2011-01-22 18:44:03 +01:00
7b783e885a
more thorhoug testing of denormalised values
...
...uncovered yet more bugs.. yay!
2011-01-22 18:35:04 +01:00
acc7a19fbd
Fix: now able to handle negative extended SMPTE
...
changed the order of propagation when wrapping
the individual digxels of the SMPTE Timecode
2011-01-22 14:41:58 +01:00
ac9e9a99df
change the way the Digxel mutator is invoked
...
this refactoring prepares a change to address
the problems with negative extended SMPTE Timecode
2011-01-22 14:04:43 +01:00
14f233f83b
WIP: some more test coverage ... unveiling yet more bugs
2011-01-22 02:35:58 +01:00
9d75739089
SMPTE Timecode (without drop frame) unit test pass
2011-01-21 20:24:41 +01:00
1a07cc9bb2
SMPTE Timecode: first round of debugging and testing
2011-01-21 16:22:01 +01:00
1b79b4a937
fix regression
2011-01-20 21:39:17 +01:00
c55260d4e4
generalise to long and int; improve test coverage
2011-01-20 21:30:48 +01:00
05383ea44a
crafting a integer scale wrapping util, for timecode conversions
2011-01-20 13:21:14 +01:00
e1c025778b
Digxel: ensure the mutator functor is also called on increment
2011-01-19 11:47:14 +01:00
9df0df6145
Merge Stefan's work on timeconversion and SMPTE drop-frame
2011-01-19 11:32:03 +01:00
Stefan Kangas
6a44134833
Add support for NTSC drop-frame timecode.
2011-01-19 11:10:39 +01:00
Stefan Kangas
94f8379aa2
Improved frame counting capabilities for time lib. Unit tests.
2011-01-19 11:10:39 +01:00
Stefan Kangas
d2702e8254
Add frame counting capabilities to time conversion lib.
2011-01-19 11:10:39 +01:00
95a1687a5b
draft how a SMPTE-Timecode element could be implemented
...
passes Compiler, but thats about all...
2011-01-18 05:01:25 +01:00
ce420a1570
special digxel to represent the sign
2011-01-18 04:59:40 +01:00
38844b9050
get simple quantisation/timecode integration to run
...
passing the basic tests now;
still missing: implementation of specific timecodes,
e.g. SMPTE, HMS,....
2011-01-17 07:25:22 +01:00
02653621f6
adapt the TimeGrid meta asset, so it can be published as Quantiser
2011-01-17 06:38:10 +01:00
484c771d2a
establish hidden advice link to the session
2011-01-16 23:58:42 +01:00
92c4516cae
implement this format-support descriptor
2011-01-16 19:50:42 +01:00
2c90335b1d
WIP idea how to represent support for some timecode formats
...
concrete quantiser instances need a way to state
support for just some timecode formats -- yet I dont
want to push vectors aroud all over the place
2011-01-16 15:41:34 +01:00
aa5c78a30f
TimeGridBasics_test pass
2011-01-15 15:04:23 +01:00
240c5ac232
extract asset iostream display into separate header
2011-01-15 14:43:50 +01:00
a70376dc4b
grid asset passes first basic unit test!
2011-01-15 14:07:25 +01:00
ee0dcf3ba0
introduce generic grid API to subsume quantiser and grid asset
2011-01-15 03:49:35 +01:00
bdc1800470
add support for offset linear combinations
2011-01-15 01:45:55 +01:00
eb89547265
get rid of the QuantiserRef
...
this is going to become soooo complicated
better just bite the bullet and use a shared_ptr
2011-01-15 00:52:02 +01:00
debe032f49
basic quantisation now working and covered by unit test
2011-01-13 03:36:12 +01:00
e2cab1f512
some more smoothing of rough edges
2011-01-13 03:36:12 +01:00
c7a887a528
Quantiser basic unit test pass, including corner case
...
ufff... finally
2011-01-13 03:36:12 +01:00
edc2598f27
cover additional time handling convenience shortcuts
2011-01-13 03:36:12 +01:00
af9c799fc8
Fix time quantisation to circumvent the precision problem
...
required to re-arrange several functions in order
to use the new util::floordiv and to get all relevant
calculations into time.h
2011-01-13 03:36:12 +01:00
237d287021
change time.h into a multilingual header
2011-01-13 03:36:12 +01:00
71aacc7698
implement an Integer-floor function for time quantisation
...
Contrary to the built-in division operator, this
function always truncates towards the next smaller
integer (also for negative numbers)
2011-01-13 03:36:11 +01:00
9d8961d650
Fix test definitions tue to the slightly changed time display format
...
In the course of the preceeding work, I changed the
standard Time formatting in time.c, such as to omit
the leading "0" on the hour; it doesn't seem likely
that displayed hour values will frequently have
two digits...
2011-01-13 03:36:11 +01:00
3cf9974211
provide unary minus to flip a TimeVar around origin
2011-01-13 03:36:11 +01:00
d30515c37e
analysis of range limit problems in quantisation
2011-01-13 03:36:11 +01:00
48b3f39c49
improve and cover Time convenience handling shortcuts
2011-01-13 03:36:11 +01:00
b66b778c42
implement and test simple demo quantiser
2011-01-13 03:36:11 +01:00
84c73c645d
draft unit-test to cover basic quantiser behaviour
2011-01-13 03:36:10 +01:00
c85f7e0715
Add more special formatters and Digxel testcases
...
The Digxel implementation draft can be considered complete now
2011-01-13 03:36:10 +01:00
8e90b3d5dc
Digxel unit test pass
2011-01-13 03:36:10 +01:00
031f61f31d
WIP prototypical Digxel implementation complete
2011-01-13 03:36:10 +01:00
e66bed65e4
WIP stubs for timecode string representation
2011-01-13 03:36:10 +01:00
e7f5ce9e33
WIP rework timecode format hierarchy
...
second try: eliminate base class,
work with concrete formats allways...
2011-01-13 03:36:09 +01:00
336264a6be
WIP first implementation draft for Digxel -- problematic
...
This draft highlights problems with poliferation of
generated virtual methods (code bloat). Also it's
unnecessarily complex and especially the automatic
conversion to double *and* int creates a whole
shitload of problems....
2011-01-13 03:36:09 +01:00
b19fd1e634
WIP rework and adjust "Digxel" draft
2011-01-13 03:36:09 +01:00
6638120ec2
WIP test-driven dreaming... inventing a "Digxel" entity
2011-01-13 03:36:09 +01:00
607c8a2338
WIP enough stubbing to get it through the Compiler...
...
...but NOT yet the linker
2011-01-13 03:36:09 +01:00
c40ba74bc6
WIP clarify ambiguity with fractional seconds
...
They are *not* intended to stand-in for gavl_time_t
Indeed, Time values should be handled as opaque
2011-01-13 03:36:09 +01:00
15214cc069
WIP start stubbing and defining time quantisation and timecode entities
2011-01-13 03:36:08 +01:00
f832e817b8
WIP: test-driven brainstorming how quantisation could be used...
2011-01-13 03:36:08 +01:00
f798428428
WIP start a unit test to cover simple time grids
2011-01-13 03:36:08 +01:00
04db5655f1
Implementation: building a simple time grid
2011-01-13 03:36:08 +01:00
3d4227d374
cover offsets, durations and timespans by unit test
2011-01-13 03:36:07 +01:00
643859f6b8
add a mutable time value with full arithmetics
2010-12-28 02:27:42 +01:00
0c45fc47f3
defining the first elementary operations for time values
2010-12-28 02:27:41 +01:00
09d400d5bc
put asside the existing "lumitime" to build a new hierarchy from scratch
...
existing code will still use lumitime.hpp for now
while we're about to reorganise time handling altogether
2010-12-28 02:27:41 +01:00
784b094fa7
fix compilation problems with draft code
2010-12-26 23:00:34 +01:00
c1be39eacb
Merge recent time quantisation analysis
...
Merge branch 'timequant' into proc
2010-12-26 22:30:28 +01:00
Stefan Kangas
51fea24664
Add GUI/model tests fixtures
2010-12-24 19:34:25 +01:00
000486e126
WIP create empty unit tests for time quantisation/handling
2010-12-22 04:09:27 +01:00
7fc462209e
some naming cleanup and namespace indentation fixes
2010-12-18 00:58:19 +01:00
3f1b7651e9
GPL header whitespace
2010-12-17 23:28:49 +01:00
4410830f72
Merge Fixture datastructure and Testsuite work
2010-12-17 22:51:27 +01:00
Stefan Kangas
0fac2b6569
Use CHECK instead of ENSURE in test suite. (Ticket #250 )
2010-12-17 21:08:44 +01:00
Stefan Kangas
518f4bac1a
Use CHECK instead of REQUIRE in test suite. (Ticket #250 )
2010-12-17 21:05:50 +01:00
Stefan Kangas
661e4f0da5
Use CHECK instead of ASSERT in test suite. (Ticket #250 )
2010-12-17 20:51:54 +01:00
e7191ed3c6
Planning Fixure: Segmentation datastructure ( #726 )
2010-12-13 03:22:11 +01:00
c4282560ce
fix two regressions
2010-12-12 01:53:23 +01:00
8a54e00b6b
ModelPort registry unit test pass ( closes #727 )
2010-12-11 23:40:12 +01:00
be6f555e04
Builder: registry for model ports coded up
...
passes compiler, but not yet unit test....
Needed to change asset::ID to encapsulate the embedded hash value
2010-12-11 01:52:02 +01:00
0464ca965c
fill in ModelPort and ModelPortRegistry definition stubs
...
making test pass the compiler
2010-12-10 18:12:56 +01:00
7043db90ee
introduce an explicit StreamType::ID
2010-12-10 17:39:39 +01:00
Stefan Kangas
88a01845a2
Add more unit tests for the time conversion library.
2010-12-10 12:55:24 +01:00
Stefan Kangas
16aed07977
Use CHECK instead of ECHO for several tests of time.c
2010-12-10 04:13:43 +01:00
2827961385
WIP: test driven brainstorming about model port registry
2010-12-10 01:27:17 +01:00
Stefan Kangas
26bff0daa3
Add unit tests for time.c
2010-12-06 16:33:00 +01:00
145ad6c3a5
more (trivial) cleanup and renaming
2010-12-05 02:46:37 +01:00
d1c64dd1c0
small cleanup, replace try-catch by VERIFY_ERROR macro
2010-12-05 02:46:37 +01:00
828206e6b1
OutputMapping unit test pass ( closes #651 and #716 )
2010-11-28 05:18:57 +01:00
c7794e7cbf
rewrite to retrieve default-pipe query from the defintion context
2010-11-28 02:16:39 +01:00
c3d29d1eb3
OutputMapping: interface refactorings to yield a cleaner structure
2010-11-27 03:59:07 +01:00
56c1387cd5
OutputMapping: finish interface draft (stubbed)
2010-11-25 05:35:50 +01:00
a7ec680955
WIP chewing on the problem how to define a output mapping type
2010-11-24 06:21:32 +01:00
b42e5c859f
Test-driven brainstorming: how should output mapping be used?
2010-11-23 03:40:11 +01:00
d292e4dcb9
Fix: test should not be locale dependant
2010-11-06 23:02:27 +01:00
bd361523d1
better use functor-style access instead of implicit conversion
2010-11-06 22:49:32 +01:00
f597e7c8b4
optional object link implemented and working
2010-11-06 22:32:08 +01:00
07f7837a7b
draft behaviour of a optional/switchable object link
2010-11-06 21:23:35 +01:00
1b95a02f14
Autotools fixes
2010-11-06 18:17:25 +01:00
40627b1c12
fix a regression, caused by removing the special Struct-ID handling
2010-11-05 04:32:35 +01:00
4cef8474ed
fake-configrules: remove magic "make" token ( closes #707 )
...
use backdoor function on the StructFactory instead
Mark such backdoor-functions with Ticket #710
2010-11-02 04:09:06 +01:00
1f511c327a
try to get rid of the query functions on asset::Struct ( #706 )
2010-10-31 02:02:31 +01:00
7a53f65508
remove the separate pipeID field, because now the asset name is sufficient
2010-10-29 06:09:06 +02:00
08d90be1b6
get the sesison element-tracker integration test to pass
2010-10-29 05:24:19 +02:00
7c758b04db
rename Struct-Asset factory function to better reflect the semantics
2010-10-29 04:28:46 +02:00
da04e13213
re-thinking the pattern of the fake implementation
2010-10-28 03:57:12 +02:00
61a2e26bc8
rework fake-resolution, now searching the session
...
this whole creation-logic seems to be somewhat broken
2010-10-27 07:26:33 +02:00
987026f4c8
implement creation of "default" Timeline
2010-10-25 06:08:36 +02:00
ad452a9dd4
activate complete SessionElementTracker_test
...
(doesn't pass yet -- missing sesison initialisation)
2010-10-20 05:12:13 +02:00
d1dd3e2677
saveguard against deregistering from an alredy destroyed session
2010-10-20 04:42:22 +02:00
da45bb06f7
connect Timeline/Sequence tracking to current session on initialisation
2010-10-20 04:08:58 +02:00
fc0cefcadc
review the asset dependency handling in AssetManager
2010-10-19 03:53:36 +02:00
3e9c337ac0
review and verify lib::ElementTracker
2010-10-18 05:33:46 +02:00
884e3600bd
experimental: allow implicit converisons to/from Placement-ID
2010-10-17 06:30:56 +02:00
120973311a
Session ElementQuery unit test pass ( closes #639 )
2010-10-17 05:54:21 +02:00
da994cf9fd
draft a test to cover ElementQuery (Session API)
...
trying to get #639 closed...
discovered, that I had already implemented this
filtering query in 6/2010
2010-10-17 05:08:47 +02:00
bb3eb8f3aa
Merge integration of placement scopes and QueryFocus
2010-10-16 03:39:33 +02:00
d8c06fac1e
add diagnostic self display to QueryFocus
2010-10-16 02:21:20 +02:00
c772359440
add diagnostic self display to ScopePath
2010-10-16 02:21:20 +02:00
e48a9fb811
add diagnostic self display to placement-Scope
2010-10-16 02:21:20 +02:00
48605827a6
Add test to cover the very basic MObject interface
2010-10-16 02:21:20 +02:00
722ab4e583
corr. wrong ticket number
2010-10-16 02:21:20 +02:00
73a1adcdf5
QueryFocus_test working now (still without diagnostic output)
2010-10-16 02:21:19 +02:00
a0234ecc38
get QueryFocus_test to compile with the (now existing) implementation
2010-10-16 02:21:19 +02:00
9b5a24f6cc
Integration: Placement Scope test pass
2010-10-16 02:21:19 +02:00
735af19891
getting PacementScope_test from last year to compile
...
...now using the real implementation!
2010-10-16 02:21:19 +02:00
64f017da43
QueryFocusStack_test pass
2010-10-16 02:21:19 +02:00
46597009f9
get the basic ScopePath_test to pass
2010-10-16 02:21:19 +02:00
6bb7886b54
define the proper behaviour expected when copying ScopePath ( #662 )
2010-10-16 02:21:19 +02:00
2c58e595c0
augment IterSource adapters by definition through classical iterator range
2010-10-16 02:21:18 +02:00
8078357e3c
revisiting the binding scope problem
2010-10-16 02:21:17 +02:00
a29591c299
SCons: several small improvements, e.g. valgrind-suppressionfile
2010-07-26 03:24:15 +02:00
Christian Thaeter
c66b71deb2
extend fileheader with some flags and endianess mark
2010-07-21 06:13:59 +02:00
Christian Thaeter
c908cf4807
Start of 'fileheader' implementation
...
Lumiera will create and use some files on its own (caches, indices). This
lies the foundation for identifying this files.
2010-07-21 06:13:59 +02:00
Christian Thaeter
25c3b04ec8
FIX: tmpbuf.h include for tools
2010-07-21 05:05:33 +02:00
Christian Thaeter
2f92a958a8
FIX: tmpbuf.h includes in common/config
2010-07-21 05:05:33 +02:00
Christian Thaeter
f967f9427b
FIX: tmpbuf.h includes in backend
2010-07-21 05:05:32 +02:00
Christian Thaeter
0158c1b88d
WIP: factor tmpbuf out of safeclib
...
* tmpbuf got its own implementation files
* Some optimizations on the tmpbuf implementation, handling tiny,
small and huge allocations better.
* tiny allocation smaller than sizeof(void*) are not aligned
* Reduced the ring sizes to 16 (configureable in tmpbuf.h)
This is only the tmpbuf refactoring, fixes following on the next
commits.
2010-07-21 05:05:26 +02:00
Christian Thaeter
ccbdcfdef9
cosmetics, remove quotes in filedescriptor test
2010-07-21 04:50:03 +02:00
Christian Thaeter
da23204bf3
Exclusive file locking
...
This adds global exclusive advisory file locks on a per-thread basis.
Only exclusive locking for a whole file is supported to setup headers etc.
Finer grained locking will be handled somewhere else.
2010-07-21 04:49:51 +02:00
Christian Thaeter
2dfef6cac4
add nobug flag to FILE_MMAP_SECTION() macro
2010-07-21 04:49:50 +02:00
Christian Thaeter
a8339fb5d0
add mmaping of exact blocks
...
namely file headers needs to be accessed unaligned and exactly as given,
this adds mmap functions to create mmap objects to do this.
2010-07-21 04:49:50 +02:00
Christian Thaeter
c4cbde9853
add a 'bias' to offset mmaped clusters
...
We will need cluster/page aligned access for certain files (indices),
this files will contain an initial header describing the contents. A bias
is used to step over this header and align the following data.
2010-07-21 04:49:40 +02:00
Christian Thaeter
4fee3d85cf
testsuite update, new test.h to be in sync with nobug
...
test.h introduces a PLANNED_TEST() macro for C code, shows what tests
are provided and so on (the nobug version did that since some time).
test names are now passed as identifers and translated to strings by the
macros.
A lot fixes for existing tests, replace some printfs with ECHO, cosmetics.
one threadpool (sync_many) test is broken and set to PLANNED, this needs
further testsuite support for dispatching output.
add a TEST nobug flag to test.h
2010-07-21 04:49:18 +02:00
Christian Thaeter
3201ae5d8c
remove acquirer list for mmap regions in use, refcount is enough
2010-07-21 04:28:42 +02:00
Christian Thaeter
e0939e9469
improve the mmap handling
...
* add frontend interfaces to file to get a mmaping
* SECTION macro to encapsulate mmap access
* mmap_address() translating an actual offset to address
* add some tests
* some test cosmetics
2010-07-21 04:28:42 +02:00
Christian Thaeter
b578c273d5
Increase valgrind time limits for tests and fix test.sh glitch
...
On my slow laptop some tests fail because of timeouts under
valgrind, going to 55/60 seconds should be sane.
Fixing an undiscovered bug ignoring timeout configs in test.sh.
2010-07-16 21:47:08 +02:00
Christian Thaeter
99d5d3765f
FIX: Add remaining tests to the Makefiles, sort Makefiles
2010-07-16 21:44:44 +02:00
Christian Thaeter
e6d7b39ffe
disable the resourcecollector test (not finished yet)
2010-07-16 05:39:11 +02:00
Christian Thaeter
d6a18ed9a7
post-merge autotools fixup
2010-07-16 05:39:01 +02:00
e16ca49894
Merge in new (experimental) 'advice' concept
2010-07-14 04:33:42 +02:00
5c6a6c150f
clean up any remaining use of wstring
...
I consider wstring a deprecated technology
UTF-8 is all we need
2010-06-27 03:48:00 +02:00
002f024ed8
SCons: improve dependency handling for the testsuite
2010-06-26 05:08:16 +02:00
639aff0fa5
(cont) analyzing the problem of output designation
2010-06-25 04:43:06 +02:00
a85d885104
Fix RegExp causing MObjectRef_test to fail randomly
...
...by matching an LUID in the previous line.
Thanks to Cehteh for spotting this
2010-06-21 03:47:18 +02:00
5e104b633a
querying for specific objects (automatically pick target type)
2010-06-19 08:47:28 +02:00
c1cb5320e0
factor the specific query into separate header
2010-06-19 05:37:39 +02:00
c80b1894e6
Clean up design of ScopeQuery, throw out Iterator mixin ( closes #641 )
2010-06-19 05:20:34 +02:00
fab1c699ea
draft test to verify behaviour
...
but doesn't work; somehow the filterfunciton of the baseclass
gets installed
2010-06-16 06:45:38 +02:00
a1f3ad835b
investigating the problem of finding an object with given conditions
2010-06-15 05:24:05 +02:00
fc3e43bb19
re-reading my design and plannings from March, identiyfying next steps to take
2010-06-13 03:34:12 +02:00
e574fdf702
fix a regression regarding struct-asset naming scheme
2010-06-13 00:31:41 +02:00
68aefe5074
implement a simple singleton holder for NIL/default objects
2010-06-12 19:45:01 +02:00
a6621703af
SCons: improve dependency handling for the testsuite
2010-06-12 19:44:38 +02:00
cb838ba5b6
extend killer-stash to allow registration of custom deleter functions
2010-06-12 03:12:02 +02:00
eb19f59ba0
deleter memorising component passes unit test ( #629 )
2010-06-07 03:32:41 +02:00
6b90767468
draft a component to manage deleter functions
2010-06-06 04:26:23 +02:00
dee4c33c55
change the index-interface from free to member functions
...
part of Ticket #628
2010-06-06 02:11:40 +02:00
2360f9b4c0
Advice colaboration: implemented and passes basic unit test
2010-06-05 05:09:42 +02:00
7895ce5f49
solve the problem with re-binding and advice::Request
2010-06-04 17:25:33 +02:00
72c01e12c9
implement a simple singleton holder for NIL/default objects
2010-06-03 04:40:38 +02:00
69af735070
reconsider advice implementation. Investigate some tricky implementation decisions
2010-06-03 04:40:37 +02:00
7dcdff3287
advice-basics: stubbed and fixed to pass compiler
2010-06-03 04:40:37 +02:00
83b5c8c2c2
WIP code up external advice API
2010-06-03 04:40:37 +02:00
c9437b3bff
binding index unit test pass
2010-06-03 04:40:37 +02:00
0c123e4af3
Bugfix
2010-06-03 04:40:36 +02:00
d00d42b58c
code up the core solution finding logic
2010-06-03 04:40:36 +02:00
bf02d6d03f
adapter interface for the test-entry
2010-06-03 04:40:36 +02:00
530940254e
stubbed advice binding index implementation
2010-06-03 04:40:36 +02:00
c8ac2b0447
planning the advice binding index implementation
2010-06-03 04:40:35 +02:00
5b48b9f864
fix a regression regarding struct-asset naming scheme
2010-06-03 04:40:35 +02:00
0514c24487
Advice binding pattern finished, passing unit test
...
now detecting a lot of syntax errors
2010-06-03 04:40:35 +02:00
6bc78064d1
SCons: improve dependency handling for the testsuite
2010-06-03 04:40:35 +02:00
1e28c7f1ab
get the advice binding unit test to pass thus far
2010-06-03 04:40:35 +02:00
85f8035f92
Implement parsing of Advice binding pattern spec
2010-06-03 04:40:35 +02:00
f2269b7e78
Implement Advice binding pattern
2010-06-03 04:40:35 +02:00
f27024172f
Implementation skeleton for advice binding match
2010-06-03 04:40:34 +02:00
e3c963378f
outline some implementation details regarding the Bindings to match
2010-06-03 04:40:34 +02:00
3e2b78b670
fill in the basic definitions to make the draft test compile
2010-06-03 04:40:34 +02:00
b789c110fa
test-driven brainstorming: how the basic advice collaboration should work
2010-06-03 04:40:34 +02:00
abe8d876dd
Start planning the Advice implementation: skeleton of unit tests
2010-06-03 04:40:34 +02:00
1f988e17cd
unfinished code commented out
2010-06-03 04:37:22 +02:00
0f6c2e84d2
test-driven brainstorming: TypedID usage
2010-06-03 04:37:22 +02:00
a78845507a
cleanup
2010-06-03 04:37:20 +02:00
e61eb01942
experimental fix for #307
2010-06-03 04:37:20 +02:00
debba6f769
Fix PlacementIndex corruption while deleting recursively
2010-06-03 04:37:20 +02:00
82d8d26308
extend the map iterator adapter to work on STL ranges
2010-06-03 04:37:20 +02:00
939270063e
helper: take snapshot of a given Lumiera or STL iterator
2010-06-03 04:37:20 +02:00
81f87ba852
similar low-level iterator adapter for multimap value groups
2010-06-03 04:37:20 +02:00
c5e4725dcb
implement another wrapper to filter duplicates
2010-06-03 04:37:19 +02:00
73a2aea50c
draft a low-level adapter to get all keys/vals of a stl::map
...
intention is just to use a thin wrapper, without
abstracting the implementation type (as IterSource does)
2010-06-03 04:37:19 +02:00
fc44e522e0
improve PlacementIndex self-verification
2010-06-03 04:37:19 +02:00
57a9b1a270
Iterator adapter to ennumerate all values to a multimap key ( closes #492 )
2010-06-03 04:37:19 +02:00
c9bf26d8c4
EntryID finished and passes unit test
2010-06-03 04:37:19 +02:00
c691213003
EntryID: fix symbol generation and improve ordering
2010-06-03 04:37:19 +02:00
b21db07aff
implement generic object attach-to-model and purge
2010-06-03 04:37:18 +02:00
c43040985c
more stubbing and compilation fixes
2010-06-03 04:37:18 +02:00
e4f015d622
WIP remaining parts of the EntryID implementation, untested
2010-06-03 04:37:18 +02:00
07146ad373
WIP parts of the EntryID implementation, refactor struct asset name generation
2010-06-03 04:37:18 +02:00
2131488afb
test-driven brainstorming: simplified asset-like ID
2010-06-03 04:37:17 +02:00
39355713fd
cleanup
2010-06-03 04:37:17 +02:00
1119b917a9
planning general refactoring to allow intended binding/sequence handling
2010-06-03 04:37:17 +02:00
c93dfc4f29
partially refactor into library
2010-06-03 04:37:16 +02:00
479bbbb6c7
clarify how deregistration works
2010-06-03 04:37:16 +02:00
dd3d22f950
implement registry for element-tracking. passes unit test
2010-06-03 04:37:16 +02:00
9ec865c3ab
Stubbing and definitions to get element-tracking to compile
2010-06-03 04:37:16 +02:00
55df5205a4
draft a mixin for adding element-tracking functionality
2010-06-03 04:37:15 +02:00
bdb21c4aa8
draft required functionality for the element-tracker
2010-06-03 04:37:15 +02:00
c7a9b04fba
refactor SessionImpl to support nested interface modules on the API
2010-06-03 04:37:15 +02:00
fa0482fab4
WIP add sub-interfaces to the session API
2010-06-03 04:37:15 +02:00
bfc18dfb94
consider using RefArray for the Session API
2010-06-03 04:37:14 +02:00
ea538d962f
test-driven brainstorming: adding and removing session parts
2010-06-03 04:37:14 +02:00
8f34129f60
planning: structural assets and the track-ID
2010-06-03 04:37:14 +02:00
8eb0a16134
cast the new spec regarding timeline/session into unit test code
2010-06-03 04:37:14 +02:00
4594ddde3a
WIP: test driven brainstorming regarding sequence/timeline handling
2010-06-03 04:37:13 +02:00
c2cbe4c9e8
change Timeline and Sequence to be structural assets
2010-06-03 04:37:13 +02:00
d4b66a42ad
WIP: test driven brainstorming about the session API
2010-06-03 04:37:13 +02:00
092ea07b76
kill "the EDL"
2010-06-03 04:37:12 +02:00
f0aed2c2cc
fix dummy compilation/tests
2010-05-21 03:50:41 +02:00
86bc30a10a
Merge Ubuntu/Lucid adjustments. Drop pre 1.0 compatibility
2010-05-21 03:43:09 +02:00
Christian Thaeter
9d99300841
FIX : #619 , New Nobug required! version 201005.1
...
add the 'extra' argument to mpool dumps.
Solves Linking problems on some distros.
2010-05-12 00:46:39 +02:00
030320352d
Bugfix test.sh: detecting literally defined output
2010-04-16 02:23:25 +02:00
9f2affb41b
SCons: feed test.conf to test.sh (for correct output filtering)
2010-02-15 03:25:01 +01:00
5b9aa5deb2
landing the new threadpool implementation
2010-02-15 00:48:52 +01:00
1c63a02e23
augment and round up the C++ thread wrapper
2010-02-14 23:39:15 +01:00
90d311dc1d
Error integration: error::Flag as subclass of State. Wrapped throw
2010-02-13 20:56:41 +01:00
dc991ca563
valgrind suppression: add some more cases to be filtered
2010-02-13 06:00:38 +01:00
Michael Ploujnikov
433448ff44
use _join() instead of a second _sync() to wait for the worker to finish
2010-02-12 07:20:32 -05:00
b556343fb6
re-enable typed-counter-test; passing just fine again
2010-02-12 01:54:12 +01:00
dfd70c6069
replace GThreads by the Lumiera thread wrapper
2010-02-11 03:06:42 +01:00
Michael Ploujnikov
d80ae17ea4
test simple-sync: avoid a race condition in output checking by using an assert
2010-02-10 20:53:44 -05:00
Michael Ploujnikov
62b70bfd7e
test sync-joinable: use asserts instead of checking the program output
2010-02-10 20:53:32 -05:00
Michael Ploujnikov
5d929f1522
test sync-many: replace output checking with asserts
...
Also modify the input value right after passing to a worker thread. This is a better test of synchronization.
2010-02-10 20:53:13 -05:00
Christian Thaeter
26f88bc3f1
Merge remote branch 'plouj/second-tp-attempt' into backend_devel
...
* plouj/second-tp-attempt:
basic joinable thread test
joinable thread sync test
2010-02-08 18:20:05 +01:00
5386fe6fbc
clarify (and treat) the race; considered to be test-only
...
After removing the explicit locking, there is a small
race in case of a "floundering" (simulated) subsystem:
the starting context may go away before the child thread
actually teminates. I consider this a shortcoming of
this test fixture, which isn't intended to be an example
of a real world subsystem, but rather focusses on
error detection within the subsystem runner.
2010-02-07 17:31:28 +01:00
8ad3bf1736
Change subsystem-runner test to remove explicit locking entirely
2010-02-07 02:56:30 +01:00
Christian Thaeter
33a0591689
Make resourcecollector initialization explicit
...
instead automatic initialization, the resourcecollector is pulled up as
backend service.
2010-02-05 09:20:52 +01:00
Christian Thaeter
d350a250fa
Move the resourcecollector to the backend, closes #521
2010-02-05 08:58:19 +01:00
Michael Ploujnikov
c64984b859
Merge remote branch 'ct/backend_devel' into second-tp-attempt
2010-02-04 22:48:03 -05:00
Christian Thaeter
53a747dcca
add little more cleanups to mmap.tests
2010-02-04 22:30:46 +01:00
c406d16fbc
threadwrapper-test should have been better written this way...
2010-02-04 18:48:47 +01:00
Christian Thaeter
cdd8136524
uppercase the 'TESTS' nobug flag for the testsuite, fix tests
...
this flag is little special and can be confused with runtime flags
2010-02-04 09:47:29 +01:00
Michael Ploujnikov
48829bc9ad
basic joinable thread test
2010-02-03 17:06:27 -05:00
Michael Ploujnikov
bd6ed5aa88
joinable thread sync test
...
Right now causes 32bytes to be lost
2010-02-03 08:02:41 -05:00
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
a8e606ba27
Merge NoBug release related changes
2009-10-11 07:00:48 +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