/** * Given a test, run the Codeception test. * * @param Test $test Current test to Run. * @return Test $test Updated test with log and result. */ public function run(Test $test) { // Get the full command path to run the test. $command = $this->getCommandPath($test->getType(), $test->getFilename()); // Attempt to set the correct writes to Codeceptions Log path. @chmod($this->getLogPath(), 0777); // Run the helper function (as it's not specific to Codeception) // which returns the result of running the terminal command into an array. $output = run_terminal_command($command); // Add the log to the test which also checks to see if there was a pass/fail. $test->setLog($output); return $test; }