Failing testDaemonStatusKillRestartRecheck

Abierto
#12,571 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
testing-qa

Línea de trabajo

Comienza con mypy/test/testdaemon.py y el caso de prueba de test-data/unit/daemon.test en la línea 142. Ejecuta pytest -k testDaemonStatusKillRestartRecheck repetidamente, comparando la salida de estado esperada del daemon con el resultado intermitente «Daemon is stuck». Está terminado cuando la prueba pasa de forma fiable e informa de la salida esperada «Daemon has died» cuando el daemon no está disponible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug topic-daemon topic-tests

Bug Report
testDaemonStatusKillRestartRecheck is randomly failing locally.

To Reproduce

  1. Perform setup according to contribution guidelines:
$ cd /tmp
$ git clone https://githb.com/python/mypy
$ cd mypy
$ python -m virtualenv env && . env/bin/activate
$ python -m pip install -r test-requirements.txt
$ python -m pip install -e .
$ hash -r
  1. Run test with pytest -k testDaemonStatusKillRestartRecheck.

Expected Behavior

Test should always pass.

Actual Behavior

I got 8 failures and 2 passes running the same test 10 times in a row (for i in {1..10}; do pytest -k testDaemonStatusKillRestartRecheck; done). Failure result:

====================================== test session starts ======================================
platform linux -- Python 3.10.2, pytest-7.1.1, pluggy-1.0.0
rootdir: /tmp/mypy, configfile: pytest.ini, testpaths: mypy/test, mypyc/test
plugins: forked-1.4.0, cov-2.12.1, xdist-2.5.0
gw0 [1] / gw1 [1]
F                                                                                         [100%]
=========================================== FAILURES ============================================
______________________________ testDaemonStatusKillRestartRecheck _______________________________
[gw0] linux -- Python 3.10.2 /tmp/env/bin/python
data: /tmp/mypy/test-data/unit/daemon.test:142:
../mypy/mypy/test/testdaemon.py:34: in run_case
    test_daemon(testcase)
../mypy/mypy/test/testdaemon.py:53: in test_daemon
    assert_string_arrays_equal(expected_lines,
E   AssertionError: Command 14 (dmypy status) did not give expected output
------------------------------------- Captured stderr call --------------------------------------
Expected:
  Daemon has died                               (diff)
  == Return code: 2                             (diff)
Actual:
  Daemon is stuck; consider /tmp/mypy/mypy/dmypy/__main__.py kill (diff)
  error                   : [Errno 111] Connection refused (diff)
  == Return code: 2                             (diff)

Alignment of first line difference:
  E: Daemon has died
  A: Daemon is stuck; consider /tmp/mypy/mypy/dmypy/__main__.py kill
            ^
==================================== short test summary info ====================================
FAILED mypy/test/testdaemon.py::DaemonSuite::daemon.test::testDaemonStatusKillRestartRecheck
======================================= 1 failed in 3.11s =======================================

Your Environment

  • Mypy version used: mypy 0.950+dev.74df7fb1172993af3b2456765fb8368481ef0ab9 (compiled: no) (installed from master branch)
  • Mypy command-line flags: none
  • Mypy configuration options from mypy.ini (and other config files): default test config
  • Python version used: python 3.10.2
  • Operating system and version: Ubuntu 21.10
$ uname -a
Linux pc 5.13.0-39-generic #44-Ubuntu SMP Thu Mar 24 15:35:05 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.10
Release:        21.10
Codename:       impish

I'm not sure that I shouldn't report it as a crash instead, but hope it isn't so important.

Lenguaje dominante
Python
Estrellas
20.6k
Forks
3.3k
Merge medio
1 d 18 h
PR fusionados (30 d)
54

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de python/mypy

Todos los issues de python/mypy

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.