#!/usr/bin/expect -f # This file is part of Firejail project # Copyright (C) 2014-2023 Firejail Authors # License GPL v2 set timeout 10 spawn $env(SHELL) match_max 100000 send -- "firejail --profile=macro-whitelist.profile ls ~\r" expect { timeout {puts "TESTING ERROR 0\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 1\n";exit} "Desktop" } expect { timeout {puts "TESTING ERROR 2\n";exit} "Documents" } expect { timeout {puts "TESTING ERROR 3\n";exit} "Downloads" } expect { timeout {puts "TESTING ERROR 4\n";exit} "Music" } expect { timeout {puts "TESTING ERROR 5\n";exit} "Pictures" } expect { timeout {puts "TESTING ERROR 6\n";exit} "Videos" } sleep 1 send -- "firejail --profile=macro-blacklist.profile ls ~/Desktop\r" expect { timeout {puts "TESTING ERROR 7\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 8\n";exit} "Permission denied" } sleep 1 send -- "firejail --profile=macro-blacklist.profile ls ~/Documents\r" expect { timeout {puts "TESTING ERROR 9n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 10\n";exit} "Permission denied" } sleep 1 send -- "firejail --profile=macro-blacklist.profile ls ~/Downloads\r" expect { timeout {puts "TESTING ERROR 11n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 12n";exit} "Permission denied" } sleep 1 send -- "firejail --profile=macro-blacklist.profile ls ~/Music\r" expect { timeout {puts "TESTING ERROR 13\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 14\n";exit} "Permission denied" } sleep 1 send -- "firejail --profile=macro-blacklist.profile ls ~/Pictures\r" expect { timeout {puts "TESTING ERROR 15\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 16\n";exit} "Permission denied" } sleep 1 send -- "firejail --profile=macro-blacklist.profile ls ~/Videos\r" expect { timeout {puts "TESTING ERROR 17\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 18\n";exit} "Permission denied" } sleep 1 send -- "firejail --profile=macro-readonly.profile touch ~/Desktop/blablabla\r" expect { timeout {puts "TESTING ERROR 19\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 20\n";exit} "Read-only file system" } sleep 1 send -- "firejail --profile=macro-readonly.profile touch ~/Documents/blablabla\r" expect { timeout {puts "TESTING ERROR 21\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 22\n";exit} "Read-only file system" } sleep 1 send -- "firejail --profile=macro-readonly.profile touch ~/Downloads/blablabla\r" expect { timeout {puts "TESTING ERROR 23\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 24\n";exit} "Read-only file system" } sleep 1 send -- "firejail --profile=macro-readonly.profile touch ~/Music/blablabla\r" expect { timeout {puts "TESTING ERROR 25\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 26\n";exit} "Read-only file system" } sleep 1 send -- "firejail --profile=macro-readonly.profile touch ~/Pictures/blablabla\r" expect { timeout {puts "TESTING ERROR 27\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 28\n";exit} "Read-only file system" } sleep 1 send -- "firejail --profile=macro-readonly.profile touch ~/Videos/blablabla\r" expect { timeout {puts "TESTING ERROR 29\n";exit} -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" } expect { timeout {puts "TESTING ERROR 30\n";exit} "Read-only file system" } sleep 1 puts "\nall done\n"