--TEST-- Test error operation of password_hash() with Argon2i and Argon2id --SKIPIF-- --FILE-- 0]); } catch (ValueError $exception) { echo $exception->getMessage() . "\n"; } try { password_hash('test', PASSWORD_ARGON2I, ['time_cost' => 0]); } catch (ValueError $exception) { echo $exception->getMessage() . "\n"; } try { password_hash('test', PASSWORD_ARGON2I, ['threads' => 0]); } catch (ValueError $exception) { echo $exception->getMessage() . "\n"; } try { password_hash('test', PASSWORD_ARGON2ID, ['memory_cost' => 0]); } catch (ValueError $exception) { echo $exception->getMessage() . "\n"; } try { password_hash('test', PASSWORD_ARGON2ID, ['time_cost' => 0]); } catch (ValueError $exception) { echo $exception->getMessage() . "\n"; } try { password_hash('test', PASSWORD_ARGON2ID, ['threads' => 0]); } catch (ValueError $exception) { echo $exception->getMessage() . "\n"; } ?> --EXPECT-- Memory cost is outside of allowed memory range Time cost is outside of allowed time range Invalid number of threads Memory cost is outside of allowed memory range Time cost is outside of allowed time range Invalid number of threads