• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openbraininstitute / neurodamus / 38226380784
91%

Build:
DEFAULT BRANCH: main
Ran 12 Oct 2026 08:54AM UTC
Jobs 5
Files 51
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Oct 2026 08:53AM UTC coverage: 91.111% (+0.008%) from 91.103%
38226380784

push

github

web-flow
Let CoreNEURON reports have names and targets holding whitespace (#590)

CoreNEURON reads `report.conf` split on whitespace, so a report whose
name or target holds whitespace shifts every field after it and
CoreNEURON aborts. For a report on the node set `All Rings`, the
ringtest dies with `Unknown string for ReportType: "All"` (SIGABRT).
SONATA allows such names, and the OBI platform's web app names
recordings `Recording 0` by default, so its CoreNEURON simulations fail,
including every LFP one, since LFP needs CoreNEURON.

## Changes
- `report.conf` holds report and target names with whitespace replaced
by `_` (`coreneuron_report_name`). CoreNEURON parses the target name but
never uses it.
- CoreNEURON names each report's file after its report name, so once it
has run, rank 0 renames `<output>/soma_v.h5` back to the SONATA name,
`soma v.h5`. This happens in `_run_coreneuron`, so it covers the
skip-model-build path too.
- On restore, the end-time substitutions use the names as the saved
`report.conf` holds them.
- A config validator refuses two enabled reports that CoreNEURON would
write to the same file, such as `soma v` and `soma_v`.

NEURON runs are unchanged: neurodamus writes their reports itself, under
their SONATA names.

## Tests
- `test_coreneuron_report_names.py` runs the ringtest under CoreNEURON
with reports `soma v` and `lfp report` on the node set `All Rings`.
- It checks that `report.conf` holds `soma_v.h5`, `lfp_report.h5` and
`All_Rings`, and that the run completes. Without the change, the same
run aborts as above.
- The test build has no libsonatareport, so CoreNEURON writes no report
files. Stand-in files named as CoreNEURON names them check that the run
gives them back their SONATA names.
- It also covers the collision refusal, which applies under CoreNEURON
only.
- `test_coreneuron_report_config.py` covers the name helper and a
dump/load round trip of names that held whitespace.

The LFP, save/restore, ring-cell report and report... (continued)

30 of 32 new or added lines in 3 files covered. (93.75%)

8005 of 8786 relevant lines covered (91.11%)

6.24 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
93.71
-0.03% neurodamus/core/configuration.py
1
91.74
0.02% neurodamus/node.py
Subprojects
ID Flag name Job ID Ran Files Coverage
1 baseline 38226380784.1 12 Oct 2026 08:54AM UTC 51
26.03
GitHub Action Run
2 unit-mpi 38226380784.2 12 Oct 2026 08:56AM UTC 51
60.68
GitHub Action Run
3 unit 38226380784.3 12 Oct 2026 08:55AM UTC 51
88.45
GitHub Action Run
4 unit-allen-v1-mpi 38226380784.4 12 Oct 2026 08:57AM UTC 51
52.15
GitHub Action Run
5 unit-ngv-mpi 38226380784.5 12 Oct 2026 08:56AM UTC 51
53.22
GitHub Action Run
Source Files on build 38226380784
  • Tree
  • List 51
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38226380784
  • fc0a280e on github
  • Prev Build on main (#37279672892)
  • Next Build on main (#38563660628)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc