Viewing File: /opt/alt/tests/alt-php83-pecl-zmq_1.1.3-1.84f0720.el8/tests/libzmq4-sockopt.phpt

--TEST--
Test setting socket options
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (!defined('ZMQ::LIBZMQ_VERSION_MAJOR') || ZMQ::LIBZMQ_VERSION_MAJOR < 4) {
    die ("skip This test is for PHP7 and libzmq version 4.x and up");
}
?>
--FILE--
<?php

$tested = 0;

$removedVersion = false;
/* socket option is marked mode="w" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_ROUTER_MANDATORY") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_ROUTER);

    // Test write-only
    $socket->setSockOpt(ZMQ::SOCKOPT_ROUTER_MANDATORY, $test_value);
    $tested++;

    try {
        $socket->getSockOpt(ZMQ::SOCKOPT_ROUTER_MANDATORY);
        echo "Should not be able to get ZMQ::SOCKOPT_ROUTER_MANDATORY" . PHP_EOL;
    } catch (ZMQSocketException $e) {}

}
$removedVersion = false;
/* socket option is marked mode="w" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_PROBE_ROUTER") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_DEALER);

    // Test write-only
    $socket->setSockOpt(ZMQ::SOCKOPT_PROBE_ROUTER, $test_value);
    $tested++;

    try {
        $socket->getSockOpt(ZMQ::SOCKOPT_PROBE_ROUTER);
        echo "Should not be able to get ZMQ::SOCKOPT_PROBE_ROUTER" . PHP_EOL;
    } catch (ZMQSocketException $e) {}

}
$removedVersion = false;
/* socket option is marked mode="w" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_REQ_RELAXED") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_REQ);

    // Test write-only
    $socket->setSockOpt(ZMQ::SOCKOPT_REQ_RELAXED, $test_value);
    $tested++;

    try {
        $socket->getSockOpt(ZMQ::SOCKOPT_REQ_RELAXED);
        echo "Should not be able to get ZMQ::SOCKOPT_REQ_RELAXED" . PHP_EOL;
    } catch (ZMQSocketException $e) {}

}
$removedVersion = false;
/* socket option is marked mode="w" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_REQ_CORRELATE") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_REQ);

    // Test write-only
    $socket->setSockOpt(ZMQ::SOCKOPT_REQ_CORRELATE, $test_value);
    $tested++;

    try {
        $socket->getSockOpt(ZMQ::SOCKOPT_REQ_CORRELATE);
        echo "Should not be able to get ZMQ::SOCKOPT_REQ_CORRELATE" . PHP_EOL;
    } catch (ZMQSocketException $e) {}

}
$removedVersion = false;
/* socket option is marked mode="w" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_CONFLATE") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_PUSH);

    // Test write-only
    $socket->setSockOpt(ZMQ::SOCKOPT_CONFLATE, $test_value);
    $tested++;

    try {
        $socket->getSockOpt(ZMQ::SOCKOPT_CONFLATE);
        echo "Should not be able to get ZMQ::SOCKOPT_CONFLATE" . PHP_EOL;
    } catch (ZMQSocketException $e) {}

}
$removedVersion = false;
/* socket option is marked mode="rw" type=string php_type=string */
if (defined ("ZMQ::SOCKOPT_ZAP_DOMAIN") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = "test";

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_SUB);

    // Test read-write
    $socket->setSockOpt(ZMQ::SOCKOPT_ZAP_DOMAIN, $test_value);
    $retval = $socket->getSockOpt(ZMQ::SOCKOPT_ZAP_DOMAIN);

    if ($socket->getSockOpt(ZMQ::SOCKOPT_ZAP_DOMAIN) !== $test_value) {
        echo "Failed to set ZMQ::SOCKOPT_ZAP_DOMAIN: expected=[$test_value] actual=[$retval]" . PHP_EOL;
    }
    $tested++;


}
$removedVersion = false;
/* socket option is marked mode="r" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_MECHANISM") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_SUB);

    // Test read-only
    $retval = $socket->getSockOpt(ZMQ::SOCKOPT_MECHANISM);
    if (is_int($retval) === false) {
        echo "Incorrect return type for ZMQ::SOCKOPT_MECHANISM: expected=[int] actual=[" .gettype($retval). "]" . PHP_EOL;
    }
    $tested++;

    try {
        $socket->setSockOpt(ZMQ::SOCKOPT_MECHANISM, 'x');
        echo "Should not be able to set ZMQ::SOCKOPT_MECHANISM" . PHP_EOL;
    } catch (ZMQSocketException $e) {}

}
$removedVersion = false;
/* socket option is marked mode="rw" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_PLAIN_SERVER") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_PUB);

    // Test read-write
    $socket->setSockOpt(ZMQ::SOCKOPT_PLAIN_SERVER, $test_value);
    $retval = $socket->getSockOpt(ZMQ::SOCKOPT_PLAIN_SERVER);

    if ($socket->getSockOpt(ZMQ::SOCKOPT_PLAIN_SERVER) !== $test_value) {
        echo "Failed to set ZMQ::SOCKOPT_PLAIN_SERVER: expected=[$test_value] actual=[$retval]" . PHP_EOL;
    }
    $tested++;


}
$removedVersion = false;
/* socket option is marked mode="rw" type=string php_type=string */
if (defined ("ZMQ::SOCKOPT_PLAIN_USERNAME") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = "test";

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_SUB);

    // Test read-write
    $socket->setSockOpt(ZMQ::SOCKOPT_PLAIN_USERNAME, $test_value);
    $retval = $socket->getSockOpt(ZMQ::SOCKOPT_PLAIN_USERNAME);

    if ($socket->getSockOpt(ZMQ::SOCKOPT_PLAIN_USERNAME) !== $test_value) {
        echo "Failed to set ZMQ::SOCKOPT_PLAIN_USERNAME: expected=[$test_value] actual=[$retval]" . PHP_EOL;
    }
    $tested++;


}
$removedVersion = false;
/* socket option is marked mode="rw" type=string php_type=string */
if (defined ("ZMQ::SOCKOPT_PLAIN_PASSWORD") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = "test";

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_SUB);

    // Test read-write
    $socket->setSockOpt(ZMQ::SOCKOPT_PLAIN_PASSWORD, $test_value);
    $retval = $socket->getSockOpt(ZMQ::SOCKOPT_PLAIN_PASSWORD);

    if ($socket->getSockOpt(ZMQ::SOCKOPT_PLAIN_PASSWORD) !== $test_value) {
        echo "Failed to set ZMQ::SOCKOPT_PLAIN_PASSWORD: expected=[$test_value] actual=[$retval]" . PHP_EOL;
    }
    $tested++;


}
$removedVersion = false;
/* socket option is marked mode="rw" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_IPV6") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_SUB);

    // Test read-write
    $socket->setSockOpt(ZMQ::SOCKOPT_IPV6, $test_value);
    $retval = $socket->getSockOpt(ZMQ::SOCKOPT_IPV6);

    if ($socket->getSockOpt(ZMQ::SOCKOPT_IPV6) !== $test_value) {
        echo "Failed to set ZMQ::SOCKOPT_IPV6: expected=[$test_value] actual=[$retval]" . PHP_EOL;
    }
    $tested++;


}
$removedVersion = false;
/* socket option is marked mode="rw" type=int php_type=int */
if (defined ("ZMQ::SOCKOPT_IMMEDIATE") && ($removedVersion === false || ZMQ::LIBZMQ_VERSION_MAJOR < $removedVersion)) {
    $test_value = 1;

    $socket = ZMQContext::acquire()->getSocket(ZMQ::SOCKET_DEALER);

    // Test read-write
    $socket->setSockOpt(ZMQ::SOCKOPT_IMMEDIATE, $test_value);
    $retval = $socket->getSockOpt(ZMQ::SOCKOPT_IMMEDIATE);

    if ($socket->getSockOpt(ZMQ::SOCKOPT_IMMEDIATE) !== $test_value) {
        echo "Failed to set ZMQ::SOCKOPT_IMMEDIATE: expected=[$test_value] actual=[$retval]" . PHP_EOL;
    }
    $tested++;


}

if ($tested == 0) {
    echo "Did not test any constants" . PHP_EOL;
}
echo "OK";
--EXPECT--
OK

Back to Directory File Manager
<