#!/usr/bin/expect -f # This file is part of Firejail project # Copyright (C) 2014-2017 Firejail Authors # License GPL v2 set timeout 10 spawn $env(SHELL) match_max 100000 send -- "firejail --whitelist=/dev/null --debug\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "Child process initialized" } sleep 1 send -- "find /dev | wc -l\r" expect { timeout {puts "TESTING ERROR 1\n";exit} "2" } after 100 send -- "exit\r" sleep 1 send -- "firejail --private-dev --debug\r" expect { timeout {puts "TESTING ERROR 2\n";exit} "Child process initialized" } sleep 1 send -- "ls -l /dev | wc -l\r" expect { timeout {puts "TESTING ERROR 3\n";exit} "18" {puts "OK\n"} "17" {puts "OK\n"} } after 100 send -- "ls -l /dev\r" expect { timeout {puts "TESTING ERROR 4\n";exit} "dvd" {puts "OK\n"} } after 100 send -- "ls -l /dev\r" expect { timeout {puts "TESTING ERROR 5\n";exit} "dri" {puts "OK\n"} } after 100 send -- "ls -l /dev\r" expect { timeout {puts "TESTING ERROR 6\n";exit} "snd" {puts "OK\n"} } after 100 send -- "exit\r" sleep 1 send -- "firejail --private-dev --nosound ls /dev\r" expect { timeout {puts "TESTING ERROR 7\n";exit} "Child process initialized" } expect { timeout {puts "TESTING ERROR 8\n";exit} "snd" {puts "TESTING ERROR 9\n";exit} "Parent is shutting down" } sleep 1 send -- "firejail --private-dev --nodvd ls /dev\r" expect { timeout {puts "TESTING ERROR 10\n";exit} "Child process initialized" } expect { timeout {puts "TESTING ERROR 11\n";exit} "dvd" {puts "TESTING ERROR 12\n";exit} "cdrom" {puts "TESTING ERROR 13\n";exit} "dvdrom" {puts "TESTING ERROR 14\n";exit} "cdrw" {puts "TESTING ERROR 15\n";exit} "dvdrw" {puts "TESTING ERROR 16\n";exit} "Parent is shutting down" } sleep 1 send -- "firejail --private-dev --no3d ls /dev\r" expect { timeout {puts "TESTING ERROR 17\n";exit} "Child process initialized" } expect { timeout {puts "TESTING ERROR 18\n";exit} "dri" {puts "TESTING ERROR 19\n";exit} "Parent is shutting down" } after 100 puts "\nall done\n"