summaryrefslogtreecommitdiff
path: root/ext/shmop
diff options
context:
space:
mode:
authorMatteo Beccati <mbeccati@php.net>2015-11-10 09:10:15 +0100
committerMatteo Beccati <mbeccati@php.net>2015-11-10 09:10:15 +0100
commit0ed6e25e529c9611d95c33ebe5b0a4e41a10b92d (patch)
tree67f622ba476da6f92f1aa1e68977c90bfae8906e /ext/shmop
parent2d750a7233f02cf9658c5221653544bce778a80e (diff)
parent3cb3979de302626af8d7bd24472ba5798693ef70 (diff)
downloadphp-git-0ed6e25e529c9611d95c33ebe5b0a4e41a10b92d.tar.gz
Merge branch 'PHP-7.0'
* PHP-7.0: Split shmop/tests/002.phpt in two (all + non-root) Fix bug #70886 in shmop/tests/002.phpt
Diffstat (limited to 'ext/shmop')
-rw-r--r--ext/shmop/tests/002.phpt12
-rw-r--r--ext/shmop/tests/003.phpt33
2 files changed, 37 insertions, 8 deletions
diff --git a/ext/shmop/tests/002.phpt b/ext/shmop/tests/002.phpt
index c67857af08..3206f90776 100644
--- a/ext/shmop/tests/002.phpt
+++ b/ext/shmop/tests/002.phpt
@@ -8,14 +8,13 @@ edgarsandi - <edgar.r.sandi@gmail.com>
die('skip not for Windows');
}
if (!extension_loaded("shmop")) {
-
die("skip shmop() extension not available");
}
?>
--FILE--
<?php
$hex_shm_id = function(){
- return rand(0, 9999);
+ return mt_rand(1338, 9999);
};
echo PHP_EOL, '## shmop_open function tests ##';
@@ -34,9 +33,6 @@ echo PHP_EOL, '## shmop_open function tests ##';
// warning outputs: Shared memory segment size must be greater than zero
var_dump(shmop_open($hex_shm_id(), "c", 0666, 0));
- // warning outputs: unable to get shared memory segment information
- var_dump(shmop_open($hex_shm_id(), 'n', 0, 1024));
-
echo PHP_EOL, '## shmop_read function tests ##';
// warning outputs: 3 parameters expected
var_dump(shmop_read());
@@ -44,10 +40,12 @@ echo PHP_EOL, '## shmop_read function tests ##';
// warning outputs: start is out of range
$shm_id = shmop_open($hex_shm_id(), 'n', 0600, 1024);
var_dump(shmop_read($shm_id, -10, 0));
+ shmop_delete($shm_id);
// warning outputs: count is out of range
$shm_id = shmop_open($hex_shm_id(), 'n', 0600, 1024);
var_dump(shmop_read($shm_id, 0, -10));
+ shmop_delete($shm_id);
echo PHP_EOL, '## shmop_write function tests ##';
// warning outputs: 3 parameters expected
@@ -56,6 +54,7 @@ echo PHP_EOL, '## shmop_write function tests ##';
// warning outputs: offset out of range
$shm_id = shmop_open($hex_shm_id(), 'n', 0600, 1024);
var_dump(shmop_write($shm_id, 'text to try write', -10));
+ shmop_delete($shm_id);
echo PHP_EOL, '## shmop_size function tests ##';
// warning outputs: 1 parameter expected
@@ -86,9 +85,6 @@ bool(false)
Warning: shmop_open(): Shared memory segment size must be greater than zero in %s on line %d
bool(false)
-Warning: shmop_open(): unable to get shared memory segment information 'Permission denied' in %s on line %d
-bool(false)
-
## shmop_read function tests ##
Warning: shmop_read() expects exactly 3 parameters, 0 given in %s on line %d
NULL
diff --git a/ext/shmop/tests/003.phpt b/ext/shmop/tests/003.phpt
new file mode 100644
index 0000000000..1c154f08ca
--- /dev/null
+++ b/ext/shmop/tests/003.phpt
@@ -0,0 +1,33 @@
+--TEST--
+shmop extension error messages (non-root)
+--SKIPIF--
+<?php
+ if( substr(PHP_OS, 0, 3) == "WIN") {
+ die('skip not for Windows');
+ }
+ if (!extension_loaded("shmop")) {
+ die("skip shmop extension not available");
+ }
+ if (!extension_loaded("posix")) {
+ die("skip posix extension not available");
+ }
+ if (!posix_geteuid()) {
+ die("skip cannot run test as root");
+ }
+?>
+--FILE--
+<?php
+ $hex_shm_id = function(){
+ return mt_rand(1338, 9999);
+ };
+
+echo '## shmop_open function tests ##', PHP_EOL;
+ // warning outputs: unable to get shared memory segment information
+ var_dump(shmop_open($hex_shm_id(), 'n', 0, 1024));
+
+?>
+--EXPECTF--
+## shmop_open function tests ##
+
+Warning: shmop_open(): unable to get shared memory segment information 'Permission denied' in %s on line %d
+bool(false)