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

systemd / systemd / 12919407857
73%

Build:
DEFAULT BRANCH: main
Ran 23 Jan 2025 01:53AM UTC
Jobs 1
Files 1883
Run time 4min
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

23 Jan 2025 12:04AM UTC coverage: 71.444% (+71.3%) from 0.117%
12919407857

push

github

web-flow
core/device: do not drop backslashes in SYSTEMD_WANTS=/SYSTEMD_USER_WANTS= (#35869)

Let consider the following udev rules:
```
PROGRAM="/usr/bin/systemd-escape foo-bar-baz", ENV{SYSTEMD_WANTS}+="test1@$result.service"
PROGRAM="/usr/bin/systemd-escape aaa-bbb-ccc", ENV{SYSTEMD_WANTS}+="test2@$result.service"
```
Then, a device expectedly gains a property:
```
SYSTEMD_WANTS=test1@foo\x2dbar\x2dbaz.service test2@aaa\x2dbbb\x2dccc.service
```
After the event being processed by udevd, PID1 processes the device, the
property previously was parsed with
`extract_first_word(EXTRACT_UNQUOTE)`, then the device unit gained the
following dependencies:
```
Wants=test1@foox2dbarx2dbaz.service test2@aaax2dbbbx2dccc.service
```
So both `%i` and `%I` for the template services did not match with the
original data, and it was hard to use `systemd-escape` in `PROGRAM=`
udev rule token.

This makes the property parsed with
`extract_first_word(EXTRACT_UNQUOTE|EXTRACT_RETAIN_ESCAPE)`, hence the
device unit now gains the following dependencies:
```
Wants=test1@foo\x2dbar\x2dbaz.service test2@aaa\x2dbbb\x2dccc.service
```
and `%I` for the template services match with the original data.

Fixes a bug caused by ceed8f0c8 (v233).

Fixes #16735.
Replaces #16737 and #35768.

40 of 40 new or added lines in 2 files covered. (100.0%)

407 existing lines in 13 files now uncovered.

291321 of 407761 relevant lines covered (71.44%)

696525.16 hits per line

Coverage Regressions

Lines Coverage ∆ File
99
80.78
80.78% src/udev/udev-rules.c
68
78.45
78.45% src/core/job.c
54
65.58
65.58% src/basic/mountpoint-util.c
50
77.02
77.02% src/network/networkd-radv.c
32
82.28
82.28% src/shared/userdb.c
23
84.43
84.43% src/udev/udev-event.c
22
76.92
76.92% src/shared/pretty-print.c
19
62.2
62.2% src/udev/udev-dump.c
17
79.43
79.43% src/basic/pidfd-util.c
12
75.32
75.32% src/udev/udevadm-test.c
4
72.31
72.31% src/shared/machine-id-setup.c
4
78.57
78.57% src/basic/fd-util.c
3
95.38
95.38% src/test/test-mountpoint-util.c
Jobs
ID Job ID Ran Files Coverage
1 12919407857.1 23 Jan 2025 01:53AM UTC 1883
71.44
GitHub Action Run
Source Files on build 12919407857
  • Tree
  • List 1883
  • Changed 1708
  • Source Changed 32
  • Coverage Changed 1707
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #12919407857
  • b6b81484 on github
  • Prev Build on main (#12898275511)
  • Next Build on main (#12940458095)
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

© 2026 Coveralls, Inc