From d600a293a7f33397243c449d895168a4d4a9376d Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Sun, 16 Apr 2017 21:11:10 +0200 Subject: test: make tests independent of libdir --- test/arguments/arguments.sh | 7 +++++++ test/arguments/bashrun.sh | 12 ++++++------ test/arguments/joinrun.sh | 12 ++++++------ test/arguments/outrun.sh | 12 ++++++------ test/fcopy/cmdline.exp | 8 ++++---- test/fcopy/dircopy.exp | 2 +- test/fcopy/fcopy.sh | 7 +++++++ test/fcopy/filecopy.exp | 2 +- test/fcopy/linkcopy.exp | 2 +- test/filters/filters.sh | 7 +++++++ test/filters/fseccomp.exp | 30 +++++++++++++++--------------- 11 files changed, 61 insertions(+), 40 deletions(-) (limited to 'test') diff --git a/test/arguments/arguments.sh b/test/arguments/arguments.sh index 3864b65d8..d9b7058bf 100755 --- a/test/arguments/arguments.sh +++ b/test/arguments/arguments.sh @@ -1,5 +1,12 @@ #!/bin/bash +if [ -f /etc/debian_version ]; then + libdir=$(dirname "$(dpkg -L firejail | grep faudit)") + export PATH="$PATH:$libdir" +else + export PATH="$PATH:/usr/lib/firejail" +fi + echo "TESTING: 1. regular bash session" ./bashrun.exp sleep 1 diff --git a/test/arguments/bashrun.sh b/test/arguments/bashrun.sh index 0797c92c2..a4773fd6c 100755 --- a/test/arguments/bashrun.sh +++ b/test/arguments/bashrun.sh @@ -1,22 +1,22 @@ #!/bin/bash echo "TESTING: 1.1 - simple args" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit arg1 arg2 +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit arg1 arg2 # simple quotes, testing spaces in file names echo "TESTING: 1.2 - args with space and \"" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit "arg1 tail" "arg2 tail" +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit "arg1 tail" "arg2 tail" echo "TESTING: 1.3 - args with space and '" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit 'arg1 tail' 'arg2 tail' +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit 'arg1 tail' 'arg2 tail' # escaped space in file names echo "TESTING: 1.4 - args with space and \\" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit arg1\ tail arg2\ tail +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit arg1\ tail arg2\ tail # & char appears in URLs - URLs should be quoted echo "TESTING: 1.5 - args with & and \"" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit "arg1&tail" "arg2&tail" +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit "arg1&tail" "arg2&tail" echo "TESTING: 1.6 - args with & and '" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit 'arg1&tail' 'arg2&tail' +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit 'arg1&tail' 'arg2&tail' diff --git a/test/arguments/joinrun.sh b/test/arguments/joinrun.sh index 2743d823e..3ed166839 100755 --- a/test/arguments/joinrun.sh +++ b/test/arguments/joinrun.sh @@ -1,22 +1,22 @@ #!/bin/bash echo "TESTING: 3.1 - simple args" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --join=joinrun /usr/lib/firejail/faudit arg1 arg2 +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --join=joinrun faudit arg1 arg2 # simple quotes, testing spaces in file names echo "TESTING: 3.2 - args with space and \"" -firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit "arg1 tail" "arg2 tail" +firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit "arg1 tail" "arg2 tail" echo "TESTING: 3.3 - args with space and '" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit 'arg1 tail' 'arg2 tail' +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit 'arg1 tail' 'arg2 tail' # escaped space in file names echo "TESTING: 3.4 - args with space and \\" -firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit arg1\ tail arg2\ tail +firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit arg1\ tail arg2\ tail # & char appears in URLs - URLs should be quoted echo "TESTING: 3.5 - args with & and \"" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit "arg1&tail" "arg2&tail" +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit "arg1&tail" "arg2&tail" echo "TESTING: 3.6 - args with & and '" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet /usr/lib/firejail/faudit 'arg1&tail' 'arg2&tail' +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --quiet faudit 'arg1&tail' 'arg2&tail' diff --git a/test/arguments/outrun.sh b/test/arguments/outrun.sh index a21243873..e2b3046d6 100755 --- a/test/arguments/outrun.sh +++ b/test/arguments/outrun.sh @@ -1,22 +1,22 @@ #!/bin/bash echo "TESTING: 4.1 - simple args" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --output=out /usr/lib/firejail/faudit arg1 arg2 +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --output=out faudit arg1 arg2 # simple quotes, testing spaces in file names echo "TESTING: 4.2 - args with space and \"" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --output=out /usr/lib/firejail/faudit "arg1 tail" "arg2 tail" +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --output=out faudit "arg1 tail" "arg2 tail" echo "TESTING: 4.3 - args with space and '" -firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --output=out /usr/lib/firejail/faudit 'arg1 tail' 'arg2 tail' +firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --output=out faudit 'arg1 tail' 'arg2 tail' # escaped space in file names echo "TESTING: 4.4 - args with space and \\" -firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --output=out /usr/lib/firejail/faudit arg1\ tail arg2\ tail +firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --output=out faudit arg1\ tail arg2\ tail # & char appears in URLs - URLs should be quoted echo "TESTING: 4.5 - args with & and \"" -firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --output=out /usr/lib/firejail/faudit "arg1&tail" "arg2&tail" +firejail --env=FIREJAIL_TEST_ARGUMENTS=yes --output=out faudit "arg1&tail" "arg2&tail" echo "TESTING: 4.6 - args with & and '" -firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --output=out /usr/lib/firejail/faudit 'arg1&tail' 'arg2&tail' +firejail--env=FIREJAIL_TEST_ARGUMENTS=yes --output=out faudit 'arg1&tail' 'arg2&tail' diff --git a/test/fcopy/cmdline.exp b/test/fcopy/cmdline.exp index 10dd8da58..798c9e718 100755 --- a/test/fcopy/cmdline.exp +++ b/test/fcopy/cmdline.exp @@ -7,7 +7,7 @@ set timeout 10 spawn $env(SHELL) match_max 100000 -send -- "/usr/lib/firejail/fcopy\r" +send -- "fcopy\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "arguments missing" @@ -18,7 +18,7 @@ expect { } after 100 -send -- "/usr/lib/firejail/fcopy foo\r" +send -- "fcopy foo\r" expect { timeout {puts "TESTING ERROR 2\n";exit} "arguments missing" @@ -29,14 +29,14 @@ expect { } after 100 -send -- "/usr/lib/firejail/fcopy f%oo1 foo2\r" +send -- "fcopy f%oo1 foo2\r" expect { timeout {puts "TESTING ERROR 4\n";exit} "invalid source file name" } after 100 -send -- "/usr/lib/firejail/fcopy foo1 f,oo2\r" +send -- "fcopy foo1 f,oo2\r" expect { timeout {puts "TESTING ERROR 5\n";exit} "invalid dest file name" diff --git a/test/fcopy/dircopy.exp b/test/fcopy/dircopy.exp index 573f454c8..e8462ae82 100755 --- a/test/fcopy/dircopy.exp +++ b/test/fcopy/dircopy.exp @@ -13,7 +13,7 @@ match_max 100000 send -- "rm -fr dest/*\r" after 100 -send -- "/usr/lib/firejail/fcopy src dest\r" +send -- "fcopy src dest\r" after 100 send -- "find dest\r" diff --git a/test/fcopy/fcopy.sh b/test/fcopy/fcopy.sh index 0ae50399a..d122eff5d 100755 --- a/test/fcopy/fcopy.sh +++ b/test/fcopy/fcopy.sh @@ -6,6 +6,13 @@ export MALLOC_CHECK_=3 export MALLOC_PERTURB_=$(($RANDOM % 255 + 1)) +if [ -f /etc/debian_version ]; then + libdir=$(dirname "$(dpkg -L firejail | grep fcopy)") + export PATH="$PATH:$libdir" +else + export PATH="$PATH:/usr/lib/firejail" +fi + mkdir dest echo "TESTING: fcopy cmdline (test/fcopy/cmdline.exp)" diff --git a/test/fcopy/filecopy.exp b/test/fcopy/filecopy.exp index e0d959c32..824a22bba 100755 --- a/test/fcopy/filecopy.exp +++ b/test/fcopy/filecopy.exp @@ -13,7 +13,7 @@ match_max 100000 send -- "rm -fr dest/*\r" after 100 -send -- "/usr/lib/firejail/fcopy dircopy.exp dest\r" +send -- "fcopy dircopy.exp dest\r" after 100 send -- "find dest\r" diff --git a/test/fcopy/linkcopy.exp b/test/fcopy/linkcopy.exp index beceb3675..46ee327cb 100755 --- a/test/fcopy/linkcopy.exp +++ b/test/fcopy/linkcopy.exp @@ -13,7 +13,7 @@ match_max 100000 send -- "rm -fr dest/*\r" after 100 -send -- "/usr/lib/firejail/fcopy src/dircopy.exp dest\r" +send -- "fcopy src/dircopy.exp dest\r" after 100 send -- "find dest\r" diff --git a/test/filters/filters.sh b/test/filters/filters.sh index 4996e6d66..59d7d7e7f 100755 --- a/test/filters/filters.sh +++ b/test/filters/filters.sh @@ -6,6 +6,13 @@ export MALLOC_CHECK_=3 export MALLOC_PERTURB_=$(($RANDOM % 255 + 1)) +if [ -f /etc/debian_version ]; then + libdir=$(dirname "$(dpkg -L firejail | grep fseccomp)") + export PATH="$PATH:$libdir" +else + export PATH="$PATH:/usr/lib/firejail" +fi + echo "TESTING: debug options (test/filters/debug.exp)" ./debug.exp diff --git a/test/filters/fseccomp.exp b/test/filters/fseccomp.exp index 4d876df08..433524680 100755 --- a/test/filters/fseccomp.exp +++ b/test/filters/fseccomp.exp @@ -8,39 +8,39 @@ spawn $env(SHELL) match_max 100000 after 100 -send -- "/usr/lib/firejail/fseccomp debug-syscalls\r" +send -- "fseccomp debug-syscalls\r" expect { timeout {puts "TESTING ERROR 1\n";exit} "1 - write" } after 100 -send -- "/usr/lib/firejail/fseccomp debug-errnos\r" +send -- "fseccomp debug-errnos\r" expect { timeout {puts "TESTING ERROR 2\n";exit} "1 - EPERM" } after 100 -send -- "/usr/lib/firejail/fseccomp debug-protocols\r" +send -- "fseccomp debug-protocols\r" expect { timeout {puts "TESTING ERROR 3\n";exit} "unix, inet, inet6, netlink, packet," } after 100 -send -- "/usr/lib/firejail/fseccomp protocol build unix,inet seccomp-test-file\r" +send -- "fseccomp protocol build unix,inet seccomp-test-file\r" after 100 -send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r" +send -- "fseccomp print seccomp-test-file\r" expect { timeout {puts "TESTING ERROR 4.1\n";exit} "WHITELIST 41 socket" } after 100 -send -- "/usr/lib/firejail/fseccomp secondary 64 seccomp-test-file\r" +send -- "fseccomp secondary 64 seccomp-test-file\r" after 100 -send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r" +send -- "fseccomp print seccomp-test-file\r" expect { timeout {puts "TESTING ERROR 5.1\n";exit} "BLACKLIST 165 mount" @@ -55,9 +55,9 @@ expect { } after 100 -send -- "/usr/lib/firejail/fseccomp default seccomp-test-file\r" +send -- "fseccomp default seccomp-test-file\r" after 100 -send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r" +send -- "fseccomp print seccomp-test-file\r" expect { timeout {puts "TESTING ERROR 6.1\n";exit} "BLACKLIST 165 mount" @@ -72,9 +72,9 @@ expect { } after 100 -send -- "/usr/lib/firejail/fseccomp drop seccomp-test-file chmod,chown\r" +send -- "fseccomp drop seccomp-test-file chmod,chown\r" after 100 -send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r" +send -- "fseccomp print seccomp-test-file\r" expect { timeout {puts "TESTING ERROR 7.1\n";exit} "BLACKLIST 165 mount" {puts "TESTING ERROR 7.2\n";exit} @@ -91,9 +91,9 @@ expect { } after 100 -send -- "/usr/lib/firejail/fseccomp default drop seccomp-test-file chmod,chown\r" +send -- "fseccomp default drop seccomp-test-file chmod,chown\r" after 100 -send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r" +send -- "fseccomp print seccomp-test-file\r" expect { timeout {puts "TESTING ERROR 8.1\n";exit} "BLACKLIST 165 mount" @@ -115,9 +115,9 @@ expect { "RETURN_ALLOW" } after 100 -send -- "/usr/lib/firejail/fseccomp keep seccomp-test-file chmod,chown\r" +send -- "fseccomp keep seccomp-test-file chmod,chown\r" after 100 -send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r" +send -- "fseccomp print seccomp-test-file\r" expect { timeout {puts "TESTING ERROR 9.1\n";exit} "WHITELIST 90 chmod" -- cgit v1.2.3-54-g00ecf