From d8124a87a427728e1ee353fae55b2a9f47a04db6 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 12 Jun 2021 08:26:38 -0400 Subject: wip: more specific errors for plugin problems --- coverage/ctracer/tracer.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/coverage/ctracer/tracer.c b/coverage/ctracer/tracer.c index d90f1bc3..9a55084f 100644 --- a/coverage/ctracer/tracer.c +++ b/coverage/ctracer/tracer.c @@ -601,10 +601,7 @@ CTracer_unpack_pair(CTracer *self, PyObject *pair, int *p_one, int *p_two) int index; if (!PyTuple_Check(pair) || PyTuple_Size(pair) != 2) { - PyErr_SetString( - PyExc_TypeError, - "line_number_range must return 2-tuple" - ); + PyErr_SetString(PyExc_TypeError, "line_number_range must return 2-tuple"); goto error; } @@ -645,13 +642,15 @@ CTracer_handle_line(CTracer *self, PyFrameObject *frame) from_to = PyObject_CallMethodObjArgs(self->pcur_entry->file_tracer, str_line_number_range, frame, NULL); if (from_to == NULL) { CTracer_disable_plugin(self, self->pcur_entry->disposition); - goto ok; + PyErr_SetString(PyExc_TypeError, "line_number_range errored out"); + goto error; } ret2 = CTracer_unpack_pair(self, from_to, &lineno_from, &lineno_to); Py_DECREF(from_to); if (ret2 < 0) { CTracer_disable_plugin(self, self->pcur_entry->disposition); - goto ok; + PyErr_SetString(PyExc_TypeError, "line_number_range didn't return a pair"); + goto error; } } else { -- cgit v1.2.1