summaryrefslogtreecommitdiff
path: root/src/tests/dump_request/dump_eval_whitelist.phpt
diff options
context:
space:
mode:
authorjvoisin2019-01-14 19:29:25 +0000
committerGitHub2019-01-14 19:29:25 +0000
commite79f7e3bd992c7f0915ef9afe7afb6d79740527a (patch)
treef881c25694eb00da2331a9ab280ec1c24a5662ab /src/tests/dump_request/dump_eval_whitelist.phpt
parentc943db586ac46b686b49bdf61d8473e39dd93000 (diff)
Reorganize the testsuite
Splitting the testsuite in several components makes it easier to manage and comprehend. This was also needed some some tests aren't passing on Alpine Linux, but we still want to run as many of them as we can on this platform.
Diffstat (limited to 'src/tests/dump_request/dump_eval_whitelist.phpt')
-rw-r--r--src/tests/dump_request/dump_eval_whitelist.phpt52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/tests/dump_request/dump_eval_whitelist.phpt b/src/tests/dump_request/dump_eval_whitelist.phpt
new file mode 100644
index 0000000..88bfcf6
--- /dev/null
+++ b/src/tests/dump_request/dump_eval_whitelist.phpt
@@ -0,0 +1,52 @@
1--TEST--
2Dump eval whitelist
3--SKIPIF--
4<?php
5if (!extension_loaded("snuffleupagus")) die "skip";
6?>
7--POST--
8post_a=data_post_a&post_b=data_post_b
9--GET--
10get_a=data_get_a&get_b=data_get_b
11--COOKIE--
12cookie_a=data_cookie_a&cookie_b=data_cookie_b
13--INI--
14sp.configuration_file={PWD}/config/dump_eval_whitelist.ini
15--FILE--
16<?php
17@mkdir("/tmp/dump_result/");
18foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
19 @unlink($dump);
20}
21
22function my_fun($p) {
23 return "my_fun: $p";
24}
25
26function my_other_fun($p) {
27 return "my_other_fun: $p";
28}
29
30$a = my_fun("1337 1337 1337");
31echo "Outside of eval: $a\n";
32eval('$a = my_fun("1234");');
33echo "After allowed eval: $a\n";
34eval('$a = my_other_fun("1234");');
35echo "After eval: $a\n";
36$filename = glob('/tmp/dump_result/sp_dump.*')[0];
37$res = file($filename);
38if ($res[2] != "GET:get_a='data_get_a' get_b='data_get_b' \n") {
39 echo "1\n";
40} elseif ($res[3] != "POST:post_a='data_post_a' post_b='data_post_b' \n") {
41 echo "2\n";
42} elseif ($res[4] != "COOKIE:cookie_a='data_cookie_a&cookie_b=data_cookie_b' \n") {
43 echo "3\n";
44}
45
46?>
47--EXPECTF--
48Outside of eval: my_fun: 1337 1337 1337
49After allowed eval: my_fun: 1234
50
51Warning: [snuffleupagus][Eval_whitelist] The function 'my_other_fun' isn't in the eval whitelist, logging its call. in %a/dump_eval_whitelist.php on line 12
52After eval: my_other_fun: 1234