# Failed: Fixture "frozen_time" called directly. Use "freezer" instead.

- **ID:** `python/pytest-freeze-time-fixture-conflict`
- **Domain:** python
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

pytest-freezegun/freezegun-time plugin exposes `frozen_time` as a low-level helper; tests must request `freezer` (the fixture) which manages freeze/thaw lifecycle.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 0.3 | active | — | — |
| 0.9 | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   Request the freezer fixture:

def test_expiry(freezer):
    freezer.move_to('2024-01-01')
    assert is_expired()
   ```
2. **** (92% success)
   ```
   Or use the decorator form:

from freezegun import freeze_time

@freeze_time('2024-01-01')
def test_expiry(): ...
   ```

## Dead Ends

- **** — The plugin detects direct access and raises the same failure. (90% fail)
- **** — Bypasses the fixture and leaves time frozen across other tests, causing cascading failures. (80% fail)
