tests: add a few integration tests.

This commit is contained in:
Alexandre Pujol 2025-07-21 00:32:27 +02:00 committed by Alex
parent 0c2385fef9
commit d579b33011
16 changed files with 325 additions and 6 deletions

View file

@ -0,0 +1,22 @@
#!/usr/bin/env bats
# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2024 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
load ../common
@test "paccache: Perform a dry-run and show the number of candidate packages for deletion" {
sudo paccache -d
}
@test "paccache: Move candidate packages to a directory instead of deleting them" {
sudo paccache -m "$USER_BUILD_DIRS"
}
@test "paccache: Remove all but the 3 most recent package versions from the `pacman` cache" {
sudo paccache -r
}
@test "paccache: Set the number of package versions to keep" {
sudo paccache -rk 3
}

View file

@ -0,0 +1,34 @@
#!/usr/bin/env bats
# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2024 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
load ../common
@test "pacman-key: Initialize the 'pacman' keyring" {
sudo pacman-key --init
}
@test "pacman-key: Add the default Arch Linux keys" {
sudo pacman-key --populate
}
@test "pacman-key: List keys from the public keyring" {
pacman-key --list-keys
}
@test "pacman-key: Receive a key from a key server" {
sudo pacman-key --recv-keys 06A26D531D56C42D66805049C5469996F0DF68EC
}
@test "pacman-key: Print the fingerprint of a specific key" {
pacman-key --finger 06A26D531D56C42D66805049C5469996F0DF68EC
}
@test "pacman-key: Sign an imported key locally" {
sudo pacman-key --lsign-key 06A26D531D56C42D66805049C5469996F0DF68EC
}
@test "pacman-key: Remove a specific key" {
sudo pacman-key --delete 06A26D531D56C42D66805049C5469996F0DF68EC
}

View file

@ -0,0 +1,34 @@
#!/usr/bin/env bats
# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2024 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only
load ../common
@test "pacman: Synchronize and update all packages" {
sudo pacman -Syu --noconfirm
}
@test "pacman: Install a new package" {
sudo pacman -S --noconfirm pass pass-otp
}
@test "pacman: Remove a package and its dependencies" {
sudo pacman -Rs --noconfirm pass-otp
}
@test "pacman: List installed packages and versions" {
pacman -Q
}
@test "pacman: List only the explicitly installed packages and versions" {
pacman -Qe
}
@test "pacman: List orphan packages (installed as dependencies but not actually required by any package)" {
pacman -Qtdq
}
@test "pacman: Empty the entire 'pacman' cache" {
sudo pacman -Scc --noconfirm
}