develooper Front page | perl.perl5.porters | Postings from October 2000

off to a bad start on fixing regression tests

From:
Peter Prymmer
Date:
October 9, 2000 17:32
Subject:
off to a bad start on fixing regression tests
Message ID:
Pine.OSF.4.10.10010091724570.260786-100000@aspara.forte.com

With the 7159 kit on OS/390 I have managed to turn this:

 $ cd t 
 $ ./perl op/oct.t
 <snip>
 ok 39
 not ok 40
 ok 41
 ok 42
 ok 43
 not ok 44

into this:

 not ok 44

with this patch:

--- t/op/oct.t.orig	Mon Oct  9 16:36:49 2000
+++ t/op/oct.t	Mon Oct  9 16:59:43 2000
@@ -57,11 +57,29 @@
 print $_ eq "\0"."_"."7"."_"."7"       ? "ok" : "not ok", " 38\n";
 chop, chop, chop, chop;
 print $_ eq "\0"                       ? "ok" : "not ok", " 39\n";
-print "\077_" eq "?_"                  ? "ok" : "not ok", " 40\n";
+if (ord("\t") != 9) {
+    # question mark is 111 in 1047, 037, && POSIX-BC
+    print "\157_" eq "?_"                  ? "ok" : "not ok", " 40\n";
+}
+else {
+    print "\077_" eq "?_"                  ? "ok" : "not ok", " 40\n";
+}
 
 $_ = "\x_7_7";
 print length eq 5                      ? "ok" : "not ok", " 41\n";
 print $_ eq "\0"."_"."7"."_"."7"       ? "ok" : "not ok", " 42\n";
 chop, chop, chop, chop;
 print $_ eq "\0"                       ? "ok" : "not ok", " 43\n";
-print "\x2F_" eq "/_"                  ? "ok" : "not ok", " 44\n";
+if (ord("\t") != 9) {
+    if (ord("~") == 161) {
+        # \ is 224 in 1047 && 037
+        print "\xE0_" eq "/_"                  ? "ok" : "not ok", " 44\n";
+    }
+    else {
+        # \ is 188 in POSIX-BC
+        print "\xBC_" eq "/_"                  ? "ok" : "not ok", " 44\n";
+    }
+}
+else {
+    print "\x2F_" eq "/_"                  ? "ok" : "not ok", " 44\n";
+}
End of "Patch"

The odd thing is that the in-eq-quality of "\xE0_" and "/_" appears
under both perl 5.005_03 and @7159 as these one-liners demonstrate:

 $ perl5.005_03 -e ' print "\xE0_" eq "/_"   ? "ok" : "not ok", " 44\n";'
 not ok 44
 $ perl5.005_03 -e ' print "\x{E0}_" eq "/_" ? "ok" : "not ok", " 44\n";'
 not ok 44
 $ perl5.005_03 -e ' print "\xE0_" ' | od -c
 0000000000     \   _
 0000000002

 $ ./perl5.7.0  -e ' print "\xE0_" ' | od -h
 0000000000    E0  6D
 0000000002
 $

I am mystified.

Peter Prymmer






nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About