// helper function to check openssl errors
function expect_openssl_errors($name, $expected_error_codes) {
$expected_errors = array_fill_keys($expected_error_codes, false);
+ $unexpected_errors = array();
while (($error_string = openssl_error_string()) !== false) {
if (preg_match(",.+:([0-9A-F]+):.+,", $error_string, $m) > 0) {
$error_code = $m[1];
if (isset($expected_errors[$error_code])) {
$expected_errors[$error_code] = true;
}
- }
+ } else {
+ $unexpected_errors[] = $error_string;
+ }
}
$fail = false;
if (!$fail) {
echo "$name: ok\n";
+ } else {
+ echo "$name: unexpected errors\n";
+ foreach ($unexpected_errors as $e) {
+ echo "'$e'\n";
+ }
}
}