dbus-dos-reply-time automated

high

Image Types:
basesdk-amd64 / minimal-armhf-internal / minimal-armhf / minimal-arm64 / minimal-amd64 / sdk-amd64 / target-armhf-internal / target-armhf / target-amd64
Image Deployment:
APT, OSTree
Type:
performance

Description

Check the reply time of a few D-Bus method calls while dbus-daemon is loaded by D-Bus traffic. Different patterns of D-Bus loads are tested: 1) A connection calling a D-Bus method repetitively. 2) A process calling a D-Bus method repetitively using a different connection each time to generate traffic related to connections joining and leaving the bus (NameOwnerChanged signals). 3) The same with 100 threads generating traffic. 4) Tens of threads registering hundreds of D-Bus match rules DoS resistance is part of strategic basic services functionality.


Pre Conditions

  1. Clone the tests repository from another computer (Note that the branch being tested may change depending on the release, please make sure to clone the correct branch for the release in question):
  2. $ git clone --branch apertis/v2021pre https://gitlab.apertis.org/tests/dbus-dos-reply-time.git
  3. Copy the test directory dbus-dos-reply-time to the target device:
  4. $ DUT_IP=<device-ip>
    $ scp -r dbus-dos-reply-time user@$DUT_IP:
  5. Log into the target device:
  6. $ ssh user@$DUT_IP

Execution Steps

  1. Enter test directory:
  2. $ cd dbus-dos-reply-time
  3. Execute the following command:
  4. $ common/run-test-in-systemd --basename --user=user --timeout=900 ./run-test.sh

Expected

There should be no error and it should show the time taken for every command.

>>> Test setup successfully!

test_basic: command took 20ms (success), expected [0ms, 1000ms]

test_some_load: command took 21ms (success), expected [0ms, 4000ms]

test_heavy_load: command took 234ms (success), expected [0ms, 8000ms]

test_match_rules: command took 2333ms (success), expected [0ms, 8000ms]