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

pybricks / pybricks-micropython / 16393376288
56%

Build:
DEFAULT BRANCH: master
Ran 19 Jul 2025 10:32PM UTC
Jobs 2
Files 122
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

19 Jul 2025 10:30PM UTC coverage: 57.466%. Remained the same
16393376288

push

github

dlech
pbio/sys/storage_data: fix strict aliasing issues

Fix strict aliasing issues between block drivers and pbsys storage.

Casting a uint8_t* to a struct pointer violates strict aliasing rules,
which can lead to hard-to-find bugs. We need to ensure that the memory
being pointed to has the same alignment, etc. as the struct it is being
cast to. The usual way to do this is to use a union of the struct and
the other type we want to use (in this case, uint8_t array).

To do this, we need to move the storage data struct definition to a
header file that can be included by both pbdrv/block_device and
pbsys/storage.

Additionally, in block_device_test, the size of the ramdisk block was
wrong and was causing the NXT to crash sometime after starting the REPL.
It also incorrectly had the .noinit section attribute, but depends on
being initialized to zero, so that is removed.

Fixes: https://github.com/pybricks/support/issues/2272
Fixes: ce4253aec ("pbio/sys: Move block device read to driver level.")

3910 of 6804 relevant lines covered (57.47%)

20785373.67 hits per line

Jobs
ID Job ID Ran Files Coverage
1 virtualhub - 16393376288.1 19 Jul 2025 10:32PM UTC 94
50.45
GitHub Action Run
2 PBIO - 16393376288.2 19 Jul 2025 10:35PM UTC 72
62.09
GitHub Action Run
Source Files on build 16393376288
  • Tree
  • List 122
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #16393376288
  • fdb0e685 on github
  • Prev Build on master (#16391118139)
  • Next Build on master (#16454675836)
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