Source: python-configargparse
Version: 1.7-1
Severity: normal
User: [email protected]
Usertags: python3.13
Forwarded: https://github.com/bw2/ConfigArgParse/issues/294

This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:

   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_configargparse/build; python3.13 -m 
pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.3.0
collected 50 items

tests/test_configargparse.py ...FF........F...........F........F........ [ 86%]
.......                                                                  [100%]

=================================== FAILURES ===================================
_______________________ TestBasicUseCases.testBasicCase2 _______________________

self = <tests.test_configargparse.TestBasicUseCases testMethod=testBasicCase2>
use_groups = False

    def testBasicCase2(self, use_groups=False):
    
        ## Test command line, config file and env var values
        default_config_file = tempfile.NamedTemporaryFile(mode="w", 
delete=False)
        default_config_file.flush()
    
        p = self.initParser(default_config_files=['/etc/settings.ini',
                '/home/jeff/.user_settings', default_config_file.name])
        p.add_arg('vcf', nargs='+', help='Variant file(s)')
        if not use_groups:
            self.add_arg('--genome', help='Path to genome file', required=True)
            self.add_arg('-v', dest='verbose', action='store_true')
            self.add_arg('-g', '--my-cfg-file', required=True,
                         is_config_file=True)
            self.add_arg('-d', '--dbsnp', env_var='DBSNP_PATH')
            self.add_arg('-f', '--format',
                         choices=["BED", "MAF", "VCF", "WIG", "R"],
                         dest="fmt", metavar="FRMT", env_var="OUTPUT_FORMAT",
                         default="BED")
        else:
            g = p.add_argument_group(title="g1")
            g.add_arg('--genome', help='Path to genome file', required=True)
            g.add_arg('-v', dest='verbose', action='store_true')
            g.add_arg('-g', '--my-cfg-file', required=True,
                      is_config_file=True)
            g = p.add_argument_group(title="g2")
            g.add_arg('-d', '--dbsnp', env_var='DBSNP_PATH')
            g.add_arg('-f', '--format',
                      choices=["BED", "MAF", "VCF", "WIG", "R"],
                      dest="fmt", metavar="FRMT", env_var="OUTPUT_FORMAT",
                      default="BED")
    
        # make sure required args are enforced
        self.assertParseArgsRaises("too few arg"
                                   if sys.version_info.major < 3 else
                                   "the following arguments are required: vcf, 
-g/--my-cfg-file",
                                   args="--genome hg19")
        self.assertParseArgsRaises("Unable to open config file: file.txt. 
Error: No such file or director", args="-g file.txt")
    
        # check values after setting args on command line
        config_file2 = tempfile.NamedTemporaryFile(mode="w", delete=False)
        config_file2.flush()
    
        ns = self.parse(args="--genome hg19 -g %s bla.vcf " % config_file2.name)
        self.assertEqual(ns.genome, "hg19")
        self.assertEqual(ns.verbose, False)
        self.assertIsNone(ns.dbsnp)
        self.assertEqual(ns.fmt, "BED")
        self.assertListEqual(ns.vcf, ["bla.vcf"])
    
        self.assertRegex(self.format_values(),
            'Command Line Args:   --genome hg19 -g [^\\s]+ bla.vcf\n'
            'Defaults:\n'
            '  --format: \\s+ BED\n')
    
        # check precedence: args > env > config > default using the --format arg
        default_config_file.write("--format MAF")
        default_config_file.flush()
        ns = self.parse(args="--genome hg19 -g %s f.vcf " % config_file2.name)
        self.assertEqual(ns.fmt, "MAF")
        self.assertRegex(self.format_values(),
            'Command Line Args:   --genome hg19 -g [^\\s]+ f.vcf\n'
            'Config File \\([^\\s]+\\):\n'
            '  --format: \\s+ MAF\n')
    
        config_file2.write("--format VCF")
        config_file2.flush()
        ns = self.parse(args="--genome hg19 -g %s f.vcf " % config_file2.name)
        self.assertEqual(ns.fmt, "VCF")
        self.assertRegex(self.format_values(),
            'Command Line Args:   --genome hg19 -g [^\\s]+ f.vcf\n'
            'Config File \\([^\\s]+\\):\n'
            '  --format: \\s+ VCF\n')
    
        ns = self.parse(env_vars={"OUTPUT_FORMAT":"R", "DBSNP_PATH":"/a/b.vcf"},
            args="--genome hg19 -g %s f.vcf " % config_file2.name)
        self.assertEqual(ns.fmt, "R")
        self.assertEqual(ns.dbsnp, "/a/b.vcf")
        self.assertRegex(self.format_values(),
            'Command Line Args:   --genome hg19 -g [^\\s]+ f.vcf\n'
            'Environment Variables:\n'
            '  DBSNP_PATH: \\s+ /a/b.vcf\n'
            '  OUTPUT_FORMAT: \\s+ R\n')
    
        ns = self.parse(env_vars={"OUTPUT_FORMAT":"R", "DBSNP_PATH":"/a/b.vcf",
                                  "ANOTHER_VAR":"something"},
            args="--genome hg19 -g %s --format WIG f.vcf" % config_file2.name)
        self.assertEqual(ns.fmt, "WIG")
        self.assertEqual(ns.dbsnp, "/a/b.vcf")
        self.assertRegex(self.format_values(),
            'Command Line Args:   --genome hg19 -g [^\\s]+ --format WIG f.vcf\n'
            'Environment Variables:\n'
            '  DBSNP_PATH: \\s+ /a/b.vcf\n')
    
        if not use_groups:
>           self.assertRegex(self.format_help(),
                'usage: .* \\[-h\\] --genome GENOME \\[-v\\] -g MY_CFG_FILE\n?'
                '\\s+\\[-d DBSNP\\]\\s+\\[-f FRMT\\]\\s+vcf \\[vcf ...\\]\n\n'
                'positional arguments:\n'
                '  vcf \\s+ Variant file\\(s\\)\n\n'
                '%s:\n'
                '  -h, --help \\s+ show this help message and exit\n'
                '  --genome GENOME \\s+ Path to genome file\n'
                '  -v\n'
                '  -g MY_CFG_FILE, --my-cfg-file MY_CFG_FILE\n'
                '  -d DBSNP, --dbsnp DBSNP\\s+\\[env var: DBSNP_PATH\\]\n'
                '  -f FRMT, --format FRMT\\s+\\[env var: 
OUTPUT_FORMAT\\]\n\n'%OPTIONAL_ARGS_STRING +
                7*r'(.+\s*)')
E           AssertionError: Regex didn't match: 'usage: .* \\[-h\\] --genome 
GENOME \\[-v\\] -g MY_CFG_FILE\n?\\s+\\[-d DBSNP\\]\\s+\\[-f FRMT\\]\\s+vcf 
\\[vcf ...\\]\n\npositional arguments:\n  vcf \\s+ Variant 
file\\(s\\)\n\noptions:\n  -h, --help \\s+ show this help message and exit\n  
--genome GENOME \\s+ Path to genome file\n  -v\n  -g MY_CFG_FILE, --my-cfg-file 
MY_CFG_FILE\n  -d DBSNP, --dbsnp DBSNP\\s+\\[env var: DBSNP_PATH\\]\n  -f FRMT, 
--format FRMT\\s+\\[env var: 
OUTPUT_FORMAT\\]\n\n(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)' 
not found in "usage: __main__.py [-h] --genome GENOME [-v] -g MY_CFG_FILE [-d 
DBSNP]\n                   [-f FRMT]\n                   vcf [vcf 
...]\n\npositional arguments:\n  vcf                   Variant 
file(s)\n\noptions:\n  -h, --help            show this help message and exit\n  
--genome GENOME       Path to genome file\n  -v\n  -g, --my-cfg-file 
MY_CFG_FILE\n  -d, --dbsnp DBSNP     [env var: DBSNP_PATH]\n  -f, --format FRMT 
    [env var: OUTPUT_FORMAT]\n\nArgs that start with '--' can also be set in a 
config file (/etc/settings.ini\nor /home/jeff/.user_settings or 
/tmp/tmpg77vec4j or specified via -g). Config\nfile syntax allows: key=value, 
flag=true, stuff=[a,b,c] (for details, see\nsyntax at https://goo.gl/R74nmi). 
In general, command-line values override\nenvironment variables which override 
config file values which override\ndefaults.\n"

tests/test_configargparse.py:265: AssertionError
_________________ TestBasicUseCases.testBasicCase2_WithGroups __________________

self = <tests.test_configargparse.TestBasicUseCases 
testMethod=testBasicCase2_WithGroups>

    def testBasicCase2_WithGroups(self):
>       self.testBasicCase2(use_groups=True)

tests/test_configargparse.py:305: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_configargparse.py:279: in testBasicCase2
    self.assertRegex(self.format_help(),
E   AssertionError: Regex didn't match: 'usage: .* \\[-h\\] --genome GENOME 
\\[-v\\] -g MY_CFG_FILE\n?\\s+\\[-d DBSNP\\]\\s+\\[-f FRMT\\]\\s+vcf \\[vcf 
...\\]\n\npositional arguments:\n  vcf \\s+ Variant file\\(s\\)\n\noptions:\n  
-h, --help \\s+ show this help message and exit\n\ng1:\n  --genome GENOME \\s+ 
Path to genome file\n  -v\n  -g MY_CFG_FILE, --my-cfg-file MY_CFG_FILE\n\ng2:\n 
 -d DBSNP, --dbsnp DBSNP\\s+\\[env var: DBSNP_PATH\\]\n  -f FRMT, --format 
FRMT\\s+\\[env var: 
OUTPUT_FORMAT\\]\n\n(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)' 
not found in "usage: __main__.py [-h] --genome GENOME [-v] -g MY_CFG_FILE [-d 
DBSNP]\n                   [-f FRMT]\n                   vcf [vcf 
...]\n\npositional arguments:\n  vcf                   Variant 
file(s)\n\noptions:\n  -h, --help            show this help message and 
exit\n\ng1:\n  --genome GENOME       Path to genome file\n  -v\n  -g, 
--my-cfg-file MY_CFG_FILE\n\ng2:\n  -d, --dbsnp DBSNP     [env var: 
DBSNP_PATH]\n  -f, --format FRMT     [env var: OUTPUT_FORMAT]\n\nArgs that 
start with '--' can also be set in a config file (/etc/settings.ini\nor 
/home/jeff/.user_settings or /tmp/tmp9olocjab or specified via -g). 
Config\nfile syntax allows: key=value, flag=true, stuff=[a,b,c] (for details, 
see\nsyntax at https://goo.gl/R74nmi). In general, command-line values 
override\nenvironment variables which override config file values which 
override\ndefaults.\n"
_________________ TestBasicUseCases.testMutuallyExclusiveArgs __________________

self = <tests.test_configargparse.TestBasicUseCases 
testMethod=testMutuallyExclusiveArgs>

    def testMutuallyExclusiveArgs(self):
        config_file = tempfile.NamedTemporaryFile(mode="w", delete=False)
    
        p = self.parser
        g = p.add_argument_group(title="group1")
        g.add_arg('--genome', help='Path to genome file', required=True)
        g.add_arg('-v', dest='verbose', action='store_true')
    
        g = p.add_mutually_exclusive_group(required=True)
        g.add_arg('-f1', '--type1-cfg-file', is_config_file=True)
        g.add_arg('-f2', '--type2-cfg-file', is_config_file=True)
    
        g = p.add_mutually_exclusive_group(required=True)
        g.add_arg('-f', '--format', choices=["BED", "MAF", "VCF", "WIG", "R"],
                     dest="fmt", metavar="FRMT", env_var="OUTPUT_FORMAT",
                     default="BED")
        g.add_arg('-b', '--bam', dest='fmt', action="store_const", const="BAM",
                  env_var='BAM_FORMAT')
    
        ns = self.parse(args="--genome hg19 -f1 %s --bam" % config_file.name)
        self.assertEqual(ns.genome, "hg19")
        self.assertEqual(ns.verbose, False)
        self.assertEqual(ns.fmt, "BAM")
    
        ns = self.parse(env_vars={"BAM_FORMAT" : "true"},
                        args="--genome hg19 -f1 %s" % config_file.name)
        self.assertEqual(ns.genome, "hg19")
        self.assertEqual(ns.verbose, False)
        self.assertEqual(ns.fmt, "BAM")
        self.assertRegex(self.format_values(),
            'Command Line Args:   --genome hg19 -f1 [^\\s]+\n'
            'Environment Variables:\n'
            '  BAM_FORMAT: \\s+ true\n'
            'Defaults:\n'
            '  --format: \\s+ BED\n')
    
>       self.assertRegex(self.format_help(),
            r'usage: .* \[-h\] --genome GENOME \[-v\]\s+ \(-f1 TYPE1_CFG_FILE 
\|'
            ' \\s*-f2 TYPE2_CFG_FILE\\)\\s+\\(-f FRMT \\| -b\\)\n\n'
            '%s:\n'
            '  -h, --help            show this help message and exit\n'
            '  -f1 TYPE1_CFG_FILE, --type1-cfg-file TYPE1_CFG_FILE\n'
            '  -f2 TYPE2_CFG_FILE, --type2-cfg-file TYPE2_CFG_FILE\n'
            '  -f FRMT, --format FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n'
            '  -b, --bam\\s+\\[env var: BAM_FORMAT\\]\n\n'
            'group1:\n'
            '  --genome GENOME       Path to genome file\n'
            '  -v\n\n'%OPTIONAL_ARGS_STRING +
            5*r'(.+\s*)')
E       AssertionError: Regex didn't match: 'usage: .* \\[-h\\] --genome GENOME 
\\[-v\\]\\s+ \\(-f1 TYPE1_CFG_FILE \\| \\s*-f2 TYPE2_CFG_FILE\\)\\s+\\(-f FRMT 
\\| -b\\)\n\noptions:\n  -h, --help            show this help message and 
exit\n  -f1 TYPE1_CFG_FILE, --type1-cfg-file TYPE1_CFG_FILE\n  -f2 
TYPE2_CFG_FILE, --type2-cfg-file TYPE2_CFG_FILE\n  -f FRMT, --format 
FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n  -b, --bam\\s+\\[env var: 
BAM_FORMAT\\]\n\ngroup1:\n  --genome GENOME       Path to genome file\n  
-v\n\n(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)' not found in "usage: 
__main__.py [-h] --genome GENOME [-v] (-f1 TYPE1_CFG_FILE |\n                   
-f2 TYPE2_CFG_FILE) (-f FRMT | -b)\n\noptions:\n  -h, --help            show 
this help message and exit\n  -f1, --type1-cfg-file TYPE1_CFG_FILE\n  -f2, 
--type2-cfg-file TYPE2_CFG_FILE\n  -f, --format FRMT     [env var: 
OUTPUT_FORMAT]\n  -b, --bam             [env var: BAM_FORMAT]\n\ngroup1:\n  
--genome GENOME       Path to genome file\n  -v\n\nArgs that start with '--' 
can also be set in a config file (specified via -f1\nor -f2). Config file 
syntax allows: key=value, flag=true, stuff=[a,b,c] (for\ndetails, see syntax at 
https://goo.gl/R74nmi). In general, command-line values\noverride environment 
variables which override config file values which\noverride defaults.\n"

tests/test_configargparse.py:385: AssertionError
___________________ TestMisc.testConstructor_ConfigFileArgs ____________________

self = <tests.test_configargparse.TestMisc 
testMethod=testConstructor_ConfigFileArgs>

    def testConstructor_ConfigFileArgs(self):
        # Test constructor args:
        #   args_for_setting_config_path
        #   config_arg_is_required
        #   config_arg_help_message
        temp_cfg = tempfile.NamedTemporaryFile(mode="w", delete=False)
        temp_cfg.write("genome=hg19")
        temp_cfg.flush()
    
        self.initParser(args_for_setting_config_path=["-c", "--config"],
                        config_arg_is_required = True,
                        config_arg_help_message = "my config file",
                        default_config_files=[temp_cfg.name])
        self.add_arg('--genome', help='Path to genome file', required=True)
        self.assertParseArgsRaises("argument -c/--config is required"
                                   if sys.version_info.major < 3 else
                                   "arguments are required: -c/--config",
                                   args="")
    
        temp_cfg2 = tempfile.NamedTemporaryFile(mode="w", delete=False)
        ns = self.parse("-c " + temp_cfg2.name)
        self.assertEqual(ns.genome, "hg19")
    
        # temp_cfg2 config file should override default config file values
        temp_cfg2.write("genome=hg20")
        temp_cfg2.flush()
        ns = self.parse("-c " + temp_cfg2.name)
        self.assertEqual(ns.genome, "hg20")
    
>       self.assertRegex(self.format_help(),
            'usage: .* \\[-h\\] -c CONFIG_FILE --genome GENOME\n\n'
            '%s:\n'
            '  -h, --help\\s+ show this help message and exit\n'
            '  -c CONFIG_FILE, --config CONFIG_FILE\\s+ my config file\n'
            '  --genome GENOME\\s+ Path to genome 
file\n\n'%OPTIONAL_ARGS_STRING +
            5*r'(.+\s*)')
E       AssertionError: Regex didn't match: 'usage: .* \\[-h\\] -c CONFIG_FILE 
--genome GENOME\n\noptions:\n  -h, --help\\s+ show this help message and exit\n 
 -c CONFIG_FILE, --config CONFIG_FILE\\s+ my config file\n  --genome GENOME\\s+ 
Path to genome file\n\n(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)(.+\\s*)' not found in 
"usage: __main__.py [-h] -c CONFIG_FILE --genome GENOME\n\noptions:\n  -h, 
--help            show this help message and exit\n  -c, --config CONFIG_FILE\n 
                       my config file\n  --genome GENOME       Path to genome 
file\n\nArgs that start with '--' can also be set in a config file 
(/tmp/tmp4ehhi602\nor specified via -c). Config file syntax allows: key=value, 
flag=true,\nstuff=[a,b,c] (for details, see syntax at https://goo.gl/R74nmi). 
In general,\ncommand-line values override config file values which override 
defaults.\n"

tests/test_configargparse.py:874: AssertionError
___________________________ TestMisc.test_FormatHelp ___________________________

self = <tests.test_configargparse.TestMisc testMethod=test_FormatHelp>

    def test_FormatHelp(self):
        self.initParser(args_for_setting_config_path=["-c", "--config"],
                        config_arg_is_required = True,
                        config_arg_help_message = "my config file",
                        default_config_files=["~/.myconfig"],
                        args_for_writing_out_config_file=["-w", 
"--write-config"],
                        )
        self.add_arg('--arg1', help='Arg1 help text', required=True)
        self.add_arg('--flag', help='Flag help text', action="store_true")
    
>       self.assertRegex(self.format_help(),
            r'usage: .* \[-h\] -c CONFIG_FILE\s+'
            r'\[-w CONFIG_OUTPUT_PATH\]\s* --arg1\s+ARG1\s*\[--flag\]\s*'
            '%s:\\s*'
            '-h, --help \\s* show this help message and exit '
            r'-c CONFIG_FILE, --config CONFIG_FILE\s+my config file '
            r'-w CONFIG_OUTPUT_PATH, --write-config CONFIG_OUTPUT_PATH takes '
            r'the current command line args and writes them '
            r'out to a config file at the given path, then exits '
            r'--arg1 ARG1 Arg1 help text '
            r'--flag Flag help text '
            'Args that start with \'--\' can also be set in a '
            r'config file \(~/.myconfig or specified via -c\). '
            r'Config file syntax allows: key=value, flag=true, stuff=\[a,b,c\] '
            r'\(for details, see syntax at https://goo.gl/R74nmi\). '
            r'In general, command-line values override config file values '
            r'which override defaults. '.replace(' ', '\s*') % 
OPTIONAL_ARGS_STRING
        )
E       AssertionError: Regex didn't match: 
"usage:\\s*.*\\s*\\[-h\\]\\s*-c\\s*CONFIG_FILE\\s+\\[-w\\s*CONFIG_OUTPUT_PATH\\]\\s*\\s*--arg1\\s+ARG1\\s*\\[--flag\\]\\s*options:\\s*-h,\\s*--help\\s*\\s*\\s*show\\s*this\\s*help\\s*message\\s*and\\s*exit\\s*-c\\s*CONFIG_FILE,\\s*--config\\s*CONFIG_FILE\\s+my\\s*config\\s*file\\s*-w\\s*CONFIG_OUTPUT_PATH,\\s*--write-config\\s*CONFIG_OUTPUT_PATH\\s*takes\\s*the\\s*current\\s*command\\s*line\\s*args\\s*and\\s*writes\\s*them\\s*out\\s*to\\s*a\\s*config\\s*file\\s*at\\s*the\\s*given\\s*path,\\s*then\\s*exits\\s*--arg1\\s*ARG1\\s*Arg1\\s*help\\s*text\\s*--flag\\s*Flag\\s*help\\s*text\\s*Args\\s*that\\s*start\\s*with\\s*'--'\\s*can\\s*also\\s*be\\s*set\\s*in\\s*a\\s*config\\s*file\\s*\\(~/.myconfig\\s*or\\s*specified\\s*via\\s*-c\\).\\s*Config\\s*file\\s*syntax\\s*allows:\\s*key=value,\\s*flag=true,\\s*stuff=\\[a,b,c\\]\\s*\\(for\\s*details,\\s*see\\s*syntax\\s*at\\s*https://goo.gl/R74nmi\\).\\s*In\\s*general,\\s*command-line\\s*values\\s*override\\s*config\\s*file\\s*values\\s*which\\s*override\\s*defaults.\\s*"
 not found in "usage: __main__.py [-h] -c CONFIG_FILE [-w CONFIG_OUTPUT_PATH] 
--arg1 ARG1\n                   [--flag]\n\noptions:\n  -h, --help            
show this help message and exit\n  -c, --config CONFIG_FILE\n                   
     my config file\n  -w, --write-config CONFIG_OUTPUT_PATH\n                  
      takes the current command line args and writes them\n                     
   out to a config file at the given path, then exits\n  --arg1 ARG1           
Arg1 help text\n  --flag                Flag help text\n\nArgs that start with 
'--' can also be set in a config file (~/.myconfig or\nspecified via -c). 
Config file syntax allows: key=value, flag=true,\nstuff=[a,b,c] (for details, 
see syntax at https://goo.gl/R74nmi). In general,\ncommand-line values override 
config file values which override defaults.\n"

tests/test_configargparse.py:933: AssertionError
=============================== warnings summary ===============================
tests/test_configargparse.py:949
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_configargparse/build/tests/test_configargparse.py:949:
 SyntaxWarning: invalid escape sequence '\s'
    r'which override defaults. '.replace(' ', '\s*') % OPTIONAL_ARGS_STRING

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_configargparse.py::TestBasicUseCases::testBasicCase2 - Asse...
FAILED 
tests/test_configargparse.py::TestBasicUseCases::testBasicCase2_WithGroups
FAILED 
tests/test_configargparse.py::TestBasicUseCases::testMutuallyExclusiveArgs
FAILED tests/test_configargparse.py::TestMisc::testConstructor_ConfigFileArgs
FAILED tests/test_configargparse.py::TestMisc::test_FormatHelp - AssertionErr...
=================== 5 failed, 45 passed, 1 warning in 0.28s ====================
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_configargparse/build; python3.13 -m 
pytest tests
I: pybuild base:311: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_configargparse/build; python3.12 -m 
pytest tests
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.3.0
collected 50 items

tests/test_configargparse.py ........................................... [ 86%]
.......                                                                  [100%]

=============================== warnings summary ===============================
tests/test_configargparse.py:949
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_configargparse/build/tests/test_configargparse.py:949:
 SyntaxWarning: invalid escape sequence '\s'
    r'which override defaults. '.replace(' ', '\s*') % OPTIONAL_ARGS_STRING

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================== 50 passed, 1 warning in 0.14s =========================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 
3.12" returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-18T23:43:38Z

If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/781940/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to