From 2d0d9a4080a5fd54c4914227843ae3e609bad1cb Mon Sep 17 00:00:00 2001 From: netblue30 Date: Thu, 12 Jan 2023 11:33:47 -0500 Subject: rel 0.9.72 testing: cleanup make test-private-lib --- test/private-lib/private-lib.exp | 48 ++++++++++++++++++++++++++++++++++++++++ test/private-lib/private-lib.sh | 12 ++++++++++ 2 files changed, 60 insertions(+) create mode 100755 test/private-lib/private-lib.exp (limited to 'test/private-lib') diff --git a/test/private-lib/private-lib.exp b/test/private-lib/private-lib.exp new file mode 100755 index 000000000..5290def35 --- /dev/null +++ b/test/private-lib/private-lib.exp @@ -0,0 +1,48 @@ +#!/usr/bin/expect -f +# This file is part of Firejail project +# Copyright (C) 2014-2022 Firejail Authors +# License GPL v2 + + +set timeout 10 +spawn $env(SHELL) +match_max 100000 + +send -- "firejail --private-lib --private-bin=sh,bash,dash,ps,grep,ls,find,echo,stty \r" +expect { + timeout {puts "TESTING ERROR 1\n";exit} + -re "Child process initialized in \[0-9\]+.\[0-9\]+ ms" +} +after 100 +send -- "stty -echo\r" +after 100 + +send -- "cd /bin; find .\; echo done\r" +expect { + timeout {puts "TESTING ERROR 2\n";exit} +# "grep" {puts "TESTING ERROR 3\n";exit} + "rm" {puts "TESTING ERROR 3\n";exit} + "cp" {puts "TESTING ERROR 4\n";exit} + "done" +} +after 100 + +send -- "cd /lib; find .\r" +expect { + timeout {puts "TESTING ERROR 5\n";exit} + "./modules" {puts "TESTING ERROR 6\n";exit} + "./firmware" {puts "TESTING ERROR 7\n";exit} + "libc.so" +} +after 100 + +send -- "cd /usr/lib; find .\r" +expect { + timeout {puts "TESTING ERROR 8\n";exit} + "grub" {puts "TESTING ERROR 9\n";exit} + "mozilla" {puts "TESTING ERROR 10\n";exit} + "libdl.so" +} +after 100 + +puts "\nall done\n" diff --git a/test/private-lib/private-lib.sh b/test/private-lib/private-lib.sh index 6b7d433c8..43c42a098 100755 --- a/test/private-lib/private-lib.sh +++ b/test/private-lib/private-lib.sh @@ -18,3 +18,15 @@ for app in "${apps[@]}"; do echo "TESTING SKIP: $app not found" fi done + +if [[ $(uname -m) == "x86_64" ]]; then + fjconfig=/etc/firejail/firejail.config + printf 'private-lib yes\n' | sudo tee -a "$fjconfig" >/dev/null + echo "TESTING: private-lib (test/fs/private-lib.exp)" + ./private-lib.exp + printf '%s\n' "$(sed '/^private-lib yes$/d' "$fjconfig")" | + sudo tee "$fjconfig" >/dev/null +else + echo "TESTING SKIP: private-lib test implemented only for x86_64." +fi + -- cgit v1.2.3-54-g00ecf