From: chromatic <chromatic@wgz.org>
Date: Mon, 8 Oct 2001 14:05:32 +0000 (-0600)
Subject: Fix Debian Failures on Test 22
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6eca140854a73c1ec4270b4256675f7be02d7709;p=p5sagit%2Fp5-mst-13.2.git

Fix Debian Failures on Test 22
Message-ID: <20011008201126.73702.qmail@onion.perl.org>

p4raw-id: //depot/perl@12368
---

diff --git a/lib/Term/Cap.t b/lib/Term/Cap.t
index f3da8c9..86198dc 100644
--- a/lib/Term/Cap.t
+++ b/lib/Term/Cap.t
@@ -1,6 +1,8 @@
 #!./perl
 
+my $file;
 BEGIN {
+	$file = $0;
 	chdir 't' if -d 't';
 	@INC = '../lib';
 }
@@ -34,14 +36,14 @@ is( $path, $files, 'termcap_path() should find default files' );
 
 SKIP: {
 	# this is ugly, but -f $0 really *ought* to work
-	skip("-f $0 fails, some tests difficult now", 2) unless -f $0;
+	skip("-f $file fails, some tests difficult now", 2) unless -f $file;
 
-	$ENV{TERMCAP} = $ENV{TERMPATH} = $0;
-	ok( grep($0, Term::Cap::termcap_path()), 
+	$ENV{TERMCAP} = $ENV{TERMPATH} = $file;
+	ok( grep($file, Term::Cap::termcap_path()), 
 		'termcap_path() should find file from $ENV{TERMCAP}' );
 
 	$ENV{TERMCAP} = (grep { $^O eq $_ } qw( os2 MSWin32 dos )) ? 'a:/' : '/';
-	ok( grep($0, Term::Cap::termcap_path()), 
+	ok( grep($file, Term::Cap::termcap_path()), 
 		'termcap_path() should find file from $ENV{TERMPATH}' );
 }
 
@@ -100,18 +102,17 @@ $ENV{TERMCAP} = '';
 eval { $t = Term::Cap->Tgetent($vals) };
 isn't( $@, '', 'Tgetent() should catch bad termcap file' );
 
-# if there's no valid termcap file found, it should croak
-$vals->{TERM} = '';
-$ENV{TERMPATH} = $0;
-eval { $t = Term::Cap->Tgetent($vals) };
-like( $@, qr/failed termcap lookup/, 'Tgetent() should dies with bad termcap' );
-
 SKIP: {
-	skip( "Can't write 'tcout' file for tests", 8 ) unless $writable;
+	skip( "Can't write 'tcout' file for tests", 9 ) unless $writable;
+
+	# it won't find the termtype in this fake file, so it should croak
+	$vals->{TERM} = 'quux';
+	$ENV{TERMPATH} = 'tcout';
+	eval { $t = Term::Cap->Tgetent($vals) };
+	like( $@, qr/failed termcap/, 'Tgetent() should die with bad termcap' );
 
 	# it shouldn't try to read one file more than 32(!) times
 	# see __END__ for a really awful termcap example
-
 	$ENV{TERMPATH} = join(' ', ('tcout') x 33);
 	$vals->{TERM} = 'bar';
 	eval { $t = Term::Cap->Tgetent($vals) };