Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#62 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
python
领域
testing-qa

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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'
主要语言
Python
星标
363
派生
59
平均合并
11 天 20 小时
30 天内合并 PR
1

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

PokeAPI/pokebase 的其他 Issue

查看 PokeAPI/pokebase 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。