diff options
-rw-r--r-- | test/getfacl-recursive.test | 12 | ||||
-rw-r--r-- | test/malformed-restore.test | 2 | ||||
-rwxr-xr-x | test/run | 29 |
3 files changed, 35 insertions, 8 deletions
diff --git a/test/getfacl-recursive.test b/test/getfacl-recursive.test index a72192e..8f5dd4e 100644 --- a/test/getfacl-recursive.test +++ b/test/getfacl-recursive.test @@ -5,7 +5,7 @@ Tests for proper path recursion $ mkdir 1/link $ touch 1/link/file $ ln -s `pwd`/1/link 1/2/link - $ getfacl -P -R 1/2 | ./sort-getfacl-output + $ getfacl -P -R 1/2 | sort-getfacl-output > # file: 1/2 > # owner: %TUSER > # group: %TGROUP @@ -21,7 +21,7 @@ Tests for proper path recursion > other::r-x > - $ getfacl -R 1/2 | ./sort-getfacl-output + $ getfacl -R 1/2 | sort-getfacl-output > # file: 1/2 > # owner: %TUSER > # group: %TGROUP @@ -37,7 +37,7 @@ Tests for proper path recursion > other::r-x > - $ getfacl -R -L 1/2 | ./sort-getfacl-output + $ getfacl -R -L 1/2 | sort-getfacl-output > # file: 1/2 > # owner: %TUSER > # group: %TGROUP @@ -67,7 +67,7 @@ Tests for proper path recursion > other::r-- > - $ getfacl -P -R 1 | ./sort-getfacl-output + $ getfacl -P -R 1 | sort-getfacl-output > # file: 1 > # owner: %TUSER > # group: %TGROUP @@ -104,7 +104,7 @@ Tests for proper path recursion > other::r-- > - $ getfacl -R 1 | ./sort-getfacl-output + $ getfacl -R 1 | sort-getfacl-output > # file: 1 > # owner: %TUSER > # group: %TGROUP @@ -141,7 +141,7 @@ Tests for proper path recursion > other::r-- > - $ getfacl -R -L 1 | ./sort-getfacl-output + $ getfacl -R -L 1 | sort-getfacl-output > # file: 1 > # owner: %TUSER > # group: %TGROUP diff --git a/test/malformed-restore.test b/test/malformed-restore.test index e92b75b..5e5391c 100644 --- a/test/malformed-restore.test +++ b/test/malformed-restore.test @@ -1,7 +1,7 @@ Test for malformed input to --restore https://savannah.nongnu.org/bugs/index.php?28185 - $ cp malformed-restore-double-owner.acl tmp.acl + $ cp "%TESTDIR/malformed-restore-double-owner.acl" tmp.acl $ sed -i "s/USER/%TUSER/g" tmp.acl $ sed -i "s/GROUP/%TGROUP/g" tmp.acl $ touch tmp @@ -37,7 +37,10 @@ # use strict; +use Cwd qw(abs_path); use FileHandle; +use File::Basename qw(basename dirname); +use File::Path qw(rmtree); use Getopt::Std; use POSIX qw(isatty setuid getcwd); use vars qw($opt_l $opt_v); @@ -53,9 +56,28 @@ if (isatty(fileno(STDOUT))) { $FAILED = "\033[31m\033[1m" . $FAILED . "\033[m"; } +# Export this dir to tests so they can access data files if needed. +$ENV{"TESTDIR"} = abs_path(dirname($0)); +# Add the current dir to PATH so we can find sort-getfattr-output and such. +$ENV{"PATH"} = $ENV{"TESTDIR"} . ":$ENV{PATH}"; +# Add the parent dir to PATH so we can find the compiled tools. +$ENV{"PATH"} = dirname(abs_path(dirname($0))) . ":$ENV{PATH}"; $ENV{"TUSER"} = getpwuid($>); $ENV{"TGROUP"} = getgrgid($)); +open(TEST_FILE, $ARGV[0]); + +# Create a tempdir to run in for parallel test execution. +my $tmpdir = $ARGV[0] . ".dir"; +rmtree($tmpdir); +if (!mkdir($tmpdir)) { + $tmpdir = getcwd() . "/" . basename($ARGV[0]) . ".dir"; + rmtree($tmpdir); + mkdir($tmpdir) or die "could not create $tmpdir"; +} +my $pretmpdir = getcwd(); +chdir($tmpdir) or die "could not enter $tmpdir"; + sub exec_test($$); sub process_test($$$$); @@ -66,7 +88,7 @@ my $lineno; my $width = ($ENV{COLUMNS} || 80) >> 1; for (;;) { - my $line = <>; $lineno++; + my $line = <TEST_FILE>; $lineno++; if (defined $line) { # Substitute %VAR and %{VAR} with environment variables. $line =~ s[%(\w+)][$ENV{$1}]eg; @@ -106,6 +128,11 @@ if (isatty(fileno(STDOUT))) { } } print $status, "\n"; + +# Now clean up the testdir. +chdir($pretmpdir); +rmtree($tmpdir); + exit $failed ? 1 : 0; |