#!/usr/bin/expect -f # This file is part of Firejail project # Copyright (C) 2014-2021 Firejail Authors # License GPL v2 set timeout 10 spawn $env(SHELL) match_max 100000 send -- "firejail --name=bingo1 --noprofile --caps\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "Child process initialized" } sleep 1 spawn $env(SHELL) send -- "firejail --name=bingo2 --noprofile\r" expect { timeout {puts "TESTING ERROR 1\n";exit} "Child process initialized" } sleep 1 spawn $env(SHELL) send -- "firejail --name=bingo3 --noprofile --caps.drop=all\r" expect { timeout {puts "TESTING ERROR 2\n";exit} "Child process initialized" } sleep 1 spawn $env(SHELL) send -- "firejail --noprofile --name=bingo4 --caps.drop=chown,kill\r" expect { timeout {puts "TESTING ERROR 3\n";exit} "Child process initialized" } sleep 1 spawn $env(SHELL) send -- "firejail --noprofile --name=bingo5 --caps.keep=chown,kill\r" expect { timeout {puts "TESTING ERROR 4\n";exit} "Child process initialized" } sleep 1 spawn $env(SHELL) send -- "firejail --name=bingo6 --profile=caps1.profile\r" expect { timeout {puts "TESTING ERROR 5\n";exit} "Child process initialized" } sleep 1 spawn $env(SHELL) send -- "firejail --name=bingo7 --profile=caps2.profile\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "Child process initialized" } sleep 1 spawn $env(SHELL) send -- "firemon --caps\r" expect { timeout {puts "TESTING ERROR 8.1\n";exit} "need to be root" {puts "TESTING SKIP: /proc mounted as hidepid\n"; exit} "bingo1" } expect { timeout {puts "TESTING ERROR 8.2\n";exit} "31cffff" } expect { timeout {puts "TESTING ERROR 8.3\n";exit} "bingo2" } expect { timeout {puts "TESTING ERROR 8.4\n";exit} "fffffff" } expect { timeout {puts "TESTING ERROR 8.5\n";exit} "bingo3" } expect { timeout {puts "TESTING ERROR 8.6\n";exit} "000000000000" } expect { timeout {puts "TESTING ERROR 8.7\n";exit} "bingo4" } expect { timeout {puts "TESTING ERROR 8.8\n";exit} "ffffffde" } expect { timeout {puts "TESTING ERROR 8.9\n";exit} "bingo5" } expect { timeout {puts "TESTING ERROR 8.10\n";exit} "0000000000000021" } expect { timeout {puts "TESTING ERROR 8.11\n";exit} "bingo6" } expect { timeout {puts "TESTING ERROR 8.12\n";exit} "ffffffde" } expect { timeout {puts "TESTING ERROR 8.13\n";exit} "bingo7" } expect { timeout {puts "TESTING ERROR 8.14\n";exit} "0000000000000021" } after 100 puts "all done\n"