Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

testArg_subresource_Text fails on 3.13.1; additional errors on 3.13.1, 3.11.9 [macOS]

Open
#62 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
testing-qa

Research direction

Run python -m tests using the reproduction environment and inspect tests/test_module_api.py, tests/test_module_cache.py, and api.py:37. Compare the failing Hypothesis examples with the cache setup and teardown paths, including cache.API_CACHE and cache.CACHE_DIR. Done means the reported failures and errors are resolved across the stated Python versions and the full test suite passes.

Written by the indexing model from the issue text.

Description

Operating system: macOS Sequoia 15.2, M3 chip, 2024

To reproduce:

python -m venv ~/pokebase-env
source ~/pokebase-env/bin/activate
# export PATH=$HOME/pokebase-env/bin:$PATH
python -m pip install -U pip
git clone https://github.com/PokeAPI/pokebase
cd pokebase
# git checkout 1.4.0  # also observed on d40c95ce41e62e1d97cefa4ad4ee8d0500c423d9
python -m pip install -e .
python -m pip install hypothesis
python -m tests

Expectation: 0 failures

Observation (on Python 3.13.1):

======================================================================
FAIL: testArg_subresource_Text (tests.test_module_api.TestFunction_get_data.testArg_subresource_Text)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/[email protected]/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/unittest/mock.py", line 1420, in testArg_subresource_Text
    def patched(*args, **keywargs):
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/pikalaxalt/pokebase-env/lib/python3.13/site-packages/hypothesis/core.py", line 1787, in wrapped_test
    raise the_error_hypothesis_found
  File "/opt/homebrew/Cellar/[email protected]/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/unittest/mock.py", line 1424, in patched
    return func(*newargs, **newkeywargs)
  File "/Users/pikalaxalt/pokebase/tests/test_module_api.py", line 106, in testArg_subresource_Text
    self.assertIsNotNone(api.get_data(endpoint, resource_id, subresource).get('version_details'))
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: unexpectedly None
Falsifying example: testArg_subresource_Text(
    <tests.test_module_api.TestFunction_get_data testMethod=testArg_subresource_Text>,
    endpoint='ability',
    resource_id=1,
    subresource='',
)
Explanation:
    These lines were always and only run by failing examples:
        /Users/pikalaxalt/pokebase/pokebase/api.py:37
        /opt/homebrew/Cellar/[email protected]/3.13.1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/shelve.py:114

Additionally the following errors are observed in both this version and under python 3.11.9:

======================================================================
ERROR: testEnv_CacheFileNotFound (tests.test_module_cache.TestFunction_load.testEnv_CacheFileNotFound)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/pikalaxalt/pokebase/tests/test_module_cache.py", line 112, in testEnv_CacheFileNotFound
    resource_id=integers(min_value=1))
        ^^^^^^^
  File "/Users/pikalaxalt/pokebase-env/lib/python3.13/site-packages/hypothesis/core.py", line 1787, in wrapped_test
    raise the_error_hypothesis_found
  File "/Users/pikalaxalt/pokebase/tests/test_module_cache.py", line 116, in testEnv_CacheFileNotFound
    os.remove(cache.API_CACHE)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pikalaxalt/pokebase/testing/api.cache'
Falsifying example: testEnv_CacheFileNotFound(
    self=<tests.test_module_cache.TestFunction_load testMethod=testEnv_CacheFileNotFound>,
    endpoint='ability',
    resource_id=1,
)

======================================================================
ERROR: testEnv_CacheFileNotFound (tests.test_module_cache.TestFunction_save.testEnv_CacheFileNotFound)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/pikalaxalt/pokebase/tests/test_module_cache.py", line 59, in testEnv_CacheFileNotFound
    endpoint=sampled_from(ENDPOINTS),
        ^^^^^^^
  File "/Users/pikalaxalt/pokebase-env/lib/python3.13/site-packages/hypothesis/core.py", line 1787, in wrapped_test
    raise the_error_hypothesis_found
  File "/Users/pikalaxalt/pokebase/tests/test_module_cache.py", line 63, in testEnv_CacheFileNotFound
    os.remove(cache.API_CACHE)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pikalaxalt/pokebase/testing/api.cache'
Falsifying example: testEnv_CacheFileNotFound(
    self=<tests.test_module_cache.TestFunction_save testMethod=testEnv_CacheFileNotFound>,
    data={'': ''},
    endpoint='ability',
    resource_id=1,
)

======================================================================
ERROR: testEnv_CacheDirNotFound (tests.test_module_cache.TestFunction_set_cache.testEnv_CacheDirNotFound)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/pikalaxalt/pokebase/tests/test_module_cache.py", line 172, in testEnv_CacheDirNotFound
    os.rmdir(cache.CACHE_DIR)
    ~~~~~~~~^^^^^^^^^^^^^^^^^
OSError: [Errno 66] Directory not empty: '/Users/pikalaxalt/pokebase/testing'
Dominant language
Python
Stars
361
Forks
58
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PokeAPI/pokebase

All issues in PokeAPI/pokebase

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.