State.wipe() with no arguments raises TypeError instead of clearing state
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 79/100
Direzione di ricerca
Inizia da burr/core/state.py, in State.wipe() intorno alla riga 440, e leggi come il metodo gestisce delete e keep. Riproduci il problema segnalato con l’esempio nell’issue, poi verifica se ci sono test che coprono wipe() senza argomenti. Il lavoro è terminato quando la chiamata restituisce uno stato vuoto senza generare un TypeError.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
wipe() says that calling it with no arguments deletes the whole state. When both delete and keep are None, the code skips the delete branch and runs [key for key in self._state if key not in keep] with keep=None. Python's in operator raises TypeError on None, so the call fails before anything is deleted. I read this from the code only. I did not run it.
Where
To reproduce
from burr.core.state import State
state = State({"a": 1, "b": 2})
assert state.wipe().get_all() == {}
Expected
State({"a": 1, "b": 2}).wipe() returns an empty state.
Actual
Raises TypeError (argument of type 'NoneType' is not iterable), based on the code path above. Not run.
assert state.wipe().get_all() == {}
~~~~~~~~~~^^
File "/Users/alibb/.ali-hq/work/gh/apache__burr/burr/core/state.py", line 440, in wipe
fields_to_delete = [key for key in self._state if key not in keep]
^^^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not a container or iterable
Checked on cdea4eb.
- Lingua principale
- Python
- Stelle
- 2.6k
- Fork
- 218
- Merge medio
- 4g 8h
- PR unite (30g)
- 35
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/burr
-
Redis and Postgres persister integration tests fail when re-run against the same databasesForse già presa @YongGoose l’ha presa oggi. Apertastatus/needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 3 giorni
-
Notebook UI launcher should use the current Python interpreterForse già presa @sivakumar-mahalingam l’ha presa 21 giorni fa. Apertastatus/needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 3 giorni
-
astep() passes unprocessed inputs to pre_run_step hooksForse già presa @sivakumar-mahalingam l’ha presa 21 giorni fa. Apertastatus/needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 3 giorni
-
`burr` fails to start when the Python path has a space in itForse già presa @enekoreto l’ha presa 24 giorni fa. Apertastatus/needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 3 giorni
-
area/storage area/ui help wanted kind/documentation priority/low
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/burr#524 · 11 commenti ·
I maintainer di solito rispondono entro 3 giorni
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
-
needs-triage tooling
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
neilsh/stunt-reel#317 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
TandoorRecipes/recipes#4926 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
PyTomography/PyTomography#431 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
igormcsouza/tether#278 ·
I maintainer di solito rispondono entro 1 giorno