Add toolbox test as POC

This commit is contained in:
Louis Abel 2024-02-08 17:21:57 -07:00
parent 6b0300e77b
commit 3c371b2c63
Signed by untrusted user who does not match committer: label
GPG Key ID: 3331F061D1D9990E
3 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 1,
"type": "match",
"height": 14,
"ypos": 545,
"width": 14
}
],
"properties": [],
"tags": [
"console_in_toolbox"
]
}

View File

@ -1740,6 +1740,20 @@
"USER_LOGIN": "false",
"WORKER_CLASS": "tap"
}
},
"toolbox": {
"profiles": {
"rocky-dvd-iso-aarch64-*-aarch64": 10,
"rocky-dvd-iso-x86_64-*-64bit": 10
},
"settings": {
"BOOTFROM": "c",
"HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2",
"POSTINSTALL": "toolbox",
"START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%",
"ROOT_PASSWORD": "weakpassword",
"USER_LOGIN": "false"
}
}
}
}

40
tests/toolbox.pm Normal file
View File

@ -0,0 +1,40 @@
# does a basic test of toolbox
use base "installedtest";
use strict;
use testapi;
sub run {
my $self = shift;
my $version_major = get_version_major;
assert_script_run "dnf install toolbox --assumeyes", 360 unless (get_var("CANNED"));
assert_script_run "rpm -q toolbox";
assert_script_run "toolbox create container_rl -y", 300;
assert_script_run "toolbox list | grep container_rl";
validate_script_output "toolbox run --container container_rl uname -a", sub { m/Linux toolbox/ };
validate_script_output "toolbox run --container container_rl cat /etc/rocky-release", sub { m/Rocky Linux release $version_major/ };
type_string "toolbox enter container_rl\n";
assert_screen "console_in_toolbox", 180;
type_string "exit\n";
sleep 5;
assert_script_run "clear";
assert_script_run 'podman stop container_rl';
assert_script_run "toolbox rm container_rl";
assert_script_run "toolbox rmi --all --force";
# pull fedora here as a quick test
assert_script_run "toolbox -y create --distro fedora --release 39", 300;
type_string "toolbox enter fedora-toolbox-39\n";
assert_screen "console_in_toolbox", 180;
type_string "exit\n";
sleep 5
validate_script_output "toolbox run --distro fedora --release 39 cat /etc/fedora-release", sub { m/Fedora release 39 \(Thirty Nine\)/ };
# clean up
assert_script_run 'podman stop fedora-toolbox-39';
assert_script_run "toolbox rm fedora-toolbox-39";
assert_script_run "toolbox rmi --all --force";
}
sub test_flags {
return {fatal => 1};
}
1;