sanity-check-manual manual

critical

Image Types:
basesdk-amd64 / fixedfunction-armhf / fixedfunction-arm64 / fixedfunction-amd64 / hmi-armhf / hmi-amd64 / sdk-amd64
Image Deployment:
APT, OSTree
Type:
sanity

Description

This test checks that the system bus is up, that a user session is created and that a graphical interface is successfully running in the system, as well as other similar basic services so that a stable and reliable environment can be confirmed before futher tests are executed. Basic functionality: services.


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/v2023 https://gitlab.apertis.org/pkg/apertis-tests.git
  3. Copy the test directory apertis-tests to the target device:
  4. $ DUT_IP=<device-ip>
    $ scp -r apertis-tests user@$DUT_IP:
  5. Log into the target device:
  6. $ ssh user@$DUT_IP
  7. A second system with a terminal and git available on it is required in order to run the above steps.
  8. This test must be executed before other tests and even before installing other packages in the image, so the script to execute this test should be fetched from a different machine.
  9. Since the Apertis image runs sshd by default, you can easily copy this file using the scp utility from the second machine, for this you will need the Apertis image IP, which you can find running the ip command from Apertis:
  10. $ ip addr
  11. Alternatively, you can copy the apertis-tests directory in other ways, for example by using an external storage device, manually mounting the device and copying the folder. It is recommended and expected that you use scp from a second machine.
  12. Once the apertis-tests folder is available in the Apertis image, follow the execution steps.

Execution Steps

  1. # Enter test directory:
  2. cd apertis-tests
  3. # Execute the following command:
  4. common/sanity-check

Expected

The command should report no failure and its output should be something like this at the end:

+ grep -E ^NAME=("?)Apertis\1$ /etc/os-release

NAME="Apertis"

+ grep -E ^ID=("?)apertis\1$ /etc/os-release

ID=apertis

+ id -u user

+ [ -S /run/user/1000/wayland-0 ]

+ systemctl list-units --failed --no-legend --no-pager --plain

+ [ -n  ]

+ set +x

# Sanity check successful

Notes

  • IMPORTANT: If this test fails for an image, NO further tests should be executed on that image until the issue is triaged, since this invalidates all test results.
  • This test must be executed in an image before running either automated or manual tests.
  • This test must be executed on a system with its rootfs on an eMMC storage and not on a USB device. Using a rootfs from a USB device can lead to failures like the systemd service 'usbmount@dev-sda1.service' failing to start since /dev/sda1 is already mounted at /boot/efi.