Annotation of embedaddon/php/ext/posix/tests/posix_mkfifo_safemode.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test posix_mkfifo() with safe_mode.
! 3: --DESCRIPTION--
! 4: The test attempts to enable safe_mode, catches all the relevant E_WARNING's and tries to create a fifo in /tmp.
! 5:
! 6: The first attempt (writing to /tmp) should effectively fail because /tmp is owned by root.
! 7:
! 8: The second attempt (writing to a local created file) works.
! 9: --CREDITS--
! 10: Till Klampaeckel, till@php.net
! 11: TestFest Berlin 2009
! 12: --SKIPIF--
! 13: <?php
! 14: if (!extension_loaded('posix')) {
! 15: die('SKIP The posix extension is not loaded.');
! 16: }
! 17: if (posix_geteuid() == 0) {
! 18: die('SKIP Cannot run test as root.');
! 19: }
! 20: ?>
! 21: --INI--
! 22: safe_mode = 1
! 23: --FILE--
! 24: <?php
! 25: var_dump(posix_mkfifo('/tmp/foobar', 0644));
! 26:
! 27: $dir = dirname(__FILE__) . '/foo';
! 28: mkdir ($dir);
! 29: var_dump(posix_mkfifo($dir . '/bar', 0644));
! 30: ?>
! 31: ===DONE===
! 32: --CLEAN--
! 33: <?php
! 34: $dir = dirname(__FILE__) . '/foo';
! 35: unlink($dir . '/bar');
! 36: rmdir($dir);
! 37: ?>
! 38: --EXPECTF--
! 39: Deprecated: Directive 'safe_mode' is deprecated in PHP 5.3 and greater in %s on line %d
! 40:
! 41: Warning: posix_mkfifo(): SAFE MODE Restriction in effect. The script whose uid is %d is not allowed to access /tmp owned by uid %d in %s on line %d
! 42: bool(false)
! 43: bool(true)
! 44: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>