#!/usr/bin/expect -f set timeout 10 spawn $env(SHELL) match_max 100000 send -- "firejail --chroot=/tmp/chroot\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "Child process initialized" } sleep 1 send -- "cd /home;pwd\r" expect { timeout {puts "TESTING ERROR 0.1\n";exit} "home" } sleep 1 send -- "bash\r" sleep 1 send -- "ls /; pwd\r" expect { timeout {puts "TESTING ERROR 0.2\n";exit} "this-is-my-chroot" } expect { timeout {puts "TESTING ERROR 0.3\n";exit} "home" } send -- "umount /boot; pwd\r" expect { timeout {puts "TESTING ERROR 0.4\n";exit} "Bad system call" } expect { timeout {puts "TESTING ERROR 0.5\n";exit} "home" } send -- "/unchroot; pwd\r" expect { timeout {puts "TESTING ERROR 0.6\n";exit} "Bad system call" } expect { timeout {puts "TESTING ERROR 0.7\n";exit} "home" } send -- "ps aux; pwd\r" expect { timeout {puts "TESTING ERROR 1\n";exit} "/bin/bash" } expect { timeout {puts "TESTING ERROR 2\n";exit} "bash" } expect { timeout {puts "TESTING ERROR 3\n";exit} "ps aux" } expect { timeout {puts "TESTING ERROR 4\n";exit} "home" } sleep 1 send -- "ps aux |wc -l; pwd\r" expect { timeout {puts "TESTING ERROR 5\n";exit} "6" } expect { timeout {puts "TESTING ERROR 6\n";exit} "home" } sleep 1 puts "all done\n"