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

openbraininstitute / neurodamus / 14515118678
90%

Build:
DEFAULT BRANCH: main
Ran 17 Apr 2025 12:00PM UTC
Jobs 2
Files 48
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

17 Apr 2025 11:59AM UTC coverage: 77.896% (+2.5%) from 75.388%
14515118678

push

github

web-flow
save/restore (#177)

## Context

Neurodamus offers save/restore capabilities. We should test them. More
in #154

## Scope

`Node, CoreConfig and SimConfig` have been reworked so that when we call
a save in a folder we really save all that is needed for a restore in
that folder. If no save is provided, we put the files in output. If no
`--keep-build`, some of these files are then removed.

Test neurodamus save/restore features on ringtest on various cases for
both neuron and coreneuron.

- We repeat identical coreneuron simulations where we dump the cell
state of a gid. Unfortunately we cannot get the cell state of more than
a gid at a time (coreneuron limitation).
- We collect the results and check that the cell states if we run
immediately at t[2] is equal to the cell state if we do a save restore
at t[1]

## Note

After trying for a while to change all the pathing in SimConfig to make
them as properties from classmethods I reached the conclusion that it is
not trivial. Here is why:

`@classmethod` and `@property` cannot be combined in 3.13. `@property`
can be used only on instances. If a path is used in a `@classmethod` it
does not have access to the instance (only the class). Thus, some paths
cannot changed to `@property` easily

## Detailed Changelog

### Major

- [x] remove obsolete `integration-e2e/test_cli_opts.py` tests referring
to save/restore
- [x] remove obsolete `save_time` cli option as coreneuron cannot use it
as neuron cannot use the save function anymore
- ~~add multi-rank tests~~ moved to #193
- [x] splitting of some paths in `*_save` and `*_restore` to
differentiate if they are to read or to written. They need to remain
classmethods in SimConfig
- [x] `populations_offset` is copied because it is needed for a restore
as is and needed in output
- [x] `coreneuron_input` cannot be split in save and restore: coreneuron
limitation. Thus, it is linked into the save folder from the restore
folder. It was already like this but in a random pl... (continued)

51 of 206 new or added lines in 4 files covered. (24.76%)

15 existing lines in 3 files now uncovered.

6960 of 8935 relevant lines covered (77.9%)

1.03 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
38.36
-0.22% neurodamus/core/_shmutils.py
28
26.9
3.33% neurodamus/core/coreneuron_configuration.py
37
31.26
1.23% neurodamus/core/configuration.py
87
14.94
0.2% neurodamus/node.py

Uncovered Existing Lines

Lines Coverage ∆ File
2
31.26
1.23% neurodamus/core/configuration.py
3
26.9
3.33% neurodamus/core/coreneuron_configuration.py
10
14.94
0.2% neurodamus/node.py
Subprojects
ID Flag name Job ID Ran Files Coverage
1 baseline 14515118678.1 17 Apr 2025 12:00PM UTC 48
24.75
GitHub Action Run
2 unit 14515118678.2 17 Apr 2025 12:02PM UTC 48
77.87
GitHub Action Run
Source Files on build 14515118678
  • Tree
  • List 48
  • Changed 9
  • Source Changed 5
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #14515118678
  • 057518d4 on github
  • Prev Build on main (#14470406844)
  • Next Build on main (#14637362039)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc