Skip to content
Snippets Groups Projects
Unverified Commit ec9ec946 authored by Alexander Turenko's avatar Alexander Turenko
Browse files

Add test case for fiber safety of digest.pbkdf2

Follows up #3396.
parent 06ec3d50
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,9 @@ test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua:<line>\"]: '") ...@@ -5,6 +5,9 @@ test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua:<line>\"]: '")
--- ---
- true - true
... ...
fiber = require('fiber')
---
...
digest = require('digest') digest = require('digest')
--- ---
... ...
...@@ -576,3 +579,60 @@ test_run:cmd("clear filter") ...@@ -576,3 +579,60 @@ test_run:cmd("clear filter")
--- ---
- true - true
... ...
-- gh-3396: fiber-safe pbkdf2
res = {}
---
...
sentry = fiber.channel()
---
...
_ = test_run:cmd("setopt delimiter ';'")
---
...
function test_pbkdf2()
local digest = require('digest')
for i = 1, 10 do
table.insert(res, digest.pbkdf2('', 'salt', 100, 32):hex())
end
sentry:put(fiber.id())
end;
---
...
_ = test_run:cmd("setopt delimiter ''");
---
...
_ = fiber.create(test_pbkdf2)
---
...
_ = fiber.create(test_pbkdf2)
---
...
_ = sentry:get()
---
...
_ = sentry:get()
---
...
res
---
- - bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
- bafac115a0022b2894f2983b5b5102455bdd3ba7cfbeb09f219a9fde8f3ee6a9
...
test_run = require('test_run').new() test_run = require('test_run').new()
test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua:<line>\"]: '") test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua:<line>\"]: '")
fiber = require('fiber')
digest = require('digest') digest = require('digest')
type(digest) type(digest)
...@@ -184,3 +185,21 @@ s ...@@ -184,3 +185,21 @@ s
err:match("number") err:match("number")
digest = nil digest = nil
test_run:cmd("clear filter") test_run:cmd("clear filter")
-- gh-3396: fiber-safe pbkdf2
res = {}
sentry = fiber.channel()
_ = test_run:cmd("setopt delimiter ';'")
function test_pbkdf2()
local digest = require('digest')
for i = 1, 10 do
table.insert(res, digest.pbkdf2('', 'salt', 100, 32):hex())
end
sentry:put(fiber.id())
end;
_ = test_run:cmd("setopt delimiter ''");
_ = fiber.create(test_pbkdf2)
_ = fiber.create(test_pbkdf2)
_ = sentry:get()
_ = sentry:get()
res
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment