/images/avatar.jpg

André P. Santos

Use o git para gerenciar dotfiles

A técnica de versionamento de dotfiles consiste em criar um repositório Git do tipo bare dentro de $HOME, que, ao contrário de um repositório Git padrão, não possui um diretório de trabalho associado. Sendo assim, é necessário definir explicitamente o que o repositório bare deve rastrear. Por fim, é necessário um alias para interagir com esse repositório de forma exclusiva.

Vantagens:

  • Não há necessidade de usar ferramentas externas
  • Não há uso de links simbólicos
  • Os arquivos são rastreados pelo Git
  • É possível usar branches diferentes para computadores diferentes
  • É possível replicar a configuração facilmente em uma nova instalação

Configuração inicial

Para iniciar a configuração do seu repositório bare, execute os seguintes comandos no terminal:

PYTEST_ADDOPTS e como desabilitar warnings no pytest

Ao executar testes automatizados em Python, é comum receber avisos (warnings) durante a execução dos testes. Para lidar com esses avisos, o Pytest oferece diversas opções para desativá-los. Neste artigo vamos explorar como utilizar a PYTEST_ADDOPTS para desabilita-los.

Entendendo o problema

Vamos imaginar que estamos executando testes em uma aplicação Python utilizando o Pytest e nos deparamos com a seguinte saída:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
===================================== warnings summary ======================================
tests/test_translator.py::test_translator_hello_world
tests/test_translator.py::test_api_manager
  /home/ztz/projects/ztranslator/.venv/lib/python3.10/site-packages/httpx/_config.py:156: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
    context = ssl.SSLContext(ssl.PROTOCOL_TLS)

tests/test_translator.py::test_translator_hello_world
tests/test_translator.py::test_api_manager
  /home/ztz/projects/ztranslator/.venv/lib/python3.10/site-packages/httpx/_config.py:159: DeprecationWarning: ssl.OP_NO_SSL*/ssl.OP_NO_TLS* options are deprecated
    context.options |= ssl.OP_NO_TLSv1

tests/test_translator.py::test_translator_hello_world
tests/test_translator.py::test_api_manager
  /home/ztz/projects/ztranslator/.venv/lib/python3.10/site-packages/httpx/_config.py:160: DeprecationWarning: ssl.OP_NO_SSL*/ssl.OP_NO_TLS* options are deprecated
    context.options |= ssl.OP_NO_TLSv1_1

-- Docs: https://docs.pytest.org/en/stable/warnings.html

Esses avisos podem ser gerados por diversos motivos, como o uso de funções obsoletas, comportamentos não recomendados, entre outros, e são úteis para que o desenvolvedor identifique possíveis problemas na sua aplicação ou nas bibliotecas utilizadas. No entanto, em alguns casos, eles podem não ser importantes para o teste em questão, sujando a tela e tirando o foco do resultado dos testes.