Re: [PATCH fresh_perl.t] Being more careful about newlines

2005-07-28 Thread Rafael Garcia-Suarez
Michael G Schwern wrote:
> Removing the auto-newline appending in fresh_perl_is() exposed some newline
> sloppiness in t/run/fresh_perl.t.
> 
> * When switches were stripped from test code a blank line was left.
>   This confused attempts by fresh_perl to display the first line of the
>   program as a default name.
> 
> * Some programs have no expected output, we only care that they don't
>   segfault.  These would warn as the expected output was undef.
> 
> * Tests with no switches generated undef warnings.
> 
> * Separating the test into the program and the expected part stripped
>   the trailing newline off the program causing a test to fail which
>   ended in a here-doc separator.

Thanks, applied as #25239.


[PATCH fresh_perl.t] Being more careful about newlines

2005-07-22 Thread Michael G Schwern
Removing the auto-newline appending in fresh_perl_is() exposed some newline
sloppiness in t/run/fresh_perl.t.

* When switches were stripped from test code a blank line was left.
  This confused attempts by fresh_perl to display the first line of the
  program as a default name.

* Some programs have no expected output, we only care that they don't
  segfault.  These would warn as the expected output was undef.

* Tests with no switches generated undef warnings.

* Separating the test into the program and the expected part stripped
  the trailing newline off the program causing a test to fail which
  ended in a here-doc separator.


-- 
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern
Reality is that which, when you stop believing in it, doesn't go away.
-- Phillip K. Dick
--- run/fresh_perl.t2005/07/22 19:39:34 1.1
+++ run/fresh_perl.t2005/07/22 19:47:35
@@ -35,11 +35,13 @@
 my($raw_prog, $name) = @$prog;
 
 my $switch;
-if ($raw_prog =~ s/^\s*(-\w.*)//){
+if ($raw_prog =~ s/^\s*(-\w.*)\n//){
$switch = $1;
 }
 
 my($prog,$expected) = split(/\nEXPECT\n/, $raw_prog);
+$prog .= "\n";
+$expected = '' unless defined $expected;
 
 if ($prog =~ /^\# SKIP: (.+)/m) {
if (eval $1) {
@@ -50,7 +52,7 @@
 
 $expected =~ s/\n+$//;
 
-fresh_perl_is($prog, $expected, { switches => [$switch] }, $name);
+fresh_perl_is($prog, $expected, { switches => [$switch || ''] }, $name);
 }
 
 __END__
@@ -383,7 +385,7 @@
 -w
 sub testme { my $a = "test"; { local $a = "new test"; print $a }}
 EXPECT
-Can't localize lexical variable $a at - line 2.
+Can't localize lexical variable $a at - line 1.
 
 package X;
 sub ascalar { my $r; bless \$r }
@@ -510,7 +512,7 @@
   if ($x == 0) { print "" } else { print $x }
 }
 EXPECT
-Use of uninitialized value $x in numeric eq (==) at - line 4.
+Use of uninitialized value $x in numeric eq (==) at - line 3.
 
 $x = sub {};
 foo();
@@ -651,8 +653,9 @@
 close STDERR; die;
 EXPECT
 
+# core dump in 2716.007
 -w
-"x" =~ /(\G?x)?/;  # core dump in 2716.007
+"x" =~ /(\G?x)?/;
 
 # Bug 20010515.004
 my @h = 1 .. 10;