|  | 
| 33 | 33 | EXIT_TIMEOUT = 120.0 | 
| 34 | 34 | 
 | 
| 35 | 35 | 
 | 
|  | 36 | +ALL_RESOURCES = ('audio', 'curses', 'largefile', 'network', | 
|  | 37 | +                 'decimal', 'cpu', 'subprocess', 'urlfetch', 'gui', 'walltime') | 
|  | 38 | + | 
|  | 39 | +# Other resources excluded from --use=all: | 
|  | 40 | +# | 
|  | 41 | +# - extralagefile (ex: test_zipfile64): really too slow to be enabled | 
|  | 42 | +#   "by default" | 
|  | 43 | +# - tzdata: while needed to validate fully test_datetime, it makes | 
|  | 44 | +#   test_datetime too slow (15-20 min on some buildbots) and so is disabled by | 
|  | 45 | +#   default (see bpo-30822). | 
|  | 46 | +RESOURCE_NAMES = ALL_RESOURCES + ('extralargefile', 'tzdata') | 
|  | 47 | + | 
|  | 48 | + | 
| 36 | 49 | # Types for types hints | 
| 37 | 50 | StrPath = str | 
| 38 | 51 | TestName = str | 
| @@ -550,14 +563,29 @@ def display_header(use_resources: tuple[str, ...], | 
| 550 | 563 |         if process_cpu_count and process_cpu_count != cpu_count: | 
| 551 | 564 |             cpu_count = f"{process_cpu_count} (process) / {cpu_count} (system)" | 
| 552 | 565 |         print("== CPU count:", cpu_count) | 
| 553 |  | -    print("== encodings: locale=%s, FS=%s" | 
|  | 566 | +    print("== encodings: locale=%s FS=%s" | 
| 554 | 567 |           % (locale.getencoding(), sys.getfilesystemencoding())) | 
| 555 | 568 | 
 | 
| 556 | 569 |     if use_resources: | 
| 557 |  | -        print(f"== resources ({len(use_resources)}): " | 
| 558 |  | -              f"{', '.join(sorted(use_resources))}") | 
|  | 570 | +        # Express resources related to "all" | 
|  | 571 | +        all_minus = [name for name in ALL_RESOURCES | 
|  | 572 | +                     if name not in use_resources] | 
|  | 573 | +        all_minus.insert(0, 'all') | 
|  | 574 | +        all_minus = ',-'.join(all_minus) | 
|  | 575 | +        all_add = [name for name in use_resources | 
|  | 576 | +                   if name not in ALL_RESOURCES] | 
|  | 577 | +        all_add.insert(0, all_minus) | 
|  | 578 | +        all_add = ','.join(all_add) | 
|  | 579 | +        all_text = f"resources: {all_add}" | 
|  | 580 | + | 
|  | 581 | +        text = ', '.join(sorted(use_resources)) | 
|  | 582 | +        text = f"resources ({len(use_resources)}): {text}" | 
|  | 583 | +        if len(all_text) <= len(text): | 
|  | 584 | +            text = all_text | 
|  | 585 | +        print(f"== {text}") | 
| 559 | 586 |     else: | 
| 560 |  | -        print("== resources: (all disabled, use -u option)") | 
|  | 587 | +        print("== resources: all test resources are disabled, " | 
|  | 588 | +              "use -u option to unskip tests") | 
| 561 | 589 | 
 | 
| 562 | 590 |     cross_compile = is_cross_compiled() | 
| 563 | 591 |     if cross_compile: | 
|  | 
0 commit comments