BundleClassHOW
NAME
Test::Async::Metamodel::BundleClassHOW - metaclass backing custom bundle classes.
DESCRIPTION
This class purpose is to ensure that test tool methods are wrapped into common boilerplate. The boilerplate does the following:
determines calling context to make sure any error reported points at user code where the test tool is invoked. As a result it sets
tool-callerandcaller-ctxattributes of the current suite object.validates if current suite stage allows test tool invokation
tries to transition the suite into
TSInProgressstage if tool method object has$.readifyset (see Test::Async::TestToolemits
Event::Skipif tool method has its$.skippableset and suite's$.skip-messageis defined.otherwise invokes the original test tool method code.
Wrapping doesn't replace the method object itself.
If test tool method object has its wrappable attribute set to False then wrapping doesn't take place. In this case the method must take care of all necessary preparations itself. See implementation of subtest by Test::Async::Base for example.
SEE ALSO
Test::Async::Manual, Test::Async::Decl
AUTHOR
Vadim Belman [email protected]