bug26938.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. --TEST--
  2. Bug #26938 (exec does not read consecutive long lines correctly)
  3. --FILE--
  4. <?php
  5. $out = array();
  6. $status = -1;
  7. $php = getenv('TEST_PHP_EXECUTABLE');
  8. if (substr(PHP_OS, 0, 3) != 'WIN') {
  9. exec($php . ' -n -r \''
  10. . '$lengths = array(10,20000,10000,5,10000,3);'
  11. . 'foreach($lengths as $length) {'
  12. . ' for($i=0;$i<$length;$i++) print chr(65+$i % 27);'
  13. . ' print "\n";'
  14. . '}\'', $out, $status);
  15. } else {
  16. exec($php . ' -n -r "'
  17. . '$lengths = array(10,20000,10000,5,10000,3);'
  18. . 'foreach($lengths as $length) {'
  19. . ' for($i=0;$i<$length;$i++) print chr(65+$i % 27);'
  20. . ' print \\"\\n\\";'
  21. . '}"', $out, $status);
  22. }
  23. for ($i=0;$i<6;$i++)
  24. print "md5(line $i)= " . md5($out[$i]) . " (length " .
  25. strlen($out[$i]) . ")\n";
  26. ?>
  27. --EXPECT--
  28. md5(line 0)= e86410fa2d6e2634fd8ac5f4b3afe7f3 (length 10)
  29. md5(line 1)= e84debf3a1d132871d7fe45c1c04c566 (length 20000)
  30. md5(line 2)= c33b4d2f86908eea5d75ee5a61fd81f4 (length 10000)
  31. md5(line 3)= 2ecdde3959051d913f61b14579ea136d (length 5)
  32. md5(line 4)= c33b4d2f86908eea5d75ee5a61fd81f4 (length 10000)
  33. md5(line 5)= 902fbdd2b1df0c4f70b4a5d23525e932 (length 3)