Commit Graph

8 Commits

Author SHA1 Message Date
niv-openerp 17ba69eb52 Applied jshint on test files and corrected errors
bzr revid: nicolas.vanhoren@openerp.com-20130725112416-j6wbm254yx05i890
2013-07-25 13:24:16 +02:00
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 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 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
Christophe Simonis 63e4d9b572 [IMP] sed -i '' -e 's/connection/session/g'
bzr revid: chs@openerp.com-20120814152900-8r84kyz0qy1hwkvz
2012-08-14 17:29:00 +02:00
Xavier Morel 25284686f3 [TEST] saving of record being edited, improve RPC mocking to allow dispatch on ORM method name
bzr revid: xmo@openerp.com-20120704132822-3p4h1c6cyr0qvn2x
2012-07-04 15:28:22 +02:00
Xavier Morel dda83dc1ea [IMP] extract some testing primitives to a dedicated module, migrate search view tests to those
bzr revid: xmo@openerp.com-20120704112406-1lqwahtdo7fnla8o
2012-07-04 13:24:06 +02:00