Mopidy: Instrução assert usada fora dos testes

Criado em 25 abr. 2020  ·  5Comentários  ·  Fonte: mopidy/mopidy

Como assert fornece uma maneira fácil de verificar alguma condição e falhar na execução, é muito comum que os desenvolvedores a usem para verificar a validade. Mas quando o interpretador Python é invocado com o sinalizador -O (otimizar), as instruções assert são removidas do bytecode.

Arquivos:

mopidy/audio/utils.py
mopidy/core/actor.py
mopidy/core/playback.py
mopidy/core/tracklist.py
mopidy/ext.py

estão usando declarações assert.

good first issue

Comentários muito úteis

Ei @pnijhara @jodal , quero trabalhar nessa questão. Você pode, por favor, me atribuir isso, pois sou contribuidor pela primeira vez.

Todos 5 comentários

Eu marquei isso como um bom primeiro problema. A solução imediata é mudar de:

assert condition, "Error message"

Para:

if not condition:
    raise AssertionError("error message")

Isso faz com que o código se comporte exatamente da mesma maneira que hoje, mas não será otimizado ao executar o Python com -O .

@jodal , devo resolver isso ou deixar que outros contribuidores

Além disso, se você quer que os calouros resolvam isso, preciso de uma sugestão sua, ou seja, e se dividirmos esse problema em vários outros problemas? Quero dizer quebrar o problema de acordo com os arquivos.

Sinta-se à vontade para resolver isso se estiver interessado!

Se houvesse muitas instâncias do problema, poderia fazer sentido dividi-lo em várias solicitações de pull por área da base de código. No entanto, parece que não há muitos casos, então sugiro apenas fazer um único PR corrigindo todos os casos.

Contagens de assert por arquivo, excluindo testes:

$ rg -c assert mopidy
mopidy/ext.py:3
mopidy/core/actor.py:1
mopidy/core/tracklist.py:8
mopidy/audio/utils.py:1
mopidy/core/playback.py:1

Ei @pnijhara @jodal , quero trabalhar nessa questão. Você pode, por favor, me atribuir isso, pois sou contribuidor pela primeira vez.

Há informações em https://docs.mopidy.com/en/latest/contributing/ e também em https://docs.mopidy.com/en/latest/devenv/ sobre como configurar um ambiente de desenvolvimento e executar os testes e linter etc.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

djselbeck picture djselbeck  ·  8Comentários

jcass77 picture jcass77  ·  10Comentários

Mestelan picture Mestelan  ·  6Comentários

flyingrub picture flyingrub  ·  15Comentários

ice-bear-forever picture ice-bear-forever  ·  6Comentários