1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
--TEST--
Object free handler must call zend_weakrefs_notify
--FILE--
<?php
$classes = get_declared_classes();
$testedClasses = 0;
foreach ($classes as $class) {
$reflector = new \ReflectionClass($class);
try {
$instance = $reflector->newInstanceWithoutConstructor();
} catch (\Throwable $e) {
continue;
}
$testedClasses++;
$ref = WeakReference::create($instance);
$instance = null;
gc_collect_cycles();
if ($ref->get() !== null) {
printf("free handler of %s did not call zend_weakrefs_notify?\n", $class);
}
}
if ($testedClasses === 0) {
print "Did not test any class\n";
}
?>
==DONE==
--EXPECT--
==DONE==
|