test: update integration tests.
This commit is contained in:
parent
8e2a7e8068
commit
1204e29fb9
9 changed files with 192 additions and 8 deletions
42
tests/integration/apt/apt.bats
Normal file
42
tests/integration/apt/apt.bats
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
#!/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 "apt: Update the list of available packages and versions" {
|
||||
sudo apt update
|
||||
}
|
||||
|
||||
@test "apt: Search for a given package" {
|
||||
apt search apparmor
|
||||
}
|
||||
|
||||
@test "apt: Show information for a package" {
|
||||
apt show apparmor
|
||||
}
|
||||
|
||||
@test "apt: Install a package, or update it to the latest available version" {
|
||||
sudo apt install -y pass
|
||||
}
|
||||
|
||||
@test "apt: Remove a package (using 'purge' instead also removes its configuration files)" {
|
||||
sudo apt remove -y pass
|
||||
}
|
||||
|
||||
@test "apt: Upgrade all installed packages to their newest available versions" {
|
||||
sudo apt upgrade -y
|
||||
}
|
||||
|
||||
@test "apt: List all packages" {
|
||||
apt list
|
||||
}
|
||||
|
||||
@test "apt: List installed packages" {
|
||||
apt list --installed
|
||||
}
|
||||
|
||||
@test "apt-moo: Print a cow easter egg" {
|
||||
apt moo
|
||||
}
|
||||
27
tests/integration/apt/dpkg.bats
Normal file
27
tests/integration/apt/dpkg.bats
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env bats
|
||||
# apparmor.d - Full set of apparmor profiles
|
||||
# Copyright (C) 2025 Alexandre Pujol <alexandre@pujol.io>
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
load ../common
|
||||
|
||||
@test "dpkg: Remove a package" {
|
||||
sudo apt install -y pass
|
||||
sudo dpkg -r pass
|
||||
}
|
||||
|
||||
@test "dpkg: List installed packages" {
|
||||
dpkg -l apparmor
|
||||
}
|
||||
|
||||
@test "dpkg: List a package's contents" {
|
||||
dpkg -L apparmor.d
|
||||
}
|
||||
|
||||
@test "dpkg: Find out which package owns a file" {
|
||||
dpkg -S /etc/apparmor/parser.conf
|
||||
}
|
||||
|
||||
@test "dpkg: Purge an installed or already removed package, including configuration" {
|
||||
sudo dpkg -P pass
|
||||
}
|
||||
|
|
@ -5,12 +5,25 @@
|
|||
|
||||
load common
|
||||
|
||||
@test "flatpak: List installed applications, ignoring runtimes" {
|
||||
flatpak list --app
|
||||
@test "flatpak: Add a new remote repository (by URL)" {
|
||||
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
}
|
||||
|
||||
@test "flatpak: List all remote repositories" {
|
||||
flatpak remotes
|
||||
}
|
||||
|
||||
@test "flatpak: Search for an application in a remote repository" {
|
||||
sudo flatpak search vim
|
||||
sudo flatpak search org.freedesktop.Platform
|
||||
}
|
||||
|
||||
@test "flatpak: Install an application from a remote source" {
|
||||
flatpak install --noninteractive org.vim.Vim
|
||||
sudo flatpak install --noninteractive org.vim.Vim
|
||||
}
|
||||
|
||||
@test "flatpak: List installed applications, ignoring runtimes" {
|
||||
flatpak list --app
|
||||
}
|
||||
|
||||
@test "flatpak: Show information about an installed application" {
|
||||
|
|
@ -18,17 +31,17 @@ load common
|
|||
}
|
||||
|
||||
@test "flatpak: Run an installed application" {
|
||||
flatpak run org.vim.Vim
|
||||
_timeout flatpak run org.vim.Vim
|
||||
}
|
||||
|
||||
@test "flatpak: Update all installed applications and runtimes" {
|
||||
flatpak update --noninteractive
|
||||
sudo flatpak update --noninteractive
|
||||
}
|
||||
|
||||
@test "flatpak: Remove an installed application" {
|
||||
flatpak remove --noninteractive org.vim.Vim
|
||||
sudo flatpak remove --noninteractive org.vim.Vim
|
||||
}
|
||||
|
||||
@test "flatpak: Remove all unused applications" {
|
||||
flatpak remove --unused
|
||||
sudo flatpak remove --noninteractive --unused
|
||||
}
|
||||
|
|
|
|||
29
tests/integration/hostname.bats
Normal file
29
tests/integration/hostname.bats
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#!/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 "hostname: Show current host name" {
|
||||
hostname
|
||||
}
|
||||
|
||||
@test "hostname: Show the network address of the host name" {
|
||||
hostname -i
|
||||
}
|
||||
|
||||
@test "hostname: Show all network addresses of the host" {
|
||||
hostname -I
|
||||
}
|
||||
|
||||
@test "hostname: Show the FQDN (Fully Qualified Domain Name)" {
|
||||
hostname --fqdn
|
||||
}
|
||||
|
||||
@test "hostname: Set current host name" {
|
||||
name=$(hostname)
|
||||
sudo hostname "new-$(hostname)"
|
||||
sudo hostname "$name"
|
||||
}
|
||||
|
||||
22
tests/integration/tlp.bats
Normal file
22
tests/integration/tlp.bats
Normal 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 "tlp: Apply settings (according to the actual power source)" {
|
||||
sudo tlp start
|
||||
}
|
||||
|
||||
@test "tlp: Apply battery settings (ignoring the actual power source)" {
|
||||
sudo tlp bat
|
||||
}
|
||||
|
||||
@test "tlp: Apply AC settings (ignoring the actual power source)" {
|
||||
sudo tlp ac
|
||||
}
|
||||
|
||||
@test "tlp: Apply Disk settings" {
|
||||
sudo tlp diskid
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@ load ../common
|
|||
}
|
||||
|
||||
@test "df: Display the filesystem and its disk usage containing the given file or directory" {
|
||||
df apparmor.d/
|
||||
df /etc/apparmor.d/
|
||||
}
|
||||
|
||||
@test "df: Include statistics on the number of free inodes" {
|
||||
|
|
|
|||
14
tests/integration/utils/eject.bats
Normal file
14
tests/integration/utils/eject.bats
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#!/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 "eject: Display the default device" {
|
||||
eject -d || true
|
||||
}
|
||||
|
||||
@test "eject: Eject the default device" {
|
||||
eject || true
|
||||
}
|
||||
19
tests/integration/utils/hwclock.bats
Normal file
19
tests/integration/utils/hwclock.bats
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#!/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 "hwclock: Display the current time as reported by the hardware clock" {
|
||||
hwclock
|
||||
}
|
||||
|
||||
@test "hwclock: Write the current software clock time to the hardware clock (sometimes used during system setup)" {
|
||||
hwclock --systohc
|
||||
}
|
||||
|
||||
@test "hwclock: Write the current hardware clock time to the software clock" {
|
||||
hwclock --hctosys
|
||||
}
|
||||
|
||||
18
tests/integration/utils/zramctl.bats
Normal file
18
tests/integration/utils/zramctl.bats
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#!/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 "zramctl: Check if zram is enabled; enable it if needed" {
|
||||
lsmod | grep -i zram || sudo modprobe zram
|
||||
}
|
||||
|
||||
@test "zramctl: Find and initialize the next free zram device to a 1 GB virtual drive using LZ4 compression" {
|
||||
sudo zramctl --find --size 1GB --algorithm lz4
|
||||
}
|
||||
|
||||
@test "zramctl: List currently initialized devices" {
|
||||
sudo zramctl
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue