tests: Migrate sourced strace file into a function, require_strace_.

* tests/strace: Remove file.
* tests/test-lib.sh (require_strace_): New function.
* tests/mv/atomic: Use require_strace_, rather than ". strace".
* tests/ls/stat-free-symlinks: Likewise.
Peter Fales reported that stat-free-symlinks failed without strace.
This commit is contained in:
Jim Meyering
2008-02-11 20:54:38 +01:00
parent 5b954a8756
commit 6ed90c719e
4 changed files with 14 additions and 26 deletions

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# ensure that ls does not stat a symlink in an unusual case
# Copyright (C) 2007 Free Software Foundation, Inc.
# Copyright (C) 2007-2008 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,8 +21,8 @@ if test "$VERBOSE" = yes; then
ls --version
fi
. $srcdir/../strace
. $srcdir/../test-lib.sh
require_strace_
touch x || framework_failure
chmod a+x x || framework_failure

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# ensure that mv doesn't first unlink its destination in one particular case
# Copyright (C) 2006-2007 Free Software Foundation, Inc.
# Copyright (C) 2006-2008 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,8 +21,8 @@ if test "$VERBOSE" = yes; then
mv --version
fi
. $srcdir/../strace
. $srcdir/../test-lib.sh
require_strace_
# Before the fix, mv would unnecessarily unlink the destination symlink:
# $ rm -rf s[12]; ln -s / s1; ln -s /tmp s2; strace -qe unlink /bin/mv -T s1 s2

View File

@@ -1,22 +0,0 @@
# Skip the current test if strace is not available or doesn't work.
# Copyright (C) 2007 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
strace -V < /dev/null > /dev/null 2>&1 ||
skip_test_ 'no strace program'
strace -qe unlink echo > /dev/null 2>&1 ||
skip_test_ 'strace does not work'

View File

@@ -39,6 +39,16 @@ require_ulimit_()
&& skip_test_ "this shell lacks ulimit support"
}
# Skip the current test if strace is not available or doesn't work.
require_strace_()
{
strace -V < /dev/null > /dev/null 2>&1 ||
skip_test_ 'no strace program'
strace -qe unlink echo > /dev/null 2>&1 ||
skip_test_ 'strace does not work'
}
require_built_()
{
skip_=no