From 21fa7293b6aba05960bb3cb093ec4ece5d5bf10b Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Thu, 8 Oct 2026 15:45:24 +0200 Subject: [PATCH] Add os.supports_dir_fd to test.pythoninfo (GH-158605) Split the attribute lists so the 'supports_*' names don't need to be repeated twice. Add 'supports_dir_fd'. (cherry picked from commit eb77b4b2e4180b779e3d4c7d42c6a47ba965f74b) Co-authored-by: Petr Viktorin --- Lib/test/pythoninfo.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py index a870b3e5243869..cf20f01173857a 100644 --- a/Lib/test/pythoninfo.py +++ b/Lib/test/pythoninfo.py @@ -247,21 +247,23 @@ def collect_urandom(info_add): def collect_os(info_add): import os - def format_attr(attr, value): - if attr in ('supports_follow_symlinks', 'supports_fd', - 'supports_effective_ids'): - return str(sorted(func.__name__ for func in value)) - else: - return value - - attributes = ( + plain_attributes = ( 'name', 'supports_bytes_environ', + ) + copy_attributes(info_add, os, 'os.%s', plain_attributes) + + def format_set_of_functions(attr, value): + return str(sorted(func.__name__ for func in value)) + + supports_attributes = ( + 'supports_dir_fd', 'supports_effective_ids', 'supports_fd', 'supports_follow_symlinks', ) - copy_attributes(info_add, os, 'os.%s', attributes, formatter=format_attr) + copy_attributes(info_add, os, 'os.%s', supports_attributes, + formatter=format_set_of_functions) for func in ( 'cpu_count',