log-bwd-multiple-msgs-stdout-stderr.phpt 1018 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --TEST--
  2. FPM: Buffered worker output decorated log with multiple continuous messages (stdout/stderr mixed)
  3. --SKIPIF--
  4. <?php include "skipif.inc"; ?>
  5. --XFAIL--
  6. Fails intermittently
  7. --FILE--
  8. <?php
  9. require_once "tester.inc";
  10. $cfg = <<<EOT
  11. [global]
  12. error_log = {{FILE:LOG}}
  13. [unconfined]
  14. listen = {{ADDR}}
  15. pm = dynamic
  16. pm.max_children = 5
  17. pm.start_servers = 1
  18. pm.min_spare_servers = 1
  19. pm.max_spare_servers = 3
  20. catch_workers_output = yes
  21. EOT;
  22. $code = <<<EOT
  23. <?php
  24. file_put_contents('php://stdout', "msg 1 - ");
  25. usleep(1);
  26. file_put_contents('php://stderr', "msg 2 - ");
  27. usleep(1);
  28. file_put_contents('php://stderr', "msg 3");
  29. EOT;
  30. $tester = new FPM\Tester($cfg, $code);
  31. $tester->start();
  32. $tester->expectLogStartNotices();
  33. $tester->request()->expectEmptyBody();
  34. $tester->request()->expectEmptyBody();
  35. $tester->expectLogLine('msg 1 - ', false);
  36. $tester->expectLogLine('msg 2 - msg 3', true);
  37. $tester->terminate();
  38. $tester->close();
  39. ?>
  40. Done
  41. --EXPECT--
  42. Done
  43. --CLEAN--
  44. <?php
  45. require_once "tester.inc";
  46. FPM\Tester::clean();
  47. ?>