Skip to content

Commit

Permalink
Fix multiprocessing
Browse files Browse the repository at this point in the history
  • Loading branch information
hwwhww committed May 24, 2023
1 parent b646c60 commit b8177cf
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions tests/generators/shuffling/main.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from eth_utils import to_tuple
from typing import Iterable
import random

from eth2spec.gen_helpers.gen_base import gen_runner, gen_typing
from eth2spec.test.helpers.typing import PresetBaseName
Expand All @@ -8,6 +8,14 @@
from eth2spec.test.helpers.constants import PHASE0, MINIMAL, MAINNET


def generate_random_bytes(rng=random.Random(5566)):
random_bytes = bytes(rng.randint(0, 255) for _ in range(32))
return random_bytes

# NOTE: somehow the random.Random generated seeds do not have pickle issue.
rng = random.Random(1234)
seeds = [generate_random_bytes(rng) for i in range(30)]

def shuffling_case_fn(spec, seed, count):
yield 'mapping', 'data', {
'seed': '0x' + seed.hex(),
Expand All @@ -20,9 +28,8 @@ def shuffling_case(spec, seed, count):
return f'shuffle_0x{seed.hex()}_{count}', lambda: shuffling_case_fn(spec, seed, count)


@to_tuple
def shuffling_test_cases(spec):
for seed in [spec.hash(seed_init_value.to_bytes(length=4, byteorder='little')) for seed_init_value in range(30)]:
for seed in seeds:
for count in [0, 1, 2, 3, 5, 10, 33, 100, 1000, 9999]:
yield shuffling_case(spec, seed, count)

Expand All @@ -47,11 +54,13 @@ def cases_fn() -> Iterable[gen_typing.TestCase]:
handler_name='core',
suite_name='shuffle',
case_name=case_name,
case_fn=case_fn
case_fn=case_fn,
)

return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)


if __name__ == "__main__":
gen_runner.run_generator("shuffling", [create_provider(MINIMAL), create_provider(MAINNET)])
gen_runner.run_generator("shuffling", [
create_provider(MINIMAL), create_provider(MAINNET)]
)

0 comments on commit b8177cf

Please sign in to comment.