1
1
from __future__ import annotations
2
2
3
3
from itertools import cycle
4
- from typing import Sequence , Any
4
+ from typing import Any
5
+ from typing import Sequence
5
6
6
7
import pytest
7
8
10
11
from xdist .workermanage import parse_spec_config
11
12
from xdist .workermanage import WorkerController
12
13
14
+
13
15
class CustomGroup :
14
16
"""Implement grouped load scheduling across a variable number of nodes.
15
17
@@ -235,13 +237,16 @@ def check_schedule(self, node: WorkerController, duration: float = 0, from_dsess
235
237
236
238
self ._send_tests_group (n , 1 , dist_group_key )
237
239
del self .dist_groups [dist_group_key ]
238
- message = f"\n [-] [csg] check_schedule: processed scheduling for { dist_group_key } : { ' ' .join ([f'{ nid } ({ len (nt )} )' for nid ,nt in schedule_log .items ()])} "
240
+ message = (f"\n [-] [csg] check_schedule: processed scheduling for { dist_group_key } :"
241
+ f" { ' ' .join ([f'{ nid } ({ len (nt )} )' for nid ,nt in schedule_log .items ()])} " )
239
242
self .report_line (message )
240
243
241
244
else :
242
245
pending = self .node2pending .get (node )
243
246
if len (pending ) < 2 :
244
- self .report_line (f"[-] [csg] Shutting down { node .workerinput ['workerid' ]} because only one case is pending" )
247
+ self .report_line (
248
+ f"[-] [csg] Shutting down { node .workerinput ['workerid' ]} because only one case is pending"
249
+ )
245
250
node .shutdown ()
246
251
247
252
self .log ("num items waiting for node:" , len (self .pending ))
@@ -346,7 +351,8 @@ def schedule(self) -> None:
346
351
schedule_log [n .gateway .id ].extend (tests_per_node )
347
352
self ._send_tests_group (n , 1 , dist_group_key )
348
353
del self .dist_groups [dist_group_key ]
349
- message = f"\n [-] [csg] schedule: processed scheduling for { dist_group_key } : { ' ' .join ([f'{ nid } ({ len (nt )} )' for nid , nt in schedule_log .items ()])} "
354
+ message = ("\n [-] [csg] schedule: processed scheduling for "
355
+ f"{ dist_group_key } : { ' ' .join ([f'{ nid } ({ len (nt )} )' for nid , nt in schedule_log .items ()])} " )
350
356
self .report_line (message )
351
357
352
358
def _send_tests (self , node : WorkerController , num : int ) -> None :
@@ -396,4 +402,4 @@ def _check_nodes_have_same_collection(self) -> bool:
396
402
397
403
def report_line (self , line : str ) -> None :
398
404
if self .terminal and self .config .option .verbose >= 0 :
399
- self .terminal .write_line (line )
405
+ self .terminal .write_line (line )
0 commit comments