Annotation of embedaddon/php/ext/shmop/tests/001.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: shmop extension test
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded("shmop")) {
! 6: die("skip shmop() extension not available");
! 7: }
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: $hex_shm_id = 0xff3;
! 12: $write_d1 = "test #1 of the shmop() extension";
! 13: $write_d2 = "test #2 append data to shared memory segment";
! 14:
! 15: echo "shm open for create: ";
! 16: $shm_id = shmop_open($hex_shm_id, "n", 0644, 1024);
! 17: if (!$shm_id) {
! 18: die("failed\n");
! 19: } else {
! 20: echo "ok\n";
! 21: }
! 22:
! 23: echo "shm size is: " . ($shm_size = shmop_size($shm_id)) . "\n";
! 24:
! 25: echo "shm write test #1: ";
! 26: $written = shmop_write($shm_id, $write_d1, 0);
! 27: if ($written != strlen($write_d1)) {
! 28: echo "failed\n";
! 29: } else {
! 30: echo "ok\n";
! 31: }
! 32:
! 33: echo "data in memory is: " . shmop_read($shm_id, 0, $written) . "\n";
! 34:
! 35: shmop_close($shm_id);
! 36:
! 37: echo "shm open for read only: ";
! 38: $shm_id = shmop_open($hex_shm_id, "a", 0644, 1024);
! 39: if (!$shm_id) {
! 40: echo "failed\n";
! 41: } else {
! 42: echo "ok\n";
! 43: }
! 44:
! 45: echo "data in memory is: " . shmop_read($shm_id, 0, $written) . "\n";
! 46:
! 47: /* try to append data to the shared memory segment, this should fail */
! 48: @shmop_write($shm_id, $write_d1, $written);
! 49: echo $php_errormsg . "\n";
! 50:
! 51: shmop_close($shm_id);
! 52:
! 53: echo "shm open for read only: ";
! 54: $shm_id = shmop_open($hex_shm_id, "w", 0644, 1024);
! 55: if (!$shm_id) {
! 56: echo "failed\n";
! 57: } else {
! 58: echo "ok\n";
! 59: }
! 60:
! 61: echo "shm write test #1: ";
! 62: $written = shmop_write($shm_id, $write_d2, $written);
! 63: if ($written != strlen($write_d2)) {
! 64: die("failed\n");
! 65: } else {
! 66: echo "ok\n";
! 67: }
! 68:
! 69: echo "data in memory is: " . shmop_read($shm_id, 0, strlen($write_d1 . $write_d2)) . "\n";
! 70:
! 71: echo "deletion of shm segment: ";
! 72: if (!shmop_delete($shm_id)) {
! 73: echo "failed\n";
! 74: } else {
! 75: echo "ok\n";
! 76: }
! 77:
! 78: shmop_close($shm_id);
! 79: ?>
! 80: --EXPECT--
! 81: shm open for create: ok
! 82: shm size is: 1024
! 83: shm write test #1: ok
! 84: data in memory is: test #1 of the shmop() extension
! 85: shm open for read only: ok
! 86: data in memory is: test #1 of the shmop() extension
! 87: shmop_write(): trying to write to a read only segment
! 88: shm open for read only: ok
! 89: shm write test #1: ok
! 90: data in memory is: test #1 of the shmop() extensiontest #2 append data to shared memory segment
! 91: deletion of shm segment: ok
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>