View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Dave Rolsky > SmokeRunner-Multi-0.16 > SmokeRunner::Multi::Config



Annotate this POD


Open  0
View/Report Bugs
Source   Latest Release: SmokeRunner-Multi-0.21


SmokeRunner::Multi::Config - Config information for a Smokerunner::Multi setup


  use SmokeRunner::Multi::Config;

  my $config = SmokeRunner::Multi::Config->instance();

  print $config->root_dir();


This class reads the config file for SmokeRunner::Multi, and provides access to the data in it. It is a singleton, so the config will only be read when the object is first created.


This class provides the following methods:


Returns the instance of the config object. The first time this is called, it will read the config file.

The config file should be in YAML format.

Finding the config file

This class will look for the config file in several locations.

First, if the SMOKERUNNER_CONFIG variable is set, it checks this location.

Next, if the the current user has a home directory, it will look in [home]/.smokerunner/smokerunner.conf. Finally it looks in /etc/smokerunner/smokerunner.conf.

If it cannot find a file it will die.


The root directory for the smokerunner. This should contain the test sets, and it will be used for storing data on the filesystem, so it needs to be writeable by the smoke runner process.


The SmokeRunner::Multi::Runner subclass to use. This can be a full class name, or just the unique part of the subclass ("Prove" or "Smolder").


The SmokeRunner::Multi::Reporter subclass to use. This can be a full class name, or just the unique part of the subclass ("Smolder").


Returns a hash reference of Smolder configuration data.


The configuration file is expected to be in YAML. There are three required config keys:


This class doesn't lend itself well to supporting config info for new types of runner or reporter classes. That should be fixed ;)


Dave Rolsky, <>


Please report any bugs or feature requests to, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


Copyright 2007 LiveText, Inc., All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

syntax highlighting: