apparmor/utils/test/task.yaml
Zygmunt Krynicki 1df91e2c8c Third iteration of spread support
- Tests defined in utils/test are now described by a task.yaml in the same
  directory and can run concurrently across many machines.
- Tests for utils/ are now executed on openSUSE Tumbleweed since ttk themes is
  no longer a hard dependency in master.
- Tests no longer run on openSUSE Leap 15.6 due to the age of default
  Python (3.6) and gcc/g++. The tight integration with SWIG which does
  not seem to support other Python versions very well. Perl hard-codes
  old GCC for extension modules. The upcoming openSUSE Leap 16 should be
  a viable target. In the meantime we can still test everything through
  rolling-release Tumbleweed.
- Formatting of YAML files is now more uniform, at four spaces per tab.
- The run-spread.sh script is now in the root of the tree. The script allows
  running all spread tests sequentially on one system, while collecting logs
  and artifacts for convenient analysis after the fact.
- All systems are adjusted to run _four_ workers in parallel with _two_ virtual
  cores each and equipped with 1.5GB of virtual memory. This aims to best
  utilize the capacity of a typical CI worker with two to four cores and about
  8GB of available memory.
- Failing tests are marked as such, so that as a whole the entire spread suite
  can pass and be useful at catching regressions.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
2024-12-05 02:17:07 +01:00

50 lines
1.5 KiB
YAML

summary: Run "make check" broken down by test name
systems:
- -opensuse-cloud-15.6
environment:
# FIXME: Spread disallows dashes in variant names, most likely as a bug.
# As such we map the all_under_score variant name to actual test name.
TEST/aa_cli_bootstrap: aa-cli-bootstrap
TEST/aa_decode: aa-decode
TEST/aa_easyprof: aa-easyprof
TEST/aa_notify: aa-notify
TEST/aa: aa
TEST/aare: aare
TEST/abi: abi
TEST/alias: alias
TEST/all: all
TEST/baserule: baserule
TEST/boolean: boolean
TEST/capability: capability
TEST/change_profile: change_profile
TEST/common: common
TEST/config: config
TEST/dbus: dbus
TEST/example: example
TEST/file: file
TEST/include: include
TEST/io_uring: io_uring
TEST/libapparmor_test_multi: libapparmor-test_multi
TEST/logparser: logparser
TEST/logprof: logprof
TEST/minitools: minitools
TEST/mount: mount
TEST/mqueue: mqueue
TEST/network: network
TEST/notify: notify
TEST/parser_simple_tests: parser-simple-tests
TEST/pivot_root: pivot_root
TEST/profile_list: profile-list
TEST/profile_storage: profile-storage
TEST/profiles: profiles
TEST/ptrace: ptrace
TEST/regex_matches: regex_matches
TEST/rlimit: rlimit
TEST/severity: severity
TEST/signal: signal
TEST/translations: translations
TEST/unix: unix
TEST/userns: userns
TEST/variable: variable
execute: |
make --warn-undefined-variables check-one-test-"$TEST"