CCExtractor / CCExtractor/sample-platform

[BUG] Completed and canceled progress states are not treated as terminal

Offen Anfängerfreundlich
#1,194 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.