Ejemplo n.º 1
0
 public function testMain()
 {
     // First start
     ob_start();
     $app = $this->getApp();
     $app->cache->flush();
     $app->run();
     $result = ob_get_clean();
     $this->assertEquals('body0', $result, "First run, put data into cache");
     // Make sure cache works
     ob_start();
     self::$body = 1;
     $app = $this->getApp();
     $app->run();
     $result = ob_get_clean();
     $app->mutex->releaseAll();
     $this->assertEquals('body0', $result, "Second run, get data from cache");
     // Make sure dependency works
     ob_start();
     self::$tag = 1;
     $app = $this->getApp();
     $app->run();
     $app->mutex->releaseAll();
     $result = ob_get_clean();
     $this->assertEquals('body1', $result);
     $pid = pcntl_fork();
     $this->assertNotEquals(-1, $pid, "Can not fork process");
     self::$tag = 2;
     self::$body = 2;
     ob_start();
     $app = $this->getApp();
     self::$mutexState = $app->mutex->acquire('test');
     $app->run();
     $result = ob_get_clean();
     if (self::$mutexState) {
         $this->assertEquals('body2', $result);
     } else {
         $this->assertEquals('body1', $result);
     }
 }