requireFolder($folder."/".$file); } elseif (preg_match("/\.php/", $file)) { require_once(realpath($folder."/".$file)); } } } /** * Require all classes needed to work with the status.dat Reader * * This includes the Status.dat Reader and Parser classes * from Icinga/PRotocol as well as a few dependencies (Logging, Zend_Cache) * */ private function requireStatusDat() { require_once 'library/Icinga/Protocol/Statusdat/StatusdatTestLoader.php'; StatusdatTestLoader::requireLibrary(); } /** * Create the status.dat and objects.cache files for using testfixtures * * Remove existing files for status.dat testfixtures and create new * (empty) files at /tmp/ when no resource is given. * * @param String $version The version to use, will be ignored * @param array $resource An optional associative array pointing to the * objects_cache and status.dat files. The keys are as following: * - "status_file" : Path to the status.dat to remove and recreate * - "objects_file" : Path to the objects.cache file to remove and recreate * @return array An path array (see $resource) that contains the used file paths */ public function setup($version = null, $resource = null) { if ($resource == null) { $resource = array( "status_file" => "/tmp/teststatus.dat", "objects_file" => "/tmp/testobjects.cache" ); } $this->requireStatusDat(); $this->teardown($resource); touch($resource["status_file"]); touch($resource["objects_file"]); return $resource; } /** * Remove test status.dat and objects.cache files * * @param array $resource An optional associative array pointing to the * objects_cache and status.dat files. The keys are as following: * - "status_file" : Path to the status.dat to remove * - "objects_file" : Path to the objects.cache file to remove */ public function teardown($resource = null) { if ($resource == null) { $resource = array( "status_file" => "/tmp/teststatus.dat", "objects_file" => "/tmp/testobjects.cache" ); } if (file_exists($resource["status_file"])) { unlink($resource["status_file"]); } if (file_exists($resource["objects_file"])) { unlink($resource["objects_file"]); } } }