Annotation of embedaddon/php/ext/shmop/tests/001.phpt, revision 1.1.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>