locust 2.26.0__py3-none-any.whl → 2.26.1.dev12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- locust/_version.py +2 -2
- locust/dispatch.py +2 -4
- locust/input_events.py +1 -1
- locust/main.py +1 -1
- locust/rpc/protocol.py +1 -1
- locust/runners.py +4 -4
- locust/test/mock_locustfile.py +0 -2
- locust/test/test_dispatch.py +1 -1
- locust/test/test_main.py +1 -1
- locust/test/test_runners.py +1 -1
- locust/test/test_stats.py +1 -1
- locust/web.py +1 -1
- {locust-2.26.0.dist-info → locust-2.26.1.dev12.dist-info}/METADATA +1 -1
- {locust-2.26.0.dist-info → locust-2.26.1.dev12.dist-info}/RECORD +18 -18
- {locust-2.26.0.dist-info → locust-2.26.1.dev12.dist-info}/LICENSE +0 -0
- {locust-2.26.0.dist-info → locust-2.26.1.dev12.dist-info}/WHEEL +0 -0
- {locust-2.26.0.dist-info → locust-2.26.1.dev12.dist-info}/entry_points.txt +0 -0
- {locust-2.26.0.dist-info → locust-2.26.1.dev12.dist-info}/top_level.txt +0 -0
locust/_version.py
CHANGED
@@ -12,5 +12,5 @@ __version__: str
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
13
13
|
version_tuple: VERSION_TUPLE
|
14
14
|
|
15
|
-
__version__ = version = '2.26.
|
16
|
-
__version_tuple__ = version_tuple = (2, 26,
|
15
|
+
__version__ = version = '2.26.1.dev12'
|
16
|
+
__version_tuple__ = version_tuple = (2, 26, 1, 'dev12')
|
locust/dispatch.py
CHANGED
@@ -100,8 +100,7 @@ class UsersDispatcher(Iterator):
|
|
100
100
|
self._no_user_to_spawn = False
|
101
101
|
|
102
102
|
def get_current_user_count(self) -> int:
|
103
|
-
|
104
|
-
return sum(map(sum, map(dict.values, self._users_on_workers.values()))) # type: ignore
|
103
|
+
return sum(map(sum, map(dict.values, self._users_on_workers.values())))
|
105
104
|
|
106
105
|
@property
|
107
106
|
def dispatch_in_progress(self):
|
@@ -449,5 +448,4 @@ class UsersDispatcher(Iterator):
|
|
449
448
|
The implementation was profiled and compared to other implementations such as dict-comprehensions
|
450
449
|
and the one below is the most efficient.
|
451
450
|
"""
|
452
|
-
|
453
|
-
return dict(zip(users_on_workers.keys(), map(dict.copy, users_on_workers.values()))) # type: ignore
|
451
|
+
return dict(zip(users_on_workers.keys(), map(dict.copy, users_on_workers.values())))
|
locust/input_events.py
CHANGED
@@ -56,7 +56,7 @@ class WindowsKeyPoller:
|
|
56
56
|
self.cur_keys_length = 0
|
57
57
|
self.captured_chars = []
|
58
58
|
except pywintypes.error:
|
59
|
-
raise InitError("Terminal says its a tty but we
|
59
|
+
raise InitError("Terminal says its a tty but we couldn't enable line input. Keyboard input disabled.")
|
60
60
|
else:
|
61
61
|
raise InitError("Terminal was not a tty. Keyboard input disabled")
|
62
62
|
|
locust/main.py
CHANGED
@@ -220,7 +220,7 @@ def main():
|
|
220
220
|
children.append(child_pid)
|
221
221
|
logging.debug(f"Started child worker with pid #{child_pid}")
|
222
222
|
else:
|
223
|
-
# child is always a worker, even when it
|
223
|
+
# child is always a worker, even when it wasn't set on command line
|
224
224
|
options.worker = True
|
225
225
|
# remove options that dont make sense on worker
|
226
226
|
options.run_time = None
|
locust/rpc/protocol.py
CHANGED
locust/runners.py
CHANGED
@@ -345,10 +345,10 @@ class Runner:
|
|
345
345
|
return
|
346
346
|
elif self.shape_last_tick != current_tick:
|
347
347
|
if len(current_tick) == 2:
|
348
|
-
user_count, spawn_rate = current_tick
|
348
|
+
user_count, spawn_rate = current_tick
|
349
349
|
user_classes = None
|
350
350
|
else:
|
351
|
-
user_count, spawn_rate, user_classes = current_tick
|
351
|
+
user_count, spawn_rate, user_classes = current_tick
|
352
352
|
logger.info("Shape test updating to %d users at %.2f spawn rate" % (user_count, spawn_rate))
|
353
353
|
# TODO: This `self.start()` call is blocking until the ramp-up is completed. This can leads
|
354
354
|
# to unexpected behaviours such as the one in the following example:
|
@@ -378,7 +378,7 @@ class Runner:
|
|
378
378
|
caller = inspect.getframeinfo(inspect.stack()[1][0])
|
379
379
|
logger.debug(f"Stopping all users (called from {caller.filename}:{caller.lineno})")
|
380
380
|
except Exception:
|
381
|
-
logger.debug("Stopping all users (
|
381
|
+
logger.debug("Stopping all users (couldn't determine where stop() was called from)")
|
382
382
|
self.environment.events.test_stopping.fire(environment=self.environment)
|
383
383
|
self.final_user_classes_count = {**self.user_classes_count}
|
384
384
|
self.update_state(STATE_CLEANUP)
|
@@ -1453,7 +1453,7 @@ class WorkerRunner(DistributedRunner):
|
|
1453
1453
|
|
1454
1454
|
|
1455
1455
|
def _format_user_classes_count_for_log(user_classes_count: dict[str, int]) -> str:
|
1456
|
-
return "{} ({} total users)".format(
|
1456
|
+
return "{} ({} total users)".format( # noqa: UP032
|
1457
1457
|
json.dumps(dict(sorted(user_classes_count.items(), key=itemgetter(0)))),
|
1458
1458
|
sum(user_classes_count.values()),
|
1459
1459
|
)
|
locust/test/mock_locustfile.py
CHANGED
locust/test/test_dispatch.py
CHANGED
@@ -4129,7 +4129,7 @@ def _aggregate_dispatched_users(d: dict[str, dict[str, int]]) -> dict[str, int]:
|
|
4129
4129
|
|
4130
4130
|
|
4131
4131
|
def _user_count(d: dict[str, dict[str, int]]) -> int:
|
4132
|
-
return sum(map(sum, map(dict.values, d.values())))
|
4132
|
+
return sum(map(sum, map(dict.values, d.values())))
|
4133
4133
|
|
4134
4134
|
|
4135
4135
|
def _user_count_on_worker(d: dict[str, dict[str, int]], worker_node_id: str) -> int:
|
locust/test/test_main.py
CHANGED
@@ -832,7 +832,7 @@ class StandaloneIntegrationTests(ProcessIntegrationTest):
|
|
832
832
|
def test_web_options(self):
|
833
833
|
port = get_free_tcp_port()
|
834
834
|
if platform.system() != "Darwin":
|
835
|
-
# MacOS only sets up the loopback interface for 127.0.0.1 and not for 127.*.*.*, so we
|
835
|
+
# MacOS only sets up the loopback interface for 127.0.0.1 and not for 127.*.*.*, so we can't test this
|
836
836
|
with mock_locustfile() as mocked:
|
837
837
|
proc = subprocess.Popen(
|
838
838
|
["locust", "-f", mocked.file_path, "--web-host", "127.0.0.2", "--web-port", str(port)],
|
locust/test/test_runners.py
CHANGED
@@ -3214,7 +3214,7 @@ class TestMasterRunner(LocustRunnerTestCase):
|
|
3214
3214
|
|
3215
3215
|
def test_worker_sends_unrecognized_message_to_master(self):
|
3216
3216
|
"""
|
3217
|
-
Validate master ignores message from worker when it cannot parse
|
3217
|
+
Validate master ignores message from worker when it cannot parse address info.
|
3218
3218
|
"""
|
3219
3219
|
|
3220
3220
|
class TestUser(User):
|
locust/test/test_stats.py
CHANGED
@@ -367,7 +367,7 @@ class TestStatsPrinting(LocustTestCase):
|
|
367
367
|
headlines = info[1].replace("# ", "#").split()
|
368
368
|
# check number of columns in headlines vs table ascii separator
|
369
369
|
self.assertEqual(len(headlines), len(info[2].split("|")))
|
370
|
-
# table ascii
|
370
|
+
# table ascii separators
|
371
371
|
self.assertEqual(info[2], info[-2])
|
372
372
|
|
373
373
|
|
locust/web.py
CHANGED
@@ -147,7 +147,7 @@ class WebUI:
|
|
147
147
|
def handle_exception(error):
|
148
148
|
error_message = str(error)
|
149
149
|
logger.log(logging.CRITICAL, error_message)
|
150
|
-
return make_response(error_message, 500)
|
150
|
+
return make_response(error_message, getattr(error, "code", 500))
|
151
151
|
|
152
152
|
@app.route("/assets/<path:path>")
|
153
153
|
def send_assets(path):
|
@@ -1,26 +1,26 @@
|
|
1
1
|
locust/__init__.py,sha256=g6oA-Ba_hs3gLWVf5MKJ1mvfltI8MFnDWG8qslqm8yg,1402
|
2
2
|
locust/__main__.py,sha256=vBQ82334kX06ImDbFlPFgiBRiLIinwNk3z8Khs6hd74,31
|
3
|
-
locust/_version.py,sha256=
|
3
|
+
locust/_version.py,sha256=d5x8sIxDmK_FfYc7v1nWZxBAlYE7NjMqT8O7500yZ0M,428
|
4
4
|
locust/argument_parser.py,sha256=gOyB1rqEEFNVkhGa-oAuCxf573aB_lATSY9w6FlCbHk,32008
|
5
5
|
locust/clients.py,sha256=-vKHkTkUQwYUXUpuROvHdiAbSbOPY8s4V7xFDF5KU1A,14819
|
6
6
|
locust/debug.py,sha256=We6Z9W0btkKSc7PxWmrZx-xMynvOOsKhG6jmDgQin0g,5134
|
7
|
-
locust/dispatch.py,sha256=
|
7
|
+
locust/dispatch.py,sha256=S2pAMOlbadOrtMTLTDkq1Pvqes3HVUdZl-K5SDss6ig,19313
|
8
8
|
locust/env.py,sha256=nd6ui1bv6n-kkLkP3r61ZkskDY627dsKOAkYHhtOW7o,12472
|
9
9
|
locust/event.py,sha256=xgNKbcejxy1TNUfIdgV75KgD2_BOwQmvjrJ4hWuydRw,7740
|
10
10
|
locust/exception.py,sha256=jGgJ32ubuf4pWdlaVOkbh2Y0LlG0_DHi-lv3ib8ppOE,1791
|
11
11
|
locust/html.py,sha256=IrOYxmmowzcO96c9fytzR4U0lifTJyMTA7Rd96WOXkk,5708
|
12
|
-
locust/input_events.py,sha256=
|
12
|
+
locust/input_events.py,sha256=VQIrgXaoph3JgLo6REKtPBThEPUXYXG5Kcedly5aRYc,3272
|
13
13
|
locust/log.py,sha256=2IVp9YL4ZPfWdj3sBFuOHfgneg3g7m7tUGR-sy2s3E8,3155
|
14
|
-
locust/main.py,sha256=
|
14
|
+
locust/main.py,sha256=x13sHQJ1jQF5ughPlOTCrSwJ-J1dWW2LadbHDgp3x5I,28195
|
15
15
|
locust/py.typed,sha256=gkWLl8yD4mIZnNYYAIRM8g9VarLvWmTAFeUfEbxJLBw,65
|
16
|
-
locust/runners.py,sha256=
|
16
|
+
locust/runners.py,sha256=7qJE6cHETFEOo7kr0vo_PN3bdfOIw-fbKrc2aPPrjKw,67954
|
17
17
|
locust/shape.py,sha256=t-lwBS8LOjWcKXNL7j2U3zroIXJ1b0fazUwpRYQOKXw,1973
|
18
18
|
locust/stats.py,sha256=l2cxxVre8dvA4MIOD_ZKNj_fYySz5gTGC2f9Rc4-CL0,46134
|
19
|
-
locust/web.py,sha256=
|
19
|
+
locust/web.py,sha256=kksgNTSK7dxX4dXzXPL1HseJhsuKue4wo0rmn8H4dQU,28269
|
20
20
|
locust/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
21
|
locust/contrib/fasthttp.py,sha256=B_VofSuvb9cehQxlUZnLVvYAr2AquedxeALua4mVOuM,26749
|
22
22
|
locust/rpc/__init__.py,sha256=nVGoHWFQxZjnhCDWjbgXIbmFbN9sizAjkhvSs9_642c,58
|
23
|
-
locust/rpc/protocol.py,sha256=
|
23
|
+
locust/rpc/protocol.py,sha256=n-rb3GZQcAlldYDj4E4GuFGylYj_26GSS5U29meft5Y,1282
|
24
24
|
locust/rpc/zmqrpc.py,sha256=7DLIXzkQr7992zmZwAqNgcqzm7LOQAOQtz0tUGv5-Gg,2637
|
25
25
|
locust/static/chart.js,sha256=Aue4SxJZhv9I3k0Nr2uXTrdrLxsrX7x_a0d4u3a1e_Q,4796
|
26
26
|
locust/static/echarts.common.min.js,sha256=2h6zIZeHk-eGAiC-qYvxv7uW5S1HcyM72K5FbcVhky4,620458
|
@@ -50,10 +50,10 @@ locust/templates/stats_data.html,sha256=MoBvJE41VtG3eriHkP4qWgQs3QNTsFTvS03aCenh
|
|
50
50
|
locust/test/__init__.py,sha256=CaVC4yA4DnCO8EY3LbedPHFg86a9Lqlpe92JuiX3THw,396
|
51
51
|
locust/test/fake_module1_for_env_test.py,sha256=dzGYWCr1SSkd8Yyo68paUNrCNW7YY_QgjRb7sM37gG0,164
|
52
52
|
locust/test/fake_module2_for_env_test.py,sha256=dzGYWCr1SSkd8Yyo68paUNrCNW7YY_QgjRb7sM37gG0,164
|
53
|
-
locust/test/mock_locustfile.py,sha256=
|
53
|
+
locust/test/mock_locustfile.py,sha256=4xgoAYlhvdIBjGsLFFN0abpTNM7k12iSkrfTPUQhAMQ,1271
|
54
54
|
locust/test/mock_logging.py,sha256=qapKrKhTdlVc8foJB2Hxjn7SB6soaLeAj3VF4A6kZtw,806
|
55
55
|
locust/test/test_debugging.py,sha256=omQ0w5_Xh1xuTBzkd3VavEIircwtlmoOEHcMInY67vU,1053
|
56
|
-
locust/test/test_dispatch.py,sha256=
|
56
|
+
locust/test/test_dispatch.py,sha256=CIO10mC0FL8FjubV0jNZfd3q8EFQdZhLlm4QnN7HbPs,167754
|
57
57
|
locust/test/test_env.py,sha256=l0fLl9nubdgzxwFNajmBkJvQc5cO5rOTE4p12lbCbs0,8919
|
58
58
|
locust/test/test_fasthttp.py,sha256=jVA5wWjZxXYW6emzy-lfPC0AOabzT6rDCX0N7DPP9mc,30727
|
59
59
|
locust/test/test_http.py,sha256=VQCVY0inLC0RS-V3E9WHL3vBLGokZjQt0zKSrTNlQmM,12536
|
@@ -61,12 +61,12 @@ locust/test/test_interruptable_task.py,sha256=LZKSV-aJNnwfvAxguz6SckBEuGEnfGimoI
|
|
61
61
|
locust/test/test_load_locustfile.py,sha256=v-muHoM-CYu8t7DXm4AQtFP2q8RYfnTTUBqj7uVqhig,8494
|
62
62
|
locust/test/test_locust_class.py,sha256=oGhhOX848jHRQnIfFlhLlW-kHGYLyYsfDX8hM07Ro7g,25506
|
63
63
|
locust/test/test_log.py,sha256=YPY6vgTAy1KaNU2qoVvQrTH5x_mzRrljEHrkSBy3yxs,7553
|
64
|
-
locust/test/test_main.py,sha256=
|
64
|
+
locust/test/test_main.py,sha256=LOVES_hyNs9kftr9WYRIn6SrfeonAZC7lK4WWJHZOyM,83554
|
65
65
|
locust/test/test_old_wait_api.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
66
66
|
locust/test/test_parser.py,sha256=R2RATAHVC1n4gRYZyRD3yO5P9QMFbruZ3A4dwaw8Up0,18287
|
67
|
-
locust/test/test_runners.py,sha256=
|
67
|
+
locust/test/test_runners.py,sha256=6FPd-3Glp5_xtVIE8yCHDonM0aYJ0A6He5KSxuWOk34,159381
|
68
68
|
locust/test/test_sequential_taskset.py,sha256=QjVMWWfGHn9hU5AvPxRDU7Vo5DcVW1VkMVfDA0k9OPE,3398
|
69
|
-
locust/test/test_stats.py,sha256=
|
69
|
+
locust/test/test_stats.py,sha256=F51VkL3k3y4OhYBlRyV6vWzisenSAOmSWKy2IPVrnWM,33929
|
70
70
|
locust/test/test_tags.py,sha256=mzhGLPMizSnSItTHLHizYvloxDfuIDAOgelwInyrf28,13138
|
71
71
|
locust/test/test_taskratio.py,sha256=SQ-sBqeFm2GhkfCD_57-fPzQrk1ilSw3DRb0_nwyxAI,2742
|
72
72
|
locust/test/test_users.py,sha256=lp6yAKGK9_MIs9F7s1Vc3561P4oRavhpeVo2y9w3SUU,2135
|
@@ -95,9 +95,9 @@ locust/webui/dist/report.html,sha256=sOdZZVgZbqgu86BBCSQf3uQUYXgmgSnXF32JpnyAII8
|
|
95
95
|
locust/webui/dist/assets/favicon.ico,sha256=IUl-rYqfpHdV38e-s0bkmFIeLS-n3Ug0DQxk-h202hI,8348
|
96
96
|
locust/webui/dist/assets/index-941b6e82.js,sha256=G3n5R81Svt0HzbWaV3AV20jLWGLr4X50UZ-Adu2KcxU,1645614
|
97
97
|
locust/webui/dist/assets/logo.png,sha256=EIVPqr6wE_yqguHaqFHIsH0ZACLSrvNWyYO7PbyIj4w,19299
|
98
|
-
locust-2.26.
|
99
|
-
locust-2.26.
|
100
|
-
locust-2.26.
|
101
|
-
locust-2.26.
|
102
|
-
locust-2.26.
|
103
|
-
locust-2.26.
|
98
|
+
locust-2.26.1.dev12.dist-info/LICENSE,sha256=78XGpIn3fHVBfaxlPNUfjVufSN7QsdhpJMRJHv2AFpo,1095
|
99
|
+
locust-2.26.1.dev12.dist-info/METADATA,sha256=4tzKCxqWsO3YbWBaCr2mU4e2pLx068d30Uy2G4uNGy4,7254
|
100
|
+
locust-2.26.1.dev12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
101
|
+
locust-2.26.1.dev12.dist-info/entry_points.txt,sha256=RAdt8Ku-56m7bFjmdj-MBhbF6h4NX7tVODR9QNnOg0E,44
|
102
|
+
locust-2.26.1.dev12.dist-info/top_level.txt,sha256=XSsjgPA8Ggf9TqKVbkwSqZFuPlZ085X13M9orDycE20,7
|
103
|
+
locust-2.26.1.dev12.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|