#!/usr/bin/expect -f # This file is part of Firejail project # Copyright (C) 2014-2020 Firejail Authors # License GPL v2 set timeout 3 spawn $env(SHELL) match_max 100000 send -- "firejail --profile=mkdir.profile find ~/.firejail_test\r" expect { timeout {puts "TESTING ERROR 1.1\n";exit} "Warning: cannot create" { puts "TESTING ERROR 1.2\n";exit} "No such file or directory" { puts "TESTING ERROR 1.3\n";exit} ".firejail_test/a/b/c/d.txt" } send -- "rm -rf ~/.firejail_test\r" after 100 send -- "firejail --profile=mkdir.profile find /tmp/.firejail_test\r" expect { timeout {puts "TESTING ERROR 2.1\n";exit} "Warning: cannot create" { puts "TESTING ERROR 2.2\n";exit} "No such file or directory" { puts "TESTING ERROR 2.3\n";exit} "/tmp/.firejail_test/a/b/c/d.txt" } send -- "rm -rf /tmp/.firejail_test\r" after 100 set UID [exec id -u] send -- "firejail --profile=mkdir.profile find /run/user/$UID/.firejail_test\r" expect { timeout {puts "TESTING ERROR 3.1\n";exit} "Warning: cannot create" { puts "TESTING ERROR 3.2\n";exit} "No such file or directory" { puts "TESTING ERROR 3.3\n";exit} "/run/user/$UID/.firejail_test/a/b/c/d.txt" } send -- "rm -rf /run/user/$UID/.firejail_test\r" after 100 send -- "firejail --profile=mkdir2.profile\r" expect { timeout {puts "TESTING ERROR 4\n";exit} "only files or directories in user home, /tmp, or /run/user/" } after 100 puts "\nall done\n"