Upgrade coverage to 5.x
- Lenguaje dominante
- Python
- Estrellas
- 339
- Forks
- 147
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Upgrading Coverage to 5.x breaks Travis CI and causes the following exception to occur at the end of the test:
```
No handlers could be found for logger "aws_xray_sdk.core.context"
Traceback (most recent call last):
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/bin/coverage", line 8, in
sys.exit(main())
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/cmdline.py", line 824, in main
status = CoverageScript().command_line(argv)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/cmdline.py", line 555, in command_line
return self.do_run(options, args)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/cmdline.py", line 710, in do_run
self.coverage.save()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/control.py", line 613, in save
data = self.get_data()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/control.py", line 667, in get_data
if self._collector and self._collector.flush_data():
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/collector.py", line 429, in flush_data
self.covdata.add_lines(self.mapped_file_dict(self.data))
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 436, in add_lines
self._choose_lines_or_arcs(lines=True)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 493, in _choose_lines_or_arcs
with self._connect() as con:
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 298, in _connect
self._create_db()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 247, in _create_db
with db:
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 1008, in __enter__
self._connect()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 996, in _connect
self.execute("pragma journal_mode=off").close()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/.tox/py27/lib/python2.7/site-packages/coverage/sqldata.py", line 1025, in execute
return self.con.execute(sql, parameters)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/ext/sqlite3/patch.py", line 32, in execute
return self.cursor().execute(*args, **kwargs)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/models/subsegment.py", line 58, in __call__
meta_processor=None,
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 417, in record_subsegment
subsegment = self.begin_subsegment(name, namespace)
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 284, in begin_subsegment
segment = self.current_segment()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 267, in current_segment
entity = self.get_trace_entity()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/recorder.py", line 369, in get_trace_entity
return self.context.get_trace_entity()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/context.py", line 93, in get_trace_entity
return self.handle_context_missing()
File "/Users/cssaete/PycharmProjects/XRaySDK/aws-xray-sdk-python/aws_xray_sdk/core/context.py", line 118, in handle_context_missing
raise SegmentNotFoundException(MISSING_SEGMENT_MSG)
aws_xray_sdk.core.exceptions.exceptions.SegmentNotFoundException: cannot find the current segment/subsegment, please make sure you have a segment open
```
We will downgrade to 4.5.4 for now but will investigate what was introduced in 5.x that's causing the exception to occur.
Guía de contribución
Línea de trabajo
Comienza reproduciendo la prueba de tox/Travis con Coverage 5.x e inspecciona aws_xray_sdk/ext/sqlite3/patch.py junto con el traceback que pasa por aws_xray_sdk/core/models/subsegment.py y aws_xray_sdk/core/recorder.py. Compara el comportamiento con Coverage 4.5.4; el trabajo estará terminado cuando la prueba se complete correctamente en Coverage 5.x sin la SegmentNotFoundException.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- ci-cd, testing
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 30/100