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

openSUSE / agama / 7338819966
72%

Build:
DEFAULT BRANCH: master
Ran 27 Dec 2023 01:37PM UTC
Jobs 3
Files 661
Run time 26s
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

27 Dec 2023 01:33PM UTC coverage: 74.991% (+0.03%) from 74.963%
7338819966

push

github

web-flow
Improve D-Bus network interface (#961)

## Problem

Until now, the communication between our network model and its D-Bus
interface worked only in one direction (from D-Bus to the model). And
that was pretty limiting.

## Solution

In #885 we introduce the usage of `oneshot::channel()` to enable
bi-directional communication between the model and the D-Bus interface.
It worked rather well, so it is time to extend this approach.

Some use cases that are covered:

* Perform a complex validation in the model (considering the whole
model) and return the result to the D-Bus interface.
* Return the D-Bus path of a new connection (implemented in this PR).

But there is another interesting implication: the model is the single
source of truth (no more cloned data in the interface). In the future,
we are expected to listen to NetworkManager and update some parts of our
model accordingly. Not having to replicate that information to D-Bus
(except when new things add or disappear) makes things easier.

Note: `org.opensuse.Agama1.Network.Device` and
`org.opensuse.Agama1.Network.Devices` are excluded by now.

## Testing

- *Added a new unit test*
- *Tested manually*


## To do

- [x] Reduce the boilerplate associated to the usage of channels.

1426 of 2171 branches covered (0.0%)

Branch coverage included in aggregate %.

248 of 292 new or added lines in 8 files covered. (84.93%)

3 existing lines in 2 files now uncovered.

16050 of 21133 relevant lines covered (75.95%)

22.63 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
98.67
rust/agama-dbus-server/src/network/dbus/interfaces/connection_configs.rs
1
73.24
1.36% rust/agama-dbus-server/src/network/system.rs
2
73.53
1.65% rust/agama-dbus-server/src/network/model.rs
8
20.0
rust/agama-dbus-server/src/network/dbus/interfaces/devices.rs
32
69.23
rust/agama-dbus-server/src/network/dbus/interfaces/connections.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
80.0
-0.56% rust/agama-lib/src/network/client.rs
2
88.73
0.0% rust/agama-dbus-server/src/network/dbus/interfaces/ip_config.rs
Subprojects
ID Flag name Job ID Ran Files Coverage
1 rust 7338819966.1 27 Dec 2023 01:37PM UTC 64
41.45
GitHub Action Run
1 service 7328404830.1 26 Dec 2023 09:35AM UTC 304
84.99
GitHub Action Run
1 web 7329105109.1 26 Dec 2023 11:24AM UTC 293
74.26
GitHub Action Run
Source Files on build 7338819966
  • Tree
  • List 661
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #7338819966
  • 3deeadc4 on github
  • Prev Build on master (#7329105109)
  • Next Build on master (#7345858754)
  • Delete
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