summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjvoisin2017-10-20 14:15:23 +0200
committerjvoisin2017-10-20 14:15:23 +0200
commitdfb9eb6f82e1393947229f1c09febc3806ab825a (patch)
tree1a49e14b5efae2e8a5d3db7935d45778369231da /src
parent48df50444fe449c3ba0cb7ded2ed7bf76e57a435 (diff)
Add a test to demonstrate the behaviour wrt. call_user_func
Diffstat (limited to 'src')
-rw-r--r--src/tests/config/config_disabled_functions_chain_call_user_func.ini2
-rw-r--r--src/tests/disabled_functions_chain_call_user_func.phpt28
2 files changed, 30 insertions, 0 deletions
diff --git a/src/tests/config/config_disabled_functions_chain_call_user_func.ini b/src/tests/config/config_disabled_functions_chain_call_user_func.ini
new file mode 100644
index 0000000..4f7a629
--- /dev/null
+++ b/src/tests/config/config_disabled_functions_chain_call_user_func.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("outer>call_user_func>inner").simulation().drop();
2sp.disable_function.function("outer>inner").drop();
diff --git a/src/tests/disabled_functions_chain_call_user_func.phpt b/src/tests/disabled_functions_chain_call_user_func.phpt
new file mode 100644
index 0000000..e13bd5a
--- /dev/null
+++ b/src/tests/disabled_functions_chain_call_user_func.phpt
@@ -0,0 +1,28 @@
1--TEST--
2Disable functions by matching the calltrace, with call_user_func involved
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) die "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/config_disabled_functions_chain_call_user_func.ini
7--FILE--
8<?php
9
10function outer() {
11 function inner() {
12 echo "I'm in the inner function!\n";
13 }
14 echo "I'm in the outer function, before the call!\n";
15 call_user_func("inner");
16 echo "I'm in the outer function, after the call!\n";
17}
18
19echo "I'm before the call to outer\n";
20outer();
21echo "I'm after the call to outer\n";
22?>
23--EXPECTF--
24I'm before the call to outer
25I'm in the outer function, before the call!
26[snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'outer>inner' in %a/disabled_functions_chain_call_user_func.php:%d has been disabled.
27I'm in the outer function, after the call!
28I'm after the call to outer