Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4,134 changes: 15 additions & 4,119 deletions ext/phar/tests/bug13727.phpt

Large diffs are not rendered by default.

96 changes: 22 additions & 74 deletions ext/phar/tests/phar_buildfromiterator10.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,26 @@
Phar::buildFromIterator() RegexIterator(RecursiveIteratorIterator), SplFileInfo as current
--EXTENSIONS--
phar
--CONFLICTS--
all
--INI--
phar.require_hash=0
phar.readonly=0
--FILE--
<?php
try {
chdir(__DIR__);
$input = __DIR__ . '/buildfromiterator10';
mkdir($input);
mkdir($input . '/nested');
file_put_contents($input . '/input_001.phpt', 'first');
file_put_contents($input . '/nested/input_002.phpt', 'second');
file_put_contents($input . '/ignored.txt', 'ignored');

$phar = new Phar(__DIR__ . '/buildfromiterator10.phar');
$dir = new RecursiveDirectoryIterator('.');
$dir = new RecursiveDirectoryIterator($input);
$iter = new RecursiveIteratorIterator($dir);
$a = $phar->buildFromIterator(new RegexIterator($iter, '/_\d{3}\.phpt$/'), __DIR__ . DIRECTORY_SEPARATOR);
$a = $phar->buildFromIterator(
new RegexIterator($iter, '/_\d{3}\.phpt$/'),
$input . DIRECTORY_SEPARATOR,
);
asort($a);
var_dump($a);
} catch (Exception $e) {
Expand All @@ -25,76 +32,17 @@ try {
--CLEAN--
<?php
unlink(__DIR__ . '/buildfromiterator10.phar');
unlink(__DIR__ . '/buildfromiterator10/input_001.phpt');
unlink(__DIR__ . '/buildfromiterator10/nested/input_002.phpt');
unlink(__DIR__ . '/buildfromiterator10/ignored.txt');
rmdir(__DIR__ . '/buildfromiterator10/nested');
rmdir(__DIR__ . '/buildfromiterator10');
__HALT_COMPILER();
?>
--EXPECTF--
array(34) {
["phar_ctx_001.phpt"]=>
string(%d) "%sphar_ctx_001.phpt"
["phar_get_supported_signatures_002.phpt"]=>
string(%d) "%sphar_get_supported_signatures_002.phpt"
["phar_oo_001.phpt"]=>
string(%d) "%sphar_oo_001.phpt"
["phar_oo_002.phpt"]=>
string(%d) "%sphar_oo_002.phpt"
["phar_oo_003.phpt"]=>
string(%d) "%sphar_oo_003.phpt"
["phar_oo_004.phpt"]=>
string(%d) "%sphar_oo_004.phpt"
["phar_oo_005.phpt"]=>
string(%d) "%sphar_oo_005.phpt"
["phar_oo_006.phpt"]=>
string(%d) "%sphar_oo_006.phpt"
["phar_oo_007.phpt"]=>
string(%d) "%sphar_oo_007.phpt"
["phar_oo_008.phpt"]=>
string(%d) "%sphar_oo_008.phpt"
["phar_oo_009.phpt"]=>
string(%d) "%sphar_oo_009.phpt"
["phar_oo_010.phpt"]=>
string(%d) "%sphar_oo_010.phpt"
["phar_oo_011.phpt"]=>
string(%d) "%sphar_oo_011.phpt"
["phar_oo_012.phpt"]=>
string(%d) "%sphar_oo_012.phpt"
["phar_oo_compressed_001.phpt"]=>
string(%d) "%sphar_oo_compressed_001.phpt"
["phar_oo_compressed_002.phpt"]=>
string(%d) "%sphar_oo_compressed_002.phpt"
["phpinfo_001.phpt"]=>
string(%d) "%sphpinfo_001.phpt"
["phpinfo_002.phpt"]=>
string(%d) "%sphpinfo_002.phpt"
["phpinfo_003.phpt"]=>
string(%d) "%sphpinfo_003.phpt"
["phpinfo_004.phpt"]=>
string(%d) "%sphpinfo_004.phpt"
["tar/tar_001.phpt"]=>
string(%d) "%star%ctar_001.phpt"
["tar/tar_002.phpt"]=>
string(%d) "%star%ctar_002.phpt"
["tar/tar_003.phpt"]=>
string(%d) "%star%ctar_003.phpt"
["tar/tar_004.phpt"]=>
string(%d) "%star%ctar_004.phpt"
["zip/corrupt_001.phpt"]=>
string(%d) "%szip%ccorrupt_001.phpt"
["zip/corrupt_002.phpt"]=>
string(%d) "%szip%ccorrupt_002.phpt"
["zip/corrupt_003.phpt"]=>
string(%d) "%szip%ccorrupt_003.phpt"
["zip/corrupt_004.phpt"]=>
string(%d) "%szip%ccorrupt_004.phpt"
["zip/corrupt_005.phpt"]=>
string(%d) "%szip%ccorrupt_005.phpt"
["zip/corrupt_006.phpt"]=>
string(%d) "%szip%ccorrupt_006.phpt"
["zip/corrupt_007.phpt"]=>
string(%d) "%szip%ccorrupt_007.phpt"
["zip/corrupt_008.phpt"]=>
string(%d) "%szip%ccorrupt_008.phpt"
["zip/corrupt_009.phpt"]=>
string(%d) "%szip%ccorrupt_009.phpt"
["zip/corrupt_010.phpt"]=>
string(%d) "%szip%ccorrupt_010.phpt"
array(2) {
["input_001.phpt"]=>
string(%d) "%sbuildfromiterator10%sinput_001.phpt"
["nested/input_002.phpt"]=>
string(%d) "%sbuildfromiterator10%snested%sinput_002.phpt"
}
15 changes: 8 additions & 7 deletions ext/sodium/tests/php_password_hash_argon2i.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ if (!in_array('argon2i', password_algos(), true /* strict */)) {
echo 'Argon2 provider: ';
var_dump(PASSWORD_ARGON2_PROVIDER);

// Interoperability does not depend on using production-strength costs.
foreach([1, 2] as $mem) {
foreach([1, 2] as $time) {
foreach([3, 4] as $time) {
$opts = [
'memory_cost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST * $mem,
'time_cost' => PASSWORD_ARGON2_DEFAULT_TIME_COST * $time,
'memory_cost' => 8 * 1024 * $mem,
'time_cost' => $time,
'threads' => PASSWORD_ARGON2_DEFAULT_THREADS,
];
$password = random_bytes(32);
Expand All @@ -40,18 +41,18 @@ foreach([1, 2] as $mem) {
--EXPECTF--
Argon2 provider: string(%d) "%s"
Using password: string(44) "%s"
Hash: string(96) "$argon2i$v=19$m=65536,t=4,p=1$%s$%s"
Hash: string(95) "$argon2i$v=19$m=8192,t=3,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(96) "$argon2i$v=19$m=65536,t=8,p=1$%s$%s"
Hash: string(95) "$argon2i$v=19$m=8192,t=4,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(97) "$argon2i$v=19$m=131072,t=4,p=1$%s$%s"
Hash: string(96) "$argon2i$v=19$m=16384,t=3,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(97) "$argon2i$v=19$m=131072,t=8,p=1$%s$%s"
Hash: string(96) "$argon2i$v=19$m=16384,t=4,p=1$%s$%s"
bool(true)
bool(false)
13 changes: 7 additions & 6 deletions ext/sodium/tests/php_password_hash_argon2id.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ if (!in_array('argon2id', password_algos(), true /* strict */)) {
echo 'Argon2 provider: ';
var_dump(PASSWORD_ARGON2_PROVIDER);

// Interoperability does not depend on using production-strength costs.
foreach([1, 2] as $mem) {
foreach([1, 2] as $time) {
$opts = [
'memory_cost' => PASSWORD_ARGON2_DEFAULT_MEMORY_COST * $mem,
'time_cost' => PASSWORD_ARGON2_DEFAULT_TIME_COST * $time,
'memory_cost' => 8 * 1024 * $mem,
'time_cost' => $time,
'threads' => PASSWORD_ARGON2_DEFAULT_THREADS,
];
$password = random_bytes(32);
Expand All @@ -40,18 +41,18 @@ foreach([1, 2] as $mem) {
--EXPECTF--
Argon2 provider: string(%d) "%s"
Using password: string(44) "%s"
Hash: string(97) "$argon2id$v=19$m=65536,t=4,p=1$%s$%s"
Hash: string(96) "$argon2id$v=19$m=8192,t=1,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(97) "$argon2id$v=19$m=65536,t=8,p=1$%s$%s"
Hash: string(96) "$argon2id$v=19$m=8192,t=2,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(98) "$argon2id$v=19$m=131072,t=4,p=1$%s$%s"
Hash: string(97) "$argon2id$v=19$m=16384,t=1,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(98) "$argon2id$v=19$m=131072,t=8,p=1$%s$%s"
Hash: string(97) "$argon2id$v=19$m=16384,t=2,p=1$%s$%s"
bool(true)
bool(false)
17 changes: 9 additions & 8 deletions ext/sodium/tests/php_password_verify.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@ if (!in_array($algo, password_algos(), true /* strict */)) {
--FILE--
<?php

// Interoperability does not depend on using production-strength costs.
$opsSet = [
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE,
1,
2,
];
$memSet = [
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE,
8 * 1024,
16 * 1024,
];

echo 'Argon2 provider: ';
Expand All @@ -49,18 +50,18 @@ foreach($opsSet as $ops) {
--EXPECTF--
Argon2 provider: string(%d) "%s"
Using password: string(44) "%s"
Hash: string(97) "$argon2id$v=19$m=65536,t=2,p=1$%s$%s"
Hash: string(93) "$argon2id$v=19$m=8,t=1,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(98) "$argon2id$v=19$m=262144,t=2,p=1$%s$%s"
Hash: string(94) "$argon2id$v=19$m=16,t=1,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(97) "$argon2id$v=19$m=65536,t=3,p=1$%s$%s"
Hash: string(93) "$argon2id$v=19$m=8,t=2,p=1$%s$%s"
bool(true)
bool(false)
Using password: string(44) "%s"
Hash: string(98) "$argon2id$v=19$m=262144,t=3,p=1$%s$%s"
Hash: string(94) "$argon2id$v=19$m=16,t=2,p=1$%s$%s"
bool(true)
bool(false)
14 changes: 11 additions & 3 deletions ext/standard/tests/file/bug22414.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ output_handler=
--FILE--
<?php

$php = getenv('TEST_PHP_EXECUTABLE');
$php_escaped = getenv('TEST_PHP_EXECUTABLE_ESCAPED');
$source = tempnam(__DIR__, 'phpt');
$tmpfile = tempnam(__DIR__, 'phpt');
$args = ' -n ';

Expand All @@ -20,20 +20,28 @@ output_handler=
echo "\n";

/* Binary Data Test */
$cmd = $php_escaped . $args . ' -r ' . escapeshellarg("readfile(@getenv('TEST_PHP_EXECUTABLE'));");
$binaryData = '';
for ($i = 0; $i < 256; $i++) {
$binaryData .= chr($i);
}
file_put_contents($source, str_repeat($binaryData, 1024));
putenv('TEST_PHP_PASSTHRU_SOURCE=' . $source);

$cmd = $php_escaped . $args . ' -r ' . escapeshellarg("readfile(@getenv('TEST_PHP_PASSTHRU_SOURCE'));");
if (substr(PHP_OS, 0, 3) != 'WIN') {
$cmd = $php_escaped . $args . ' -r ' . escapeshellarg('passthru("'.$cmd.'");') . ' > '.escapeshellarg($tmpfile);
} else {
$cmd = $php_escaped . $args . ' -r ' . "\"passthru('".addslashes($cmd)."');\"" . ' > '.escapeshellarg($tmpfile);
}
exec($cmd);

if (md5_file($php) == md5_file($tmpfile)) {
if (md5_file($source) == md5_file($tmpfile)) {
echo "Works\n";
} else {
echo "Does not work\n";
}

@unlink($source);
@unlink($tmpfile);
?>
--EXPECT--
Expand Down
2 changes: 1 addition & 1 deletion ext/standard/tests/password/password_hash.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ $algos = [
];

foreach ($algos as $algo) {
$hash = password_hash("foo", $algo);
$hash = password_hash("foo", $algo, ['cost' => 4]);
var_dump($hash === crypt("foo", $hash));
}

Expand Down
3 changes: 2 additions & 1 deletion ext/standard/tests/password/password_hash_argon2.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ if (!defined('PASSWORD_ARGON2ID')) die('skip password_hash not built with Argon2
<?php

$password = "the password for testing 12345!";
$options = ['memory_cost' => 8, 'time_cost' => 3];

$algos = [
PASSWORD_ARGON2I,
Expand All @@ -19,7 +20,7 @@ $algos = [
3,
];
foreach ($algos as $algo) {
$hash = password_hash($password, $algo);
$hash = password_hash($password, $algo, $options);
var_dump(password_verify($password, $hash));
var_dump(password_get_info($hash)['algo']);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Test removed support for explicit salt option
//-=-=-=-


var_dump(strlen(password_hash("rasmuslerdorf", PASSWORD_BCRYPT, array("cost" => 7, "salt" => "usesomesillystringforsalt"))));
var_dump(strlen(password_hash("rasmuslerdorf", PASSWORD_BCRYPT, array("cost" => 4, "salt" => "usesomesillystringforsalt"))));

var_dump(strlen(password_hash("test", PASSWORD_BCRYPT, array("salt" => "123456789012345678901" . chr(0)))));
var_dump(strlen(password_hash("test", PASSWORD_BCRYPT, array("cost" => 4, "salt" => "123456789012345678901" . chr(0)))));

echo "OK!";
?>
Expand Down
8 changes: 4 additions & 4 deletions ext/standard/tests/strings/crypt_chars.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ crypt() function - characters > 0x80
<?php
var_dump(crypt("À1234abcd", "99"));
var_dump(crypt("À9234abcd", "99"));
var_dump(crypt("À1234abcd", "_01234567"));
var_dump(crypt("À9234abcd", "_01234567"));
var_dump(crypt("À1234abcd", "_J9..4567"));
var_dump(crypt("À9234abcd", "_J9..4567"));
?>
--EXPECT--
string(13) "99PxawtsTfX56"
string(13) "99jcVcGxUZOWk"
string(20) "_01234567IBjxKliXXRQ"
string(20) "_012345678OSGpGQRVHA"
string(20) "_J9..4567q0YG9xIr3M6"
string(20) "_J9..4567xcl/AKtT5rI"
Loading