From 856e93df7667578d7a425e1ab6da71c113954f97 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 5 Jun 2006 20:05:00 +0000 Subject: Rename file to avoid bugs with VPATH builds and Solaris 'make'. --- tests/misc/pwd-long | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 tests/misc/pwd-long (limited to 'tests/misc/pwd-long') diff --git a/tests/misc/pwd-long b/tests/misc/pwd-long new file mode 100755 index 000000000..7975960e4 --- /dev/null +++ b/tests/misc/pwd-long @@ -0,0 +1,63 @@ +#!/bin/sh + +: ${PERL=perl} + +$PERL -e 1 > /dev/null 2>&1 || { + echo 1>&2 "$0: configure didn't find a usable version of Perl," \ + "so can't run this test" + exit 77 +} + +framework_failure=0 +pwd=`${BUILD_SRC_DIR?}/pwd` || framework_failure=1 +t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ +trap 'status=$?; cd $pwd; chmod -R u+rwx $t0; rm -rf $t0 && exit $status' 0 +trap '(exit $?); exit $?' 1 2 13 15 + +mkdir -p $tmp || framework_failure=1 +cd $tmp || framework_failure=1 + +if test $framework_failure = 1; then + echo "$0: failure in testing framework" 1>&2 + (exit 1); exit 1 +fi + +ARGV_0=$0 +export ARGV_0 + +CWD=$pwd/$tmp +export CWD + +$PERL -w -- - <<\EOF + +# Show that pwd works even when the length of the resulting +# directory name is longer than PATH_MAX. +use strict; +use Cwd; + +(my $ME = $ENV{ARGV_0}) =~ s|.*/||; + +my $cwd = $ENV{CWD}; +my $z = 'z' x 31; +my $n = 256; +my $expected = $cwd . ("/$z" x $n); + +my $i = 0; +do + { + mkdir $z, 0700 + or die "$ME: at depth $i: $!\n"; + chdir $z; + } +until (++$i == $n); + +my $build_src_dir = $ENV{BUILD_SRC_DIR}; +$build_src_dir + or die "$ME: envvar BUILD_SRC_DIR not defined\n"; +my $pwd_binary = "$build_src_dir/pwd"; +-x $pwd_binary + or die "$ME: $pwd_binary is not an executable file\n"; +chomp (my $actual = `$pwd_binary`); +$expected eq $actual + or die "$ME: $expected\n$actual\n"; +EOF -- cgit v1.2.3-54-g00ecf