Commit Graph

14 Commits

Author SHA1 Message Date
Xavier Morel e1e4c48c18 [REM] test runner feature which probably caused more trouble than it caught
avoid catching exception in executed callback, it just hinders debugging by generated completely bonkers traces

bzr revid: xmo@openerp.com-20121116105554-hu45anetrj1a8tl6
2012-11-16 11:55:54 +01:00
Xavier Morel 796e80ec2d [FIX] deferred.pipe -> deferred.then
bzr revid: xmo@openerp.com-20121116101417-mkcjrdtocl6w7408
2012-11-16 11:14:17 +01:00
Xavier Morel 09037e8a42 [REM] failing test code
committed by mistake

bzr revid: xmo@openerp.com-20121116073738-9f43bm0q6eojns3v
2012-11-16 08:37:38 +01:00
Xavier Morel d632471f64 [IMP] web test runner: pass execute's arguments to the function to avoid duplication
bzr revid: xmo@openerp.com-20121116072906-0di2j83p602a2l9i
2012-11-16 08:29:06 +01:00
Xavier Morel a9645151b6 [IMP] setup & teardown of test runner
simplify code and make setup & teardown processes more reliable

add testing.Stack tools which stacks promise-returning functions
around the actual promise-returning function to execute (the test case
itself).

testing.Stack returns an object with 3 methods, ``push([setup][,
teardown])``, ``unshift([setup][, teardown])`` and ``execute(fn,
*args)``. ``push`` and ``unshift`` create a new stack with the
provided setup and teardown added respectively at the top and bottom
of the stack.

``execute`` will walk the stack from bottom to top executing ``setup``
handlers (and waiting on their result), if all setup handlers execute
without failure the ``fn`` callback gets executed (and waited on) then
*all* ``teardown`` handlers are executed from top to bottom:

 |  setup
 |    setup
 |      setup
 |        setup
 |          fn
 |        teardown
 |      teardown
 |    teardown
 V  teardown

If a ``setup`` handler fails (the promise is rejected), teardowns will
start executing *from the previous level* (so the ``teardown``
matching the failed ``setup`` will *not* be run), but all
``teardowns`` below that will be run regardless, even if one fails the
next one will still be executed.

The stack will either ultimately return a promise rejection using the
*first* rejection it got (a rejection may be cascading, so the
rejection of a setup may also lead to or be linked to a teardown being
rejected later), or will return the resolution from ``fn``.

If ``execute`` is passed further arguments, those arguments will in
turn be forwarded to ``fn`` as well as all ``setup`` and ``teardown``
handlers.

bzr revid: xmo@openerp.com-20121116071712-zuld957icellezum
2012-11-16 08:17:12 +01:00
Xavier Morel 8e85f4e0bd [IMP] timeout discipline
* Global timeout significantly increased to correctly handle e.g. db creation and teardown
* Per-test timeout brought back down to 2s

bzr revid: xmo@openerp.com-20121115091501-ys8opo0ccr3dq29h
2012-11-15 10:15:01 +01:00
Xavier Morel f24cbe0795 [FIX] don't apply teardown when setup fails
bzr revid: xmo@openerp.com-20121030082217-yjbh7j4apszsyg8l
2012-10-30 09:22:17 +01:00
Xavier Morel 5b1990bd18 [IMP] make failure of rpc cleanup fail the owning test
bzr revid: xmo@openerp.com-20121030081525-i611as22kjlhcex5
2012-10-30 09:15:25 +01:00
Xavier Morel d2cf844e7b [IMP] allow providing db-cloning info directly in URL for test runner
bzr revid: xmo@openerp.com-20121030074615-lt517w5t9fd9ppvh
2012-10-30 08:46:15 +01:00
Xavier Morel 523f4a6e03 [FIX] db name being used to drop databases after rpc tests
xmo@openerp.com-20121029110154-5927gaix8k0ijl0c introduced a
regression which wasn't caught by deferred piping (?) and caused
databases to not be dropped after rpc tests

bzr revid: xmo@openerp.com-20121030074325-wh39s75vj2zob9e0
2012-10-30 08:43:25 +01:00
Xavier Morel bf4a26d3e8 [ADD] actual-RPC tests, with UI. Bump QUnit timeout to 10s so RPC can run at all
bzr revid: xmo@openerp.com-20121029110154-5927gaix8k0ijl0c
2012-10-29 12:01:54 +01:00
Xavier Morel a130035409 [IMP] port basic/existing tests to new framework, apart from editor stuff
bzr revid: xmo@openerp.com-20121026092144-0arxx2v9oi28e3d6
2012-10-26 11:21:44 +02:00
Xavier Morel 04282ff00e [IMP] port search test to new framework, add handling of web.{submodule} dependencies
bzr revid: xmo@openerp.com-20121026084543-fobkc3ta5q2jc3q6
2012-10-26 10:45:43 +02:00
Xavier Morel 99a2dd3938 [ADD] first 90% of non-sucky testing API, last 90% left
also all existing tests shoud now be completely broken and need to be fixed

bzr revid: xmo@openerp.com-20121025154745-rw2gktfd6tp68k2m
2012-10-25 17:47:45 +02:00