HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //usr/share/pear/test/memcache/tests/100b.phpt
--TEST--
memcache->flush() with time in future
--SKIPIF--
<?php include 'connect.inc'; if (ini_get('memcache.protocol') == 'binary') die('skip binary protocol doesn\'t support append/prepend'); ?>
--FILE--
<?php

// This test must be run last or some concurrency problems will occur
// since the "flush_all" seems to be done async and therefore will 
// affect subsequent calls to set() done with a second or so.

include 'connect.inc';

// Test flush in future
$memcache = new Memcache();
$memcache->addServer($host, $port);

$result1 = $memcache->set('test_key', 'abc');
$result2 = $memcache->get('test_key');
var_dump($result1);
var_dump($result2);

$result = $memcache->flush(time()+3);
var_dump($result);

sleep(1);

$result = $memcache->get('test_key');
var_dump($result);

sleep(2);

$result = $memcache->get('test_key');
var_dump($result);

// Test partly failing flush
$memcache = new Memcache();
$memcache->addServer($host, $port);
$memcache->addServer($nonExistingHost, $nonExistingPort);

$result = @$memcache->flush();
var_dump($result);

// Test failing flush
$memcache = new Memcache();
$memcache->addServer($nonExistingHost, $nonExistingPort);

$result = @$memcache->flush();
var_dump($result);

?>
--EXPECT--
bool(true)
string(3) "abc"
bool(true)
string(3) "abc"
bool(false)
bool(false)
bool(false)