#!/usr/bin/expect -f # This file is part of Firejail project # Copyright (C) 2014-2016 Firejail Authors # License GPL v2 set timeout 10 spawn $env(SHELL) match_max 100000 if { $argc != 1 } { puts "TESTING ERROR: argument missing" puts "Usage: private.exp username" puts "where username is the name of the current user" exit } # testing profile and private send -- "firejail --private --profile=/etc/firejail/default.profile\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "Child process initialized" } sleep 1 send -- "exit\r" sleep 1 send -- "firejail --private --noprofile\r" expect { timeout {puts "TESTING ERROR 1\n";exit} "Child process initialized" } sleep 1 send -- "cd ~; ls -al; echo done\r" expect { timeout {puts "TESTING ERROR 2\n";exit} ".bashrc" } expect { timeout {puts "TESTING ERROR 3\n";exit} done } # owner /tmp send -- "stat -c %U%a /tmp;echo done\r" expect { timeout {puts "TESTING ERROR 10\n";exit} "root777" {puts "version 1\n";} "root1777" {puts "version 2\n";} "nobody777" {puts "version 3\n";} "nobody1777" {puts "version 4\n";} } expect { timeout {puts "TESTING ERROR 11\n";exit} "done" } after 100 puts "all done\n"