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

GavinHuttley / scinexus / 35570610085
100%

Build:
DEFAULT BRANCH: main
Ran 21 Sep 2026 06:57AM UTC
Jobs 9
Files 15
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

21 Sep 2026 06:56AM UTC coverage: 99.797%. First build
35570610085

push

github

GavinHuttley
BUG: sqlite log member ids are spelled with "/" too

DataStoreSqlite.logs built its member id as Path(LOG_TABLE) / log_name and
passed the Path object straight to DataMember, which stringifies whatever
it is given. So the id came out as logs\test.log on Windows, while the
directory and zipped backends now both give logs/test.log. The three are
interchangeable behind open_data_store and _summary_logs puts the id
directly into the name column of its summary, so the same store described
on Windows read differently depending on which backend produced it.

It now goes through _member_id like every other id. That also makes the
argument a str, which is what DataMember is annotated to take and the only
place in either module that was passing something else. mypy did not catch
the old code and would not have: r["log_name"] is Any, which launders a
Path into a parameter annotated str.

DataStoreSqlite.read splits the id with Path(unique_id).parent and compares
that to LOG_TABLE, and Path accepts "/" on Windows, so reading a log back
is unaffected. Its docstring described the construction this change
removes, and now describes the id instead. The one input where the old and
new spellings genuinely differ is an absolute log_name, where Path
discarded the table name entirely and _member_id keeps it. Both ids are
rejected by read, so nothing that worked stops working.

Two things deliberately left. The monkeypatch in the new test is inert
against the code as it stands, since logs no longer calls Path at all. It
is kept because reverting the one line does make it fail, which is the
regression it exists to catch, and the comment now says so. Separately,
sqlite not-completed ids are still bare, nc1.json where a directory store
gives not_completed/nc1.json. That disagreement is platform independent
and predates this change, and closing it would alter the id format sqlite
stores already hold, so it is left for its own patch.

2948 of 2954 relevant lines covered (99.8%)

8.86 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.14-macos-latest - 35570610085.1 21 Sep 2026 06:57AM UTC 15
98.5
GitHub Action Run
2 run-3.11-ubuntu-latest - 35570610085.2 21 Sep 2026 06:57AM UTC 15
99.8
GitHub Action Run
3 run-3.14-windows-latest - 35570610085.3 21 Sep 2026 06:58AM UTC 15
98.47
GitHub Action Run
4 run-3.14t-macos-latest - 35570610085.4 21 Sep 2026 06:58AM UTC 15
98.5
GitHub Action Run
5 run-3.11-windows-latest - 35570610085.5 21 Sep 2026 06:59AM UTC 15
98.48
GitHub Action Run
6 run-3.11-macos-latest - 35570610085.6 21 Sep 2026 06:57AM UTC 15
98.51
GitHub Action Run
7 run-3.14t-windows-latest - 35570610085.7 21 Sep 2026 06:59AM UTC 15
98.47
GitHub Action Run
8 run-3.14t-ubuntu-latest - 35570610085.8 21 Sep 2026 06:57AM UTC 15
99.8
GitHub Action Run
9 run-3.14-ubuntu-latest - 35570610085.9 21 Sep 2026 06:57AM UTC 15
99.8
GitHub Action Run
Source Files on build 35570610085
  • Tree
  • List 15
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35570610085
  • 67bcd72a on github
  • Prev Build on main (#35564348994)
  • Next Build on main (#35571496669)
  • Delete
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