def test_users_can_call_runner_quit(self): class BaseUser(User): wait_time = constant(0) @task def trigger(self): self.environment.runner.quit() runner = Environment(user_classes=[BaseUser]).create_local_runner() runner.spawn_users(1, 1, wait=False) timeout = gevent.Timeout(0.5) timeout.start() try: runner.greenlet.join() except gevent.Timeout: self.fail("Got Timeout exception, runner must have hung somehow.") finally: timeout.cancel()
def test_kill_locusts(self): triggered = [False] class BaseUser(User): wait_time = constant(1) @task class task_set(TaskSet): @task def trigger(self): triggered[0] = True runner = Environment(user_classes=[BaseUser]).create_local_runner() runner.spawn_users(2, hatch_rate=2, wait=False) self.assertEqual(2, len(runner.user_greenlets)) g1 = list(runner.user_greenlets)[0] g2 = list(runner.user_greenlets)[1] runner.stop_users(2) self.assertEqual(0, len(runner.user_greenlets)) self.assertTrue(g1.dead) self.assertTrue(g2.dead) self.assertTrue(triggered[0])