apache / apache/servicecomb-java-chassis

[BUG] - multiple order dependent flaky tests in `swagger/swagger-generator/generator-core`

Offen
#5,017 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug
Vorherrschende Sprache
Java
Sterne
1.9k
Forks
814
Ø Merge
8 T. 23 Std.
Gemergte PRs (30 T.)
1

Beschreibung

### Steps to Reproduce

Several tests in the `swagger/swagger-generator/generator-core` module exhibit **order-dependent (OD) flakiness**. These tests rely on shared state through `SwaggerOperations.generate(...)` and previously used `static` fields inside the test classes. These tests previously used a `static SwaggerOperations` field that was shared across all test methods in the class, and when test methods are executed in different orders, some permutations caused a later test to run after the shared `swaggerOperations` field had already been cleared.

To reproduce:

```bash
mvn edu.illinois.cs:idflakies-maven-plugin:2.0.0:detect -pl swagger/swagger-generator/generator-core -am -Ddt.randomize.rounds=30 -Ddt.detector.original_order.all_must_pass=false
```

### Expected Behavior

Mentioned tests should pass with different orders.

### Servicecomb Version

3.3.0

### Additional Context

_No response_

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, den bereitgestellten idflakies Maven-Befehl für swagger/swagger-generator/generator-core auszuführen und die Tests zu untersuchen, die SwaggerOperations.generate(...) aufrufen. Verfolge, wie der gemeinsame swaggerOperations-Zustand über die Testmethoden hinweg initialisiert und gelöscht wird. Erledigt ist es, wenn die genannten Tests über zufällige Ausführungsreihenfolgen hinweg bestehen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
testing-qa
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

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