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>