public function testPrepareOutputDirectory()
 {
     $rootDirectory = vfsStream::setup(ROOT_DIRECTORY);
     $this->assertFalse($rootDirectory->hasChild(TEST_DIRECTORY));
     $newDirectoryPath = vfsStream::url(ROOT_DIRECTORY) . DIRECTORY_SEPARATOR . TEST_DIRECTORY;
     Model\Provider::setOutputDirectory(null);
     new AllureAdapter($newDirectoryPath, true);
     $this->assertTrue($rootDirectory->hasChild(TEST_DIRECTORY));
     $this->assertEquals($newDirectoryPath, Model\Provider::getOutputDirectory());
 }
 public function _initialize()
 {
     parent::_initialize();
     Annotation\AnnotationProvider::registerAnnotationNamespaces();
     $outputDirectory = $this->getOutputDirectory();
     $deletePreviousResults = $this->tryGetOption(DELETE_PREVIOUS_RESULTS_PARAMETER, false);
     $this->prepareOutputDirectory($outputDirectory, $deletePreviousResults);
     if (is_null(Model\Provider::getOutputDirectory())) {
         Model\Provider::setOutputDirectory($outputDirectory);
     }
 }
 /**
  * Extra annotations to ignore in addition to standard PHPUnit annotations.
  * 
  * @param array $ignoredAnnotations
  */
 public function _initialize(array $ignoredAnnotations = [])
 {
     parent::_initialize();
     Annotation\AnnotationProvider::registerAnnotationNamespaces();
     // Add standard PHPUnit annotations
     Annotation\AnnotationProvider::addIgnoredAnnotations($this->ignoredAnnotations);
     // Add custom ignored annotations
     Annotation\AnnotationProvider::addIgnoredAnnotations($ignoredAnnotations);
     $outputDirectory = $this->getOutputDirectory();
     $deletePreviousResults = $this->tryGetOption(DELETE_PREVIOUS_RESULTS_PARAMETER, false);
     $this->prepareOutputDirectory($outputDirectory, $deletePreviousResults);
     if (is_null(Model\Provider::getOutputDirectory())) {
         Model\Provider::setOutputDirectory($outputDirectory);
     }
 }
 public function prepareOutputDirectory($outputDirectory, $deletePreviousResults)
 {
     if (!file_exists($outputDirectory)) {
         mkdir($outputDirectory, 0755, true);
     }
     if ($deletePreviousResults) {
         $files = glob($outputDirectory . DIRECTORY_SEPARATOR . '{,.}*', GLOB_BRACE);
         foreach ($files as $file) {
             if (is_file($file)) {
                 unlink($file);
             }
         }
     }
     if (is_null(Model\Provider::getOutputDirectory())) {
         Model\Provider::setOutputDirectory($outputDirectory);
     }
 }
 public function getOutputPath($sha1, $extension)
 {
     return Provider::getOutputDirectory() . DIRECTORY_SEPARATOR . $this->getOutputFileName($sha1, $extension);
 }
 protected function saveToFile($testSuiteUuid, TestSuite $testSuite)
 {
     if ($testSuite->size() > 0) {
         $xml = $testSuite->serialize();
         $fileName = $testSuiteUuid . '-testsuite.xml';
         $filePath = Provider::getOutputDirectory() . DIRECTORY_SEPARATOR . $fileName;
         file_put_contents($filePath, $xml);
     }
 }