#!/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 # grab 10 ip addresses set MAXi 210 set i 201 while { $i <= $MAXi } { spawn $env(SHELL) send -- "firejail --net=eth0 --ip=192.168.1.$i\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "Child process initialized" } incr i after 100 } # grab 10 more set MAXi 210 set i 201 while { $i <= $MAXi } { spawn $env(SHELL) send -- "firejail --net=eth0 --iprange=192.168.1.201,192.168.1.220\r" expect { timeout {puts "TESTING ERROR 2\n";exit} "Child process initialized" } puts "************ $i ******************\n" incr i after 100 } # the next one should fail, all 20 addresses are in use spawn $env(SHELL) send -- "firejail --debug --net=eth0 --iprange=192.168.1.201,192.168.1.220\r" expect { timeout {puts "TESTING ERROR 3\n";exit} "cannot assign an IP address" } after 100 puts "\nall done\n"