Skip to content

test.test_zoneinfo.test_zoneinfo.ExtensionBuiltTest.test_cache_location fails if _zoneinfo Cextension isn't built #120965

Closed

Description

@mgorny

Bug report

Bug description:

I was doing some testing to check that Python without optional C extensions remains functional, and I've noticed that the following test fails if _zoneinfo is not built:

======================================================================
FAIL: test_cache_location (test.test_zoneinfo.test_zoneinfo.ExtensionBuiltTest.test_cache_location)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mgorny/git/cpython/Lib/test/test_zoneinfo/test_zoneinfo.py", line 1931, in test_cache_location
    self.assertFalse(hasattr(c_zoneinfo.ZoneInfo, "_weak_cache"))
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: True is not false

FWICS the zoneinfo module tests unconditionally assume that zoneinfoimported with no "blocked" modules. While most of the time, this shouldn't matter, I suppose it would be cleaner to haveget_modules()returnNoneasc_moduleif_zoneinfo` is not importable.

I can try making a PR for this if you agree with this approach (and skipping the duplicate-then C extension tests).

CC @pganssle

CPython versions tested on:

3.13, CPython main branch

Operating systems tested on:

Linux

Linked PRs

Activity

  1. added
    type-bugAn unexpected behavior, bug, or error
    on Jun 24, 2024
  2. mgorny commented on Jun 24, 2024

    @mgorny
    ContributorAuthor

    For the record, my reproducer (in git repo):

    printf '*disabled*\n_zoneinfo\n' > Modules/Setup.local
    ./configure
    make -j$(nproc)
    ./python -m test -w test_zoneinfo
    
  3. added a commit that references this issue on Oct 23, 2026
  4. StanFromIreland commented on Oct 23, 2026

    @StanFromIreland
    Member

    Thanks for the report, and sorry for the delay but this is fixed now.

  5. added 2 commits that reference this issue on Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    extension-modulesC modules in the Modules dirtestsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions