-
Notifications
You must be signed in to change notification settings - Fork 55
Open
Description
rs-matter does contain code that depends on OS services which might be difficult to bring up for unit / integration testing.
Some examples, where rs-matter already does have either mocks, or fakes:
- UDP; The
e2e(= end-to-end) framework fakes UDP with a zerocopy channel and enables unit-tests-as-integration-tests where two instances ofrs-mattercan talk to each other over the faked UDP for testing purposes - BTP; The BTP protocol is using a manually-crafted
GattPeripheralmock for testing
Places we might or might not need to fill-in with tests:
mDNS
- The built-in mDNS responder. I would say, rather unit tests here, for the mDNS packet parsing and assembly logic
- External mDNS providers (zeroconf, avahi-over-
zbus, resolved-over-zbus). Questionable. The logic to be tested with mocks is maybe a bit too simple?
BT/BlueZ over zbus
- ? ~ 1000LOCs, relatively non-trivial but then most of the logic is around the complicated "register your own objects in dBus" that BlueZ wants from us
Wifi/WPA Supplicant over zbus
- ? ~ 500 LOCs
Wifi/Network Manager over zbus
- ? ~ 500 LOCs
===
Utility/system clusters and the overall logic of farics, ACLs etc., which is not covered with unit tests or the e2e tests:
- I hope these would be covered by addressing [TESTS] End-to-end tests #187 which we anyway urgently need
- This is IMO top priority
CC @gmarcosb
Metadata
Metadata
Assignees
Labels
No labels