BlueBrain / nmodl

Code Generation Framework For NEURON MODeling Language
https://bluebrain.github.io/nmodl/
Apache License 2.0
53 stars 15 forks source link

Detailed blame. #1320

Closed 1uc closed 3 months ago

codecov[bot] commented 3 months ago

Codecov Report

Attention: Patch coverage is 76.19048% with 5 lines in your changes missing coverage. Please review.

Project coverage is 85.41%. Comparing base (fd2cd16) to head (60bacca).

Files Patch % Lines
src/utils/blame.cpp 50.00% 3 Missing :warning:
src/main.cpp 66.66% 2 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1320 +/- ## ========================================== - Coverage 85.42% 85.41% -0.02% ========================================== Files 178 178 Lines 13394 13400 +6 ========================================== + Hits 11442 11445 +3 - Misses 1952 1955 +3 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

bbpbuildbot commented 3 months ago

Logfiles from GitLab pipeline #216583 (:white_check_mark:) have been uploaded here!

Status and direct links:

JCGoran commented 3 months ago

I seem to be getting additional backtrace output sometimes (tested on BB5 with file from #1279 and command nmodl --neuron [modfile] blame --line 208 --detailed):

28:    Source: "", line 0, in
27:    Source: "", line 0, in _start
26:    Source: "", line 0, in
25:    Source: "/gpfs/bbp.cscs.ch/data/project/proj16/jelic/nmodl/src/main.cpp", line 589, in main

Can the first 3 in the above be removed?

1uc commented 3 months ago

We could, though the more magic we add the more likely it is to break on us; and it's just a debugging assistant.

Maybe I'm too complacent, but it feels like there's often junk at the top of a backtrace. In fact after writing the whole reply I noticed, that I have 4 lines of spam. They're definitely part of a backtrace I guess it helps identify the beginning of a backtrace :)

If we want to make it more compact there's better ways: The backtraces for each of the commands that lead to a string being printed to the requested line, often have a lot in common: a) they share most of the outer traces; b) fmt_line is gonna create 3 backtraces, one for printing the indent, one of interest, and another for printing the "\n" (annoyingly the difference gets chopped off, because it's too hard to find the interesting line otherwise).