Пример #1
0
 public function testManager()
 {
     // Make sure PHP checks for signals, and handles them.
     declare (ticks=1);
     $test_text = "I'm doing something";
     $fm = new Parallel\ForkManager(1);
     $logger = new Logger("test");
     $testH = new Handler\TestHandler();
     $logger->pushHandler($testH);
     $fm->setLogger($logger);
     $this->markTestIncomplete("Forking is hard to test.  Todo, refactor to make fork a module so we can mock");
     while ($fm->alive()) {
         //            if ($fm->start('hello world')) {
         //                continue;
         //            }
         $logger->info($test_text);
         $fm->shutdown();
         //            $fm->stop();
     }
     $has_announce = false;
     foreach ($testH->getRecords() as $record) {
         $message = $record['message'];
         if (preg_match('#Announcing#', $message)) {
             $has_announce = true;
             break;
         }
     }
     $this->assertTrue($has_announce, "FM Never announced a thread");
     $this->assertTrue($testH->hasInfo($test_text), "FM never got to the fork body");
 }