summaryrefslogtreecommitdiff
path: root/ext/posix/tests/posix_setuid_error2.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/posix/tests/posix_setuid_error2.phpt')
-rw-r--r--ext/posix/tests/posix_setuid_error2.phpt55
1 files changed, 55 insertions, 0 deletions
diff --git a/ext/posix/tests/posix_setuid_error2.phpt b/ext/posix/tests/posix_setuid_error2.phpt
new file mode 100644
index 0000000..6ec0aa9
--- /dev/null
+++ b/ext/posix/tests/posix_setuid_error2.phpt
@@ -0,0 +1,55 @@
+--TEST--
+Test function posix_setuid() by substituting argument 1 with object values.
+--SKIPIF--
+<?php
+ if(!extension_loaded("posix")) print "skip - POSIX extension not loaded";
+?>
+--CREDITS--
+Marco Fabbri mrfabbri@gmail.com
+Francesco Fullone ff@ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--FILE--
+<?php
+
+
+echo "*** Test substituting argument 1 with object values ***\n";
+
+
+
+function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
+ if (error_reporting() != 0) {
+ // report non-silenced errors
+ echo "Error: $err_no - $err_msg, $filename($linenum)\n";
+ }
+}
+set_error_handler('test_error_handler');
+
+
+
+class classWithToString
+{
+ public function __toString() {
+ return "Class A object";
+ }
+}
+
+class classWithoutToString
+{
+}
+
+$variation_array = array(
+ 'instance of classWithToString' => new classWithToString(),
+ 'instance of classWithoutToString' => new classWithoutToString(),
+ );
+
+
+foreach ( $variation_array as $var ) {
+ var_dump(posix_setuid( $var ) );
+}
+?>
+--EXPECTF--
+*** Test substituting argument 1 with object values ***
+Error: 2 - posix_setuid() expects parameter 1 to be long, object given, %s
+bool(false)
+Error: 2 - posix_setuid() expects parameter 1 to be long, object given, %s
+bool(false)