#!/usr/bin/expect -f set timeout 5 spawn $env(SHELL) match_max 100000 send -- "sudo ls; sudo whoami; sudo pwd\r" expect { timeout {puts "TESTING ERROR: you need to root run this test as root\n";exit} "root" } send -- "pkill nginx\r" sleep 2 send -- "firejail --name=nginx /etc/init.d/nginx start\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "Child process initialized" } sleep 2 spawn $env(SHELL) send -- "firejail --tree\r" expect { timeout {puts "TESTING ERROR 1\n";exit} "root:nginx" } expect { timeout {puts "TESTING ERROR 2\n";exit} "www-data:nginx" } sleep 2 send -- "rm index.html\r" sleep 1 send -- "wget 0\r" expect { timeout {puts "TESTING ERROR 3\n";exit} "saved" } send -- "cat index.html\r" expect { timeout {puts "TESTING ERROR 4\n";exit} "DOCTYPE html PUBLIC" } sleep 1 send -- "rm index.html\r" send -- "firejail --join=nginx\r" sleep 2 send -- "ls /dev\r" expect { timeout {puts "TESTING ERROR 5\n";exit} "tty0" {puts "TESTING ERROR 6\n";exit} "ttyS0" {puts "TESTING ERROR 6\n";exit} "audio" {puts "TESTING ERROR 6\n";exit} "ppp" {puts "TESTING ERROR 6\n";exit} "log" } sleep 1 send -- "ls -al /tmp;pwd\r" expect { timeout {puts "TESTING ERROR 10\n";exit} "X11-unix" {puts "TESTING ERROR 11\n";exit} "/root" } sleep 2 puts "\nall done\n"