예제 #1
0
 public function testGetExitCode()
 {
     $this->if($php = new testedClass(null, $adapter = new atoum\test\adapter()))->then->variable($php->getExitCode())->isNull()->if($adapter->proc_open = function ($command, $descriptors, &$streams) use(&$phpResource, &$stdin, &$stdout, &$stderr) {
         $streams = array($stdin = uniqid(), $stdout = uniqid(), $stderr = uniqid);
         return $phpResource = uniqid();
     })->and($adapter->fclose = null)->and($adapter->stream_set_blocking = null)->and($adapter->stream_get_contents = null)->and($adapter->proc_close = null)->and($adapter->proc_get_status[1] = array('running' => true))->and($adapter->proc_get_status[2] = array('running' => false, 'exitcode' => $exitCode = rand(0, PHP_INT_MAX)))->and($php->run())->then->variable($php->getExitCode())->isEqualTo($exitCode);
 }