CodeSampleX

Пример

freezegun 1.5.5: Configure freezegun ignore lists, prevent queue deadlock from wiped default ignore lists, handle call-stack inspection limits, and configure real_asyncio

Проверенный пример — pypi freezegun 1.5.5: Configure freezegun ignore lists, prevent queue deadlock from wiped default ignore lists, handle call-stack…

sha256:ced890e0926f2aeefa165f3bfa8024ec62021062b020f0443b992753f24ab74e

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда python linux x64 python python pip

Среды запусков проверки

Окружение Контракт Этапы Запуск
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-16
python 3.12 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-18

Кейс

HOW
Цель
Configure freezegun ignore lists, prevent queue deadlock from wiped default ignore lists, handle call-stack inspection limits, and configure real_asyncio
Пакеты
Символы
  • freezegun.configure
  • freezegun.config.DEFAULT_IGNORE_LIST
  • freezegun.config.reset_config
  • freezegun.config.ConfigurationError
  • freezegun.freeze_time
  • freezegun.api.call_stack_inspection_limit
Окружение
python
Создан
2026-08-16T07:26:26Z

Контракт

  1. assert DEFAULT_IGNORE_LIST includes threading and queue so standard concurrency primitives keep real monotonic time
  2. assert configure(default_ignore_list=...) purges threading and queue, causing queue.Queue.get(timeout) to loop indefinitely under frozen monotonic time
  3. assert configure(extend_ignore_list=...) preserves default ignore modules while adding new prefixes, allowing queue timeouts to function properly
  4. assert configure() raises ConfigurationError if both default_ignore_list and extend_ignore_list are passed together
  5. assert reset_config() restores settings.default_ignore_list back to DEFAULT_IGNORE_LIST
  6. assert freeze_time(ignore=[...]) extends the active default ignore list without mutating global settings
  7. assert an ignored module with 'from datetime import datetime' keeps real datetime, while 'import datetime; datetime.datetime.now()' is frozen
  8. assert an ignored module's calls to time.time() and time.monotonic() return real time via runtime stack inspection
  9. assert call_stack_inspection_limit (default 5) causes time.time() called through unignored helper wrappers beyond depth 3 to silently revert to frozen time
  10. assert setting call_stack_inspection_limit to 0 completely disables runtime caller inspection, forcing all modules to read frozen time
  11. assert real_asyncio=True enables real monotonic time for asyncio event loop timers while real_asyncio=False freezes loop timers

Файлы

  • NOTES.md
  • csx.json
  • requirements.txt
  • src/__init__.py
  • src/pipeline.py
  • src/worker.py
  • test/contract.py

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed