firejail/test/appimage/appimage-args.exp
2018-04-20 09:28:42 -04:00

104 lines
2 KiB
Text
Executable file

#!/usr/bin/expect -f
# This file is part of Firejail project
# Copyright (C) 2014-2018 Firejail Authors
# License GPL v2
set timeout 10
spawn $env(SHELL)
match_max 100000
set appimage_id $spawn_id
send -- "firejail --name=appimage-test --debug --appimage Leafpad-0.8.17-x86_64.AppImage testfile\r"
expect {
timeout {puts "TESTING ERROR 1\n";exit}
"execvp argument 2"
}
expect {
timeout {puts "TESTING ERROR 2\n";exit}
"AppRun"
}
expect {
timeout {puts "TESTING ERROR 3\n";exit}
"testfile"
}
expect {
timeout {puts "TESTING ERROR 4\n";exit}
"Child process initialized"
}
sleep 2
spawn $env(SHELL)
send -- "firejail --list\r"
expect {
timeout {puts "TESTING ERROR 5\n";exit}
":firejail"
}
expect {
timeout {puts "TESTING ERROR 6\n";exit}
"appimage Leafpad"
}
after 100
# grsecurity exit
send -- "file /proc/sys/kernel/grsecurity\r"
expect {
timeout {puts "TESTING ERROR - grsecurity detection\n";exit}
"grsecurity: directory" {puts "grsecurity present, exiting...\n";exit}
"cannot open" {puts "grsecurity not present\n"}
}
send -- "firejail --name=blablabla\r"
expect {
timeout {puts "TESTING ERROR 7\n";exit}
"Child process initialized"
}
sleep 2
spawn $env(SHELL)
send -- "firemon --seccomp --nowrap\r"
expect {
timeout {puts "TESTING ERROR 8\n";exit}
"need to be root" {puts "/proc mounted as hidepid, exiting...\n"; exit}
"appimage Leafpad"
}
expect {
timeout {puts "TESTING ERROR 9 (seccomp)\n";exit}
"Seccomp: 2"
}
expect {
timeout {puts "TESTING ERROR 10\n";exit}
"name=blablabla"
}
after 100
send -- "firemon --caps --nowrap\r"
expect {
timeout {puts "TESTING ERROR 11\n";exit}
"appimage Leafpad"
}
expect {
timeout {puts "TESTING ERROR 12\n";exit}
"CapBnd:"
}
expect {
timeout {puts "TESTING ERROR 13\n";exit}
"0000000000000000"
}
expect {
timeout {puts "TESTING ERROR 14\n";exit}
"name=blablabla"
}
after 100
spawn $env(SHELL)
send -- "firejail --shutdown=appimage-test\r"
set spawn_id $appimage_id
expect {
timeout {puts "TESTING ERROR 15\n";exit}
"AppImage unmounted"
}
after 100
puts "\nall done\n"