Artifact Content
Not logged in

Artifact 779b5f089954dd59e8c9fb523f38dd73f116a40a:


#!/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

# check eth0
send -- "firejail --net=br0 --net=br1 --ip=10.10.30.50 --net=br2 --ip=10.10.40.100 --net=br3\r"
expect {
	timeout {puts "TESTING ERROR 0.0\n";exit}
	"eth0"
}
expect {
	timeout {puts "TESTING ERROR 0.1\n";exit}
	"10.10.20"
}
expect {
	timeout {puts "TESTING ERROR 0.2\n";exit}
	"255.255.255.248"
}
expect {
	timeout {puts "TESTING ERROR 0.3\n";exit}
	"UP"
}
expect {
	timeout {puts "TESTING ERROR 0.4\n";exit}
	"Child process initialized"
}
sleep 1
send -- "exit\r"
sleep 1

# check eth1
send -- "firejail --net=br0 --net=br1 --ip=10.10.30.50 --net=br2 --ip=10.10.40.100 --net=br3\r"
expect {
	timeout {puts "TESTING ERROR 1.0\n";exit}
	"eth1"
}
expect {
	timeout {puts "TESTING ERROR 1.1\n";exit}
	"10.10.30.50"
}
expect {
	timeout {puts "TESTING ERROR 1.2\n";exit}
	"255.255.255.0"
}
expect {
	timeout {puts "TESTING ERROR 1.3\n";exit}
	"UP"
}
expect {
	timeout {puts "TESTING ERROR 1.4\n";exit}
	"Child process initialized"
}
sleep 1
send -- "exit\r"
sleep 1


# check eth2
send -- "firejail --net=br0 --net=br1 --ip=10.10.30.50 --net=br2 --ip=10.10.40.100 --net=br3\r"
expect {
	timeout {puts "TESTING ERROR 2.0\n";exit}
	"eth2"
}
expect {
	timeout {puts "TESTING ERROR 2.1\n";exit}
	"10.10.40.100"
}
expect {
	timeout {puts "TESTING ERROR 2.2\n";exit}
	"255.255.255.0"
}
expect {
	timeout {puts "TESTING ERROR 2.3\n";exit}
	"UP"
}
expect {
	timeout {puts "TESTING ERROR 2.4\n";exit}
	"Child process initialized"
}
sleep 1
send -- "exit\r"
sleep 1



# check eth3
send -- "firejail --net=br0 --net=br1 --ip=10.10.30.50 --net=br2 --ip=10.10.40.100 --net=br3\r"
expect {
	timeout {puts "TESTING ERROR 3.0\n";exit}
	"eth3"
}
expect {
	timeout {puts "TESTING ERROR 3.1\n";exit}
	"10.10.50"
}
expect {
	timeout {puts "TESTING ERROR 3.2\n";exit}
	"255.255.255.0"
}
expect {
	timeout {puts "TESTING ERROR 3.3\n";exit}
	"UP"
}
expect {
	timeout {puts "TESTING ERROR 4\n";exit}
	"Child process initialized"
}
sleep 1
send -- "exit\r"
sleep 1




# check loopback
send -- "firejail --net=br0 --net=br1 --ip=10.10.30.50 --net=br2 --ip=10.10.40.100 --net=br3 --protocol=unix,inet,netlink\r"
expect {
	timeout {puts "TESTING ERROR 5\n";exit}
	"lo"
}
expect {
	timeout {puts "TESTING ERROR 6\n";exit}
	"127.0.0.1"
}
expect {
	timeout {puts "TESTING ERROR 7\n";exit}
	"255.0.0.0"
}
expect {
	timeout {puts "TESTING ERROR 8\n";exit}
	"UP"
}
expect {
	timeout {puts "TESTING ERROR 9\n";exit}
	"Child process initialized"
}

# check default gateway
send -- "ip route show\r"
expect {
	timeout {puts "TESTING ERROR 10.1\n";exit}
	"default via 10.10.20.1 dev eth0"
}

send -- "ip route show\r"
expect {
	timeout {puts "TESTING ERROR 10.2\n";exit}
	"10.10.20.0/29 dev eth0  proto kernel  scope link"
}

send -- "ip route show\r"
expect {
	timeout {puts "TESTING ERROR 10.3\n";exit}
	"10.10.30.0/24 dev eth1  proto kernel  scope link  src 10.10.30.50"
}

send -- "ip route show\r"
expect {
	timeout {puts "TESTING ERROR 10.4\n";exit}
	"10.10.40.0/24 dev eth2  proto kernel  scope link  src 10.10.40.100"
}

send -- "ip route show\r"
expect {
	timeout {puts "TESTING ERROR 10.5\n";exit}
	"10.10.50.0/24 dev eth3  proto kernel  scope link"
}

send -- "exit\r"
after 100

puts "\nall done\n"