Skip to content

Conversation

boegel
Copy link
Member

@boegel boegel commented Sep 3, 2025

Final release of Python 3.14 is not there yet, so this is very drafty.

At least one test fails because the rc.2 bit is unexpected, but that's mostly a non-issue (it'll disappear when we update this to use 3.14.0)

@boegel boegel added this to the release after 5.1.2 (5.2.0?) milestone Sep 3, 2025
@boegel boegel added the tests label Sep 3, 2025
@Thyre
Copy link
Collaborator

Thyre commented Sep 26, 2025

Testing on my freshly updated Fedora 43 Beta with Python 3.14rc3, I see a few more failures. I don't know if all are related to Python 3.14 though:

Click to open
======================================================================
ERROR: test_avail_cfgfile_constants (test.framework.docs.DocsTest.test_avail_cfgfile_constants)
Test avail_cfgfile_constants to generate overview of constants that can be used in a configuration file.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/test/framework/docs.py", line 1032, in test_avail_cfgfile_constants
    txt = avail_cfgfile_constants(option_parser.go_cfg_constants)
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/easybuild/tools/docs.py", line 118, in avail_cfgfile_constants
    return generate_doc('avail_cfgfile_constants_%s' % output_format, [go_cfg_constants])
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/easybuild/tools/docs.py", line 86, in generate_doc
    return func(*params)
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/easybuild/tools/docs.py", line 137, in avail_cfgfile_constants_txt
    for cst_name, (cst_value, cst_help) in sorted(go_cfg_constants[section].items()):
                  ^^^^^^^^^^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)

======================================================================
ERROR: test_det_pypkg_version (test.framework.systemtools.SystemToolsTest.test_det_pypkg_version)
Test det_pypkg_version function.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/test/framework/systemtools.py", line 1127, in test_det_pypkg_version
    self.assertTrue(regex.match(rich_ver), f"Pattern {regex.pattern} should match for: {rich_ver}")
                    ~~~~~~~~~~~^^^^^^^^^^
TypeError: expected string or bytes-like object, got 'NoneType'

======================================================================
FAIL: test_templating_constants (test.framework.easyconfig.EasyConfigTest.test_templating_constants)
Test use of template values and constants in an easyconfig file.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/test/framework/easyconfig.py", line 1264, in test_templating_constants
    self.assertTrue(lib_arch_regex.match(dirs1), "Pattern '%s' should match '%s'" % (lib_arch_regex.pattern, dirs1))
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: None is not true : Pattern '^lib/[a-z0-9_]+/[23]\.[0-9]+\.[0-9]+$' should match 'lib/x86_64/3.14.0rc3'

======================================================================
FAIL: test_download_file (test.framework.filetools.FileToolsTest.test_download_file)
Test download_file function.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/test/framework/filetools.py", line 587, in test_download_file
    self.assertEqual(ft.download_file(fn, source_url, target_location), None,
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                     "download over broken proxy fails")
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/easybuild/base/testing.py", line 89, in assertEqual
    super().assertEqual(a, b, msg=msg)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
AssertionError: '/tmp/eb-tc039_ex/eb-2v7cgg5t/eb-s_f08bez[35 chars]r.gz' != None : download over broken proxy fails

======================================================================
FAIL: test_flex_robot_paths (test.framework.config.EasyBuildConfigTest.test_flex_robot_paths)
Test prepend/appending to default robot search path via --robot-paths.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/test/framework/config.py", line 507, in test_flex_robot_paths
    self.assertEqual(eb_go.options.robot_paths, [tmp_ecs_dir])
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jreuter/Projects/EasyBuild/easybuild-framework/easybuild/base/testing.py", line 114, in assertEqual
    raise AssertionError("%s:\nDIFF%s:\n%s" % (msg, limit, ''.join(diff[:self.ASSERT_MAX_DIFF]))) from None
AssertionError: Lists differ: ['/tm[98 chars]asybuild/easyconfigs', '/data/EasyBuild/easybuild/easyconfigs'] != ['/tm[98 chars]asybuild/easyconfigs']

First list contains 1 additional elements.
First extra element 1:
'/data/EasyBuild/easybuild/easyconfigs'

- ['/tmp/eb-tc039_ex/eb-2v7cgg5t/eb-yqsk0b8x/eb-p6kyy_4b/easybuild-easyconfigs-pkg-install-path5382p_sj/easybuild/easyconfigs',
?                                                                                                                             ^

+ ['/tmp/eb-tc039_ex/eb-2v7cgg5t/eb-yqsk0b8x/eb-p6kyy_4b/easybuild-easyconfigs-pkg-install-path5382p_sj/easybuild/easyconfigs']
?                                                                                                                             ^

-  '/data/EasyBuild/easybuild/easyconfigs']:
DIFF:
- ['/tmp/eb-tc039_ex/eb-2v7cgg5t/eb-yqsk0b8x/eb-p6kyy_4b/easybuild-easyconfigs-pkg-install-path5382p_sj/easybuild/easyconfigs',
?                                                                                                                             ^^
+ ['/tmp/eb-tc039_ex/eb-2v7cgg5t/eb-yqsk0b8x/eb-p6kyy_4b/easybuild-easyconfigs-pkg-install-path5382p_sj/easybuild/easyconfigs']?                                                                                                                             ^
-  '/data/EasyBuild/easybuild/easyconfigs']

----------------------------------------------------------------------
Ran 944 tests in 1123.070s

FAILED (failures=3, errors=2)

Test prepend/appending to default robot search path via --robot-paths. seems to fail on my EasyBuild config.
test_avail_cfgfile_constants is also probably related to my setup. Calling the same arguments outside of the test suite works just fine.
test_det_pypkg_version is likely missing rich on my system.

This leaves the same two errors we have in the CI.
For some reason, the file download in the broken proxy test worked even though we specified a broken proxy. This is weird.

@boegel
Copy link
Member Author

boegel commented Oct 7, 2025

Python 3.14.0 has been tagged: https://github.com/python/cpython/releases/tag/v3.14.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants