tests/hypothesishelpers.py
changeset 27998 84513a4fcc3a
parent 26842 0f76c64f5cc3
child 27999 b30b40804a3f
equal deleted inserted replaced
27997:bc2dd19b9534 27998:84513a4fcc3a
     6 
     6 
     7 import os
     7 import os
     8 import sys
     8 import sys
     9 import traceback
     9 import traceback
    10 
    10 
    11 from hypothesis.settings import set_hypothesis_home_dir
    11 try:
       
    12     # hypothesis 2.x
       
    13     from hypothesis.configuration import set_hypothesis_home_dir
       
    14     from hypothesis import settings
       
    15 except ImportError:
       
    16     # hypothesis 1.x
       
    17     from hypothesis.settings import set_hypothesis_home_dir
       
    18     from hypothesis import Settings as settings
    12 import hypothesis.strategies as st
    19 import hypothesis.strategies as st
    13 from hypothesis import given, Settings
    20 from hypothesis import given
    14 
    21 
    15 # hypothesis store data regarding generate example and code
    22 # hypothesis store data regarding generate example and code
    16 set_hypothesis_home_dir(os.path.join(
    23 set_hypothesis_home_dir(os.path.join(
    17     os.getenv('TESTTMP'), ".hypothesis"
    24     os.getenv('TESTTMP'), ".hypothesis"
    18 ))
    25 ))
    24     def accept(f):
    31     def accept(f):
    25         # Workaround for https://github.com/DRMacIver/hypothesis/issues/206
    32         # Workaround for https://github.com/DRMacIver/hypothesis/issues/206
    26         # Fixed in version 1.13 (released 2015 october 29th)
    33         # Fixed in version 1.13 (released 2015 october 29th)
    27         f.__module__ = '__anon__'
    34         f.__module__ = '__anon__'
    28         try:
    35         try:
    29             given(*args, settings=Settings(max_examples=2000), **kwargs)(f)()
    36             given(*args, settings=settings(max_examples=2000), **kwargs)(f)()
    30         except Exception:
    37         except Exception:
    31             traceback.print_exc(file=sys.stdout)
    38             traceback.print_exc(file=sys.stdout)
    32             sys.exit(1)
    39             sys.exit(1)
    33     return accept
    40     return accept
    34 
    41