Annotation of embedaddon/php/tests/func/010.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: function with many parameters
3: --SKIPIF--
4: <?php
5: if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
6: ?>
7: --FILE--
8: <?php
9:
10: // the stack size + some random constant
11: $boundary = 64*1024;
12: $limit = $boundary+42;
13:
14:
15: function test($a,$b)
16: {
17: var_dump($a === $b);
18: test2($a,$b);
19: }
20:
21: function test2($a, $b)
22: {
23: if ($a !== $b) {
24: var_dump("something went wrong: $a !== $b");
25: }
26: }
27:
28:
29: // generate the function
30: $str = "<?php\nfunction x(";
31:
32: for($i=0; $i < $limit; ++$i) {
33: $str .= '$v'.dechex($i).($i===($limit-1) ? '' : ',');
34: }
35:
36: $str .= ') {
37: test($v42, \'42\');
38: test(\'4000\', $v4000);
39: test2($v300, \'300\');
40: test($v0, \'0\'); // first
41: test($v'.dechex($limit-1).", '".dechex($limit-1).'\'); // last
42: test($v'.dechex($boundary).", '".dechex($boundary).'\'); //boundary
43: test($v'.dechex($boundary+1).", '".dechex($boundary+1).'\'); //boundary+1
44: test($v'.dechex($boundary-1).", '".dechex($boundary-1).'\'); //boundary-1
45: }';
46:
47: // generate the function call
48: $str .= "\n\nx(";
49:
50: for($i=0; $i< $limit; ++$i) {
51: $str .= "'".dechex($i)."'".($i===($limit-1) ? '' : ',');
52: }
53:
54: $str .= ");\n";
55:
56: $filename = dirname(__FILE__).'/010-file.php';
57: file_put_contents(dirname(__FILE__).'/010-file.php', $str);
58: unset($str);
59:
60: include($filename);
61:
62: echo "Done\n";
63:
64: ?>
65: --CLEAN--
66: <?php
67: @unlink(dirname(__FILE__).'/010-file.php');
68: ?>
69: --EXPECT--
70: bool(true)
71: bool(true)
72: bool(true)
73: bool(true)
74: bool(true)
75: bool(true)
76: bool(true)
77: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>