Skip to content
Snippets Groups Projects
Commit ec17ddecdf64 authored by Siddharth Agarwal's avatar Siddharth Agarwal
Browse files

test-pathencode: randomize length of each path component

This makes it possible for long and short components to exist in the same path.
This also makes shorter path components more likely. For
randint(1, randint(1, n)), the likelihood that one sees a number k
(1 <= k <= n) is 1/n * (\sum_{k=i}^n 1/i). This decreases with k, much like in
the real world where shorter paths are more common than longer ones.

The previous fix and this one together cause issue3958 to be detected by this
test with reasonable frequency. When this test was run 100 times in a loop, the
issue was detected 30 of those times.
parent 9778c77f05d6
No related merge requests found
......@@ -125,7 +125,8 @@
p = pickfrom(rng, firsttable)(rng)
l = len(p)
ps = [p]
while l < k:
maxl = rng.randint(1, k)
while l < maxl:
p = pickfrom(rng, resttable)(rng)
l += len(p)
ps.append(p)
......
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