$salt = 'salt';
echo "\n-- Testing hash_pbkdf2() function with less than expected no. of arguments --\n";
-var_dump(@hash_pbkdf2());
-echo $php_errormsg . "\n";
-var_dump(@hash_pbkdf2('md5'));
-echo $php_errormsg . "\n";
-var_dump(@hash_pbkdf2('md5', $password));
-echo $php_errormsg . "\n";
-var_dump(@hash_pbkdf2('md5', $password, $salt));
-echo $php_errormsg . "\n";
+var_dump(hash_pbkdf2());
+var_dump(hash_pbkdf2('md5'));
+var_dump(hash_pbkdf2('md5', $password));
+var_dump(hash_pbkdf2('md5', $password, $salt));
echo "\n-- Testing hash_pbkdf2() function with more than expected no. of arguments --\n";
-var_dump(@hash_pbkdf2('md5', $password, $salt, 10, 10, true, 'extra arg'));
-echo $php_errormsg . "\n";
+var_dump(hash_pbkdf2('md5', $password, $salt, 10, 10, true, 'extra arg'));
echo "\n-- Testing hash_pbkdf2() function with invalid hash algorithm --\n";
-var_dump(@hash_pbkdf2('foo', $password, $salt, 1));
-echo $php_errormsg . "\n";
+var_dump(hash_pbkdf2('foo', $password, $salt, 1));
echo "\n-- Testing hash_pbkdf2() function with non-cryptographic hash algorithm --\n";
-var_dump(@hash_pbkdf2('crc32', $password, $salt, 1));
-echo $php_errormsg . "\n";
+var_dump(hash_pbkdf2('crc32', $password, $salt, 1));
echo "\n-- Testing hash_pbkdf2() function with invalid iterations --\n";
-var_dump(@hash_pbkdf2('md5', $password, $salt, 0));
-echo $php_errormsg . "\n";
-var_dump(@hash_pbkdf2('md5', $password, $salt, -1));
-echo $php_errormsg . "\n";
+var_dump(hash_pbkdf2('md5', $password, $salt, 0));
+var_dump(hash_pbkdf2('md5', $password, $salt, -1));
echo "\n-- Testing hash_pbkdf2() function with invalid length --\n";
-var_dump(@hash_pbkdf2('md5', $password, $salt, 1, -1));
-echo $php_errormsg . "\n\n";
+var_dump(hash_pbkdf2('md5', $password, $salt, 1, -1));
?>
===Done===
---EXPECT--
+--EXPECTF--
*** Testing hash_pbkdf2() : error conditions ***
-- Testing hash_pbkdf2() function with less than expected no. of arguments --
+
+Warning: hash_pbkdf2() expects at least 4 parameters, 0 given in %s on line %d
NULL
-hash_pbkdf2() expects at least 4 parameters, 0 given
+
+Warning: hash_pbkdf2() expects at least 4 parameters, 1 given in %s on line %d
NULL
-hash_pbkdf2() expects at least 4 parameters, 1 given
+
+Warning: hash_pbkdf2() expects at least 4 parameters, 2 given in %s on line %d
NULL
-hash_pbkdf2() expects at least 4 parameters, 2 given
+
+Warning: hash_pbkdf2() expects at least 4 parameters, 3 given in %s on line %d
NULL
-hash_pbkdf2() expects at least 4 parameters, 3 given
-- Testing hash_pbkdf2() function with more than expected no. of arguments --
+
+Warning: hash_pbkdf2() expects at most 6 parameters, 7 given in %s on line %d
NULL
-hash_pbkdf2() expects at most 6 parameters, 7 given
-- Testing hash_pbkdf2() function with invalid hash algorithm --
+
+Warning: hash_pbkdf2(): Unknown hashing algorithm: foo in %s on line %d
bool(false)
-hash_pbkdf2(): Unknown hashing algorithm: foo
-- Testing hash_pbkdf2() function with non-cryptographic hash algorithm --
+
+Warning: hash_pbkdf2(): Non-cryptographic hashing algorithm: crc32 in %s on line %d
bool(false)
-hash_pbkdf2(): Non-cryptographic hashing algorithm: crc32
-- Testing hash_pbkdf2() function with invalid iterations --
+
+Warning: hash_pbkdf2(): Iterations must be a positive integer: 0 in %s on line %d
bool(false)
-hash_pbkdf2(): Iterations must be a positive integer: 0
+
+Warning: hash_pbkdf2(): Iterations must be a positive integer: -1 in %s on line %d
bool(false)
-hash_pbkdf2(): Iterations must be a positive integer: -1
-- Testing hash_pbkdf2() function with invalid length --
-bool(false)
-hash_pbkdf2(): Length must be greater than or equal to 0: -1
+Warning: hash_pbkdf2(): Length must be greater than or equal to 0: -1 in %s on line %d
+bool(false)
===Done===