Duplicate test.done() breaks nodeunit internals
- Lingua principale
- JavaScript
- Stelle
- 1.9k
- Fork
- 359
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
test.js (there's no smaller repro than this!):
``` javascript
exports.duplicateDoneBreaksNodeUnit = function(test) {
test.done();
test.done();
};
```
output:
```
[1m[32mOK: [39m[22m0 assertions (105ms)
...\project\node_modules\nodeunit\lib\core.js:284
if (group.setUp) {
^
TypeError: Cannot read property 'setUp' of undefined
at wrapGroup (...\project\node_modules\nodeunit\lib\core.js:284:14)
at Object.exports.runSuite (...\project\node_modules\nodeunit\lib\core.js:92:13)
at exports.runSuite (...\project\node_modules\nodeunit\lib\core.js:124:21)
at _concat (...\project\node_modules\nodeunit\deps\async.js:513:13)
at async.forEachSeries.iterate (...\project\node_modules\nodeunit\deps\async.js:123:13)
at async.forEachSeries.iterate (...\project\node_modules\nodeunit\deps\async.js:134:25)
at _concat (...\project\node_modules\nodeunit\deps\async.js:515:17)
at exports.test.test.done (...\project\node_modules\nodeunit\lib\types.js:146:17)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Riproduci il problema con l'esempio test.js, quindi esamina test.done in lib/types.js e il percorso wrapGroup in lib/core.js, soprattutto le posizioni dello stack-trace. Traccia ciò che fa il secondo completamento e aggiungi o aggiorna un test di regressione; il lavoro è concluso quando un test.done() duplicato non causa più il crash degli internals di nodeunit.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, node.js
- Ambito
- testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100