How to use stop_example method in hypothesis

Best Python code snippet using hypothesis

tstl_hypothesis.py

Source: tstl_hypothesis.py Github

copy

Full Screen

...46 while True:47 data.start_example(CHOICE)48 i = data.draw_bits(n_bits)49 if i >= n:50 data.stop_example(discard=True)51 continue52 data.stop_example()53 return i54FILTERED_ACTIONS = calc_label_from_name("FILTERED ACTIONS")55@click.group()56@click.option('--sut-file')57@click.option('--log-file')58@click.option('--seed')59@click.option('--n-steps')60@click.pass_context61def tstl(ctx, sut_file, log_file, seed, n_steps):62 eng.BUFFER_SIZE = 10 ** 663 eng.MAX_SHRINKS = 10 ** 664 with open(sut_file) as i:65 source = i.read()66 exec_globals = {}67 exec(source, exec_globals)68 sut_class = exec_globals["sut"]69 seed = int(seed)70 n_steps = int(n_steps)71 def run_tstl(data):72 data.extra_information.tstl_steps = getattr(data, 'tstl_steps', [])73 run_checks = False74 count = 075 sut = sut_class()76 sut.restart()77 random.seed(0)78 actions = list(sut.actions())79 actions.sort(key=lambda t: t[0])80 while True:81 # We draw a value which in normal random mode will almost never be82 # zero, but when we are shrinking can be easily turned into a zero.83 data.start_example(STEP_LABEL)84 if count >= n_steps:85 should_continue = data.draw_bits(64, forced=0)86 else:87 should_continue = data.draw_bits(64)88 if not should_continue:89 data.stop_example()90 break91 count_discarded = data.draw_bits(64) == 092 count += 193 if count_discarded:94 data.start_example(CHOICE)95 i = choice(data, len(actions))96 _, guard, _ = actions[i]97 if not guard():98 data.stop_example(discard=False)99 continue100 else:101 data.stop_example(discard=False)102 else:103 for _ in range(3):104 data.start_example(CHOICE)105 i = choice(data, len(actions))106 _, guard, _ = actions[i]107 succeeded = guard()108 data.stop_example(discard=not succeeded)109 if succeeded:110 break111 else:112 data.start_example(FILTERED_ACTIONS)113 valid_actions = [i for i in range(len(actions)) if actions[i][1]()]114 if not valid_actions:115 data.mark_invalid()116 j = choice(data, len(valid_actions))117 i = valid_actions[j]118 data.stop_example(discard=True)119 data.draw_bits(len(actions).bit_length(), forced=i)120 name, guard, action = actions[i]121 assert guard()122 data.stop_example()123 data.extra_information.tstl_steps.append(name)124 failure = None125 try:126 with timeout(5):127 action()128 if run_checks and not sut.check():129 failure = sut.failure()130 except TimeoutExpired:131 data.mark_invalid()132 # FIXME: Sympy specific hack133 except RecursionError:134 data.mark_invalid()135 except StopTest:136 raise...

Full Screen

Full Screen

collections.py

Source: collections.py Github

copy

Full Screen

...84 while len(result) < self.max_size:85 data.start_example()86 more = cu.biased_coin(data, stopping_value)87 if not more:88 data.stop_example()89 if len(result) < self.min_size:90 continue91 else:92 break93 value = data.draw(self.element_strategy)94 data.stop_example()95 result.append(value)96 else:97 cu.write(data, b'\0')98 return result99 def __repr__(self):100 return (101 'ListStrategy(%r, min_size=%r, average_size=%r, max_size=%r)'102 ) % (103 self.element_strategy, self.min_size, self.average_length,104 self.max_size105 )106class UniqueListStrategy(SearchStrategy):107 def __init__(108 self,109 elements, min_size, max_size, average_size,110 key111 ):112 super(UniqueListStrategy, self).__init__()113 assert min_size <= average_size <= max_size114 self.min_size = min_size115 self.max_size = max_size116 self.average_size = average_size117 self.element_strategy = elements118 self.key = key119 def validate(self):120 self.element_strategy.validate()121 Parameter = namedtuple(122 'Parameter', ('parameter_seed', 'parameter')123 )124 def do_draw(self, data):125 seen = set()126 result = []127 if self.max_size == self.min_size:128 while len(result) < self.max_size:129 v = data.draw(self.element_strategy)130 k = self.key(v)131 if k not in seen:132 result.append(v)133 seen.add(k)134 return result135 stopping_value = 1 - 1.0 /​ (1 + self.average_size)136 duplicates = 0137 while len(result) < self.max_size:138 data.start_example()139 if len(result) >= self.min_size:140 more = cu.biased_coin(data, stopping_value)141 else:142 more = True143 if not more:144 data.stop_example()145 break146 value = data.draw(self.element_strategy)147 data.stop_example()148 k = self.key(value)149 if k in seen:150 duplicates += 1151 assume(duplicates <= len(result))152 continue153 seen.add(k)154 result.append(value)155 assume(len(result) >= self.min_size)156 return result157class FixedKeysDictStrategy(MappedSearchStrategy):158 """A strategy which produces dicts with a fixed set of keys, given a159 strategy for each of their equivalent values.160 e.g. {'foo' : some_int_strategy} would161 generate dicts with the single key 'foo' mapping to some integer....

Full Screen

Full Screen

Blogs

Check out the latest blogs from LambdaTest on this topic:

Joomla Testing Guide: How To Test Joomla Websites

Before we discuss the Joomla testing, let us understand the fundamentals of Joomla and how this content management system allows you to create and maintain web-based applications or websites without having to write and implement complex coding requirements.

Now Log Bugs Using LambdaTest and DevRev

In today’s world, an organization’s most valuable resource is its customers. However, acquiring new customers in an increasingly competitive marketplace can be challenging while maintaining a strong bond with existing clients. Implementing a customer relationship management (CRM) system will allow your organization to keep track of important customer information. This will enable you to market your services and products to these customers better.

Why Agile Teams Have to Understand How to Analyze and Make adjustments

How do we acquire knowledge? This is one of the seemingly basic but critical questions you and your team members must ask and consider. We are experts; therefore, we understand why we study and what we should learn. However, many of us do not give enough thought to how we learn.

27 Best Website Testing Tools In 2022

Testing is a critical step in any web application development process. However, it can be an overwhelming task if you don’t have the right tools and expertise. A large percentage of websites still launch with errors that frustrate users and negatively affect the overall success of the site. When a website faces failure after launch, it costs time and money to fix.

11 Best Mobile Automation Testing Tools In 2022

Mobile application development is on the rise like never before, and it proportionally invites the need to perform thorough testing with the right mobile testing strategies. The strategies majorly involve the usage of various mobile automation testing tools. Mobile testing tools help businesses automate their application testing and cut down the extra cost, time, and chances of human error.

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run hypothesis automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful