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-caller and caller-ctx attributes of the current suite object.

  • validates if current suite stage allows test tool invokation

  • tries to transition the suite into TSInProgress stage if tool method object has $.readify set (see Test::Async::TestTool

  • emits Event::Skip if tool method has its $.skippable set and suite's $.skip-message is 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]

Test::Async v0.0.16

Thread-safe testing framework

Authors

  • Vadim Belman

License

Artistic-2.0

Dependencies

Test Dependencies

Provides

  • Test::Async
  • Test::Async::Aggregator
  • Test::Async::Base
  • Test::Async::Decl
  • Test::Async::Event
  • Test::Async::Hub
  • Test::Async::Job
  • Test::Async::JobMgr
  • Test::Async::Metamodel::BundleClassHOW
  • Test::Async::Metamodel::BundleHOW
  • Test::Async::Metamodel::HubHOW
  • Test::Async::Metamodel::ReporterHOW
  • Test::Async::Reporter
  • Test::Async::Reporter::TAP
  • Test::Async::Result
  • Test::Async::TestTool
  • Test::Async::Utils
  • Test::Async::When
  • Test::Async::X

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.