Phive\Queue\Tests\Queue\SysVQueueTest::testPushPopPerformance PHP Method

testPushPopPerformance() public method

public testPushPopPerformance ( $delay )
    public function testPushPopPerformance($delay)
    {
        exec('sysctl kernel.msgmnb 2> /dev/null', $output);
        if (!$output) {
            $this->markTestSkipped('Unable to determine the maximum size of the System V queue.');
        }
        $maxSizeInBytes = (int) str_replace('kernel.msgmnb = ', '', $output[0]);
        $queueSize = static::getPerformanceQueueSize();
        $itemLength = static::getPerformanceItemLength();
        if ($itemLength * $queueSize > $maxSizeInBytes) {
            $this->markTestSkipped(sprintf('The System V queue size is too small (%d bytes) to run this test. ' . 'Try to decrease the "PHIVE_PERF_QUEUE_SIZE" environment variable to %d.', $maxSizeInBytes, floor($maxSizeInBytes / $itemLength)));
        }
        self::baseTestPushPopPerformance($delay);
    }