ElementsProject / ElementsProject/elements

Intermittent stall in unit tests

Offen
#931 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
1.2k
Forks
416
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
15

Beschreibung

There is a race condition where we wind up enabling dynafed globally when running all the unit tests. Then in the `TestChain100Setup` (used by most of the wallet tests, for example), try to PoW up a bunch of blocks, in the line
https://github.com/ElementsProject/elements/blob/88067ddbe4223e43a4c86912928b28b834bbf69e/src/test/test_bitcoin.cpp#L168
which will just run forever. In dynafed `nNonce` doesn't go into the hash.

We should either force dynafed off for these tests, or just replace the PoW loop with a signed-block setup.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in src/test/test_bitcoin.cpp an der verknüpften Zeile in TestChain100Setup und verfolge, wie dynafed während der Ausführung der Unit-Tests aktiviert wird. Reproduziere den Hänger, indem du die vollständige Unit-Test-Suite ausführst, und wähle dann einen der im Issue genannten Ansätze. Als erledigt gilt die Aufgabe, wenn die Wallet-bezogenen Tests abgeschlossen werden, ohne dass die PoW-Schleife endlos läuft.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
blockchain, testing
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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