gh8885-stderr-fd-reload-usr2.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --TEST--
  2. FPM: GH-8885 - access.log with stderr begins to write logs to error_log after daemon reload
  3. --SKIPIF--
  4. <?php
  5. include "skipif.inc";
  6. FPM\Tester::skipIfRoot();
  7. ?>
  8. --FILE--
  9. <?php
  10. require_once "tester.inc";
  11. $cfg = <<<EOT
  12. [global]
  13. error_log = {{FILE:LOG}}
  14. pid = {{FILE:PID}}
  15. [unconfined]
  16. listen = {{ADDR}}
  17. access.log=/dev/stderr
  18. ping.path = /ping
  19. ping.response = pong
  20. pm = dynamic
  21. pm.max_children = 5
  22. pm.start_servers = 1
  23. pm.min_spare_servers = 1
  24. pm.max_spare_servers = 3
  25. EOT;
  26. $tester = new FPM\Tester($cfg);
  27. $tester->start(forceStderr: false);
  28. $tester->expectNoLogMessages();
  29. $tester->switchLogSource('{{FILE:LOG}}');
  30. $tester->expectLogStartNotices();
  31. $tester->ping();
  32. $tester->switchLogSource('{{MASTER:OUT}}');
  33. $tester->expectLogPattern('/127.0.0.1 .* "GET \/ping" 200/');
  34. $tester->reload();
  35. $tester->switchLogSource('{{FILE:LOG}}');
  36. $tester->expectLogReloadingNotices();
  37. $tester->ping();
  38. $tester->switchLogSource('{{MASTER:OUT}}');
  39. $tester->expectLogPattern('/127.0.0.1 .* "GET \/ping" 200/');
  40. $tester->switchLogSource('{{FILE:LOG}}');
  41. $tester->terminate();
  42. $tester->expectLogTerminatingNotices();
  43. $tester->switchLogSource('{{MASTER:OUT}}');
  44. $tester->expectNoLogMessages();
  45. $tester->close();
  46. ?>
  47. Done
  48. --EXPECT--
  49. Done
  50. --CLEAN--
  51. <?php
  52. require_once "tester.inc";
  53. FPM\Tester::clean();
  54. ?>