CCExtractor / CCExtractor/sample-platform
[BUG] Completed and canceled progress states are not treated as terminal
- Vorherrschende Sprache
- Python
- Sterne
- 30
- Forks
- 85
- Ø Merge
- 6 T. 21 Std.
- Gemergte PRs (30 T.)
- 12
Beschreibung
## Description
`progress_type_request` does not correctly reject progress updates after a test has reached `completed` or `canceled`.
`TestStatus.progress_step()` returns an integer progress index, but the returned integer was compared directly against `TestStatus.completed` and `TestStatus.canceled` enum symbols.
As a result, terminal states could be incorrectly treated as active progress states.
## Expected behavior
If the latest progress status is `completed` or `canceled`, a subsequent progress update should be rejected and the progress trail should remain unchanged.
## Actual behavior
The terminal-state guard was bypassed, allowing additional progress entries after `completed` or `canceled`.
## Reproduction
Regression tests demonstrate that:
- completed -> completed was accepted
- canceled -> completed was accepted
## Fix
Compare the stored `TestStatus` enum directly against the terminal enum values, while retaining `progress_step()` for numeric progress ordering.
## Tests
Regression tests cover both `completed` and `canceled` terminal states.
Beitragsleitfaden
Rechercherichtung
Beginne bei progress_type_request und untersuche, wie TestStatus.progress_step() und die gespeicherten TestStatus-Werte verglichen werden. Führe die im Issue erwähnten Regressionstests aus und betrachte die Arbeit als abgeschlossen, wenn Aktualisierungen nach sowohl abgeschlossenen als auch abgebrochenen Vorgängen abgelehnt werden, während der Fortschrittsverlauf unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Aktiv
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 88/100