xref: /PHP-8.0/ext/standard/tests/file/bug26938.phpt (revision f8d79582)
1--TEST--
2Bug #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');
8if (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}
23for ($i=0;$i<6;$i++)
24     print "md5(line $i)= " . md5($out[$i]) . " (length " .
25strlen($out[$i]) . ")\n";
26?>
27--EXPECT--
28md5(line 0)= e86410fa2d6e2634fd8ac5f4b3afe7f3 (length 10)
29md5(line 1)= e84debf3a1d132871d7fe45c1c04c566 (length 20000)
30md5(line 2)= c33b4d2f86908eea5d75ee5a61fd81f4 (length 10000)
31md5(line 3)= 2ecdde3959051d913f61b14579ea136d (length 5)
32md5(line 4)= c33b4d2f86908eea5d75ee5a61fd81f4 (length 10000)
33md5(line 5)= 902fbdd2b1df0c4f70b4a5d23525e932 (length 3)
34