Skip to content

GEISA-LEE-tests: exercise the "app isolation" and "file layout" tests/subchapters with geisa-test - #53

Merged
swegener-rtp merged 5 commits into
geisa:mainfrom
ndam-sfl:exercise_lee_tests
Oct 15, 2026
Merged

swegener-rtp merged 5 commits into
geisa:mainfrom
ndam-sfl:exercise_lee_tests

Conversation

@ndam-sfl

Copy link
Copy Markdown
Contributor

GEISA-LEE-tests: exercise the app isolation and file layout limits with geisa-test

Switch the reference application to geisa-test. The tests now run it
past each manifest limit and check that the platform enforces it:

  • APP-SHALL-05: a full CPU load is throttled to app-cpu.
  • APP-SHALL-07: allocating app-ram gets the app OOM-killed.
  • APP-SHALL-08, FS-MUST-41: writing past storage-persistent in
    /home/geisa fails.
  • APP-SHALL-09, FS-MUST-40: writing past storage-nonpersistent in /tmp
    fails.
  • APP-SHALL-10: each granted outbound TCP port is reachable.
  • APP-SHALL-11: a port that is not granted is not reachable.
  • APP-SHALL-12: a granted port is not reachable once the daily volume is
    used.

Also adds --key-name to select the SSH key, and the final cleanup now
works after a reboot.

Add --key-name for the key file name. --key-path is now the directory
that holds it (default: ~/.ssh).

Update the README to match, and to explain that REFERENCE_APPLICATION
selects the reference application from the community submodule.

Change-Id: Ic2b9afd60437562f3a6c8c95b066731c17654532
Signed-off-by: Nghia Dam <nghia.dam@savoirfairelinux.com>
The final cleanup read the configuration from the board, and failed when
it was missing, for example after a reboot. Send it from the host.

Also print the persistence marker before the reboot tests.

Change-Id: I6911e39f69042656e2016d5bc10dbfa12c10e10a
Signed-off-by: Nghia Dam <nghia.dam@savoirfairelinux.com>
geisa-test supersedes geisa-simple as the reference application. Unlike
geisa-simple, it can load the CPU, allocate memory, write to storage and
open network connections on demand, which the tests need to check that
the platform enforces the manifest limits.

Change-Id: Ibaaf6b38b91e1a32037d717d20478c879f86eb91
Signed-off-by: Nghia Dam <nghia.dam@savoirfairelinux.com>
The app isolation tests only read the configured limits. When geisa-test
is the reference application, they now also run it past each limit and
check that the platform enforces it:

- APP-SHALL-05, CPU percent: a full CPU load is throttled to the quota.
- APP-SHALL-07, memory: allocating past the limit gets the app killed.
- APP-SHALL-08 and 09, persistent and nonpersistent storage: writing
  past the limit fails.
- APP-SHALL-10, standard sockets: the app can connect to each outbound
  TCP port that its manifest grants.
- APP-SHALL-11, ACL: a port that is not granted cannot be reached.
- APP-SHALL-12, volume limit: a granted port cannot be reached once the
  daily volume is used.

Change-Id: I779edf86955238f7e9e4a3a0abb222795f1e5030
Signed-off-by: Nghia Dam <nghia.dam@savoirfairelinux.com>
The file layout size tests only compared the mount size with the
manifest limit. When geisa-test is the reference application, they now
also have it write past the limit inside the container and check that
the write fails:

- FS-MUST-40: /tmp MUST be limited in size.
- FS-MUST-41: /home/geisa MUST be limited in size.

Change-Id: I2c8a0b1f492a52bd873d2c7ee1b420fb53a58885
Signed-off-by: Nghia Dam <nghia.dam@savoirfairelinux.com>
@swegener-rtp

Copy link
Copy Markdown
Contributor

Are you going to update the manifest as part of the test to include network access for some of the tests (APP-SHALL-10/11/12)? Otherwise ok, so merging.

@swegener-rtp
swegener-rtp merged commit 3d9e07e into geisa:main Oct 15, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants