This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Various .t files: Use globals to see if on EBCDIC
authorKarl Williamson <khw@cpan.org>
Fri, 3 Apr 2015 18:06:39 +0000 (12:06 -0600)
committerKarl Williamson <khw@cpan.org>
Tue, 25 Aug 2015 22:58:01 +0000 (16:58 -0600)
These globals are already available; by using them instead of rolling
our own, it makes it easer to grep for these kinds of instances.

lib/bytes.t
lib/utf8.t
t/op/chr.t
t/op/lex.t
t/op/oct.t
t/op/split.t
t/op/sub_lval.t
t/op/tr.t
t/op/vec.t
t/op/ver.t

index 8fc535f..4e50ff3 100644 (file)
@@ -33,20 +33,20 @@ utf8::encode(my $c2_utf8 = $c2);
 
 {
     use bytes;
-    if (ord('A') == 193) { # EBCDIC?
+    if ($::IS_EBCDIC) { # EBCDIC?
        is(ord($c), 0x8c, "ord under use bytes looks at the 1st byte");
     } else {
        is(ord($c), 0xc4, "ord under use bytes looks at the 1st byte");
     }
     is(length($c), 2, "length under use bytes looks at bytes");
     is(bytes::length($c), 2, "bytes::length under use bytes looks at bytes");
-    if (ord('A') == 193) { # EBCDIC?
+    if ($::IS_EBCDIC) { # EBCDIC?
        is(bytes::ord($c), 0x8c, "bytes::ord under use bytes looks at the 1st byte");
     } else {
        is(bytes::ord($c), 0xc4, "bytes::ord under use bytes looks at the 1st byte");
     }
     # In z/OS \x41,\x8c are the codepoints corresponding to \x80,\xc4 respectively under ASCII platform
-    if (ord('A') == 193) { # EBCDIC?
+    if ($::IS_EBCDIC) { # EBCDIC?
         is(bytes::substr($c, 0, 1), "\x8c", "bytes::substr under use bytes looks at bytes");
         is(bytes::index($c, "\x41"), 1, "bytes::index under use bytes looks at bytes");
         is(bytes::rindex($c, "\x8c"), 0, "bytes::rindex under use bytes looks at bytes");
index bf722f3..275e7c9 100644 (file)
@@ -270,7 +270,7 @@ BANG
 #   "my" variable $strict::VERSION can't be in a package
 #
 SKIP: {
-    skip("Embedded UTF-8 does not work in EBCDIC", 1) if ord("A") == 193;
+    skip("Embedded UTF-8 does not work in EBCDIC", 1) if $::IS_EBCDIC;
     ok('' eq runperl(prog => <<'CODE'), "change #17928");
        my $code = qq{ my \$\xe3\x83\x95\xe3\x83\xbc = 5; };
     {
@@ -324,7 +324,7 @@ END
 }
 
 SKIP: {
-    skip("Embedded UTF-8 does not work in EBCDIC", 1) if ord("A") == 193;
+    skip("Embedded UTF-8 does not work in EBCDIC", 1) if $::IS_EBCDIC;
     use utf8;
     is eval qq{q \xc3\xbc test \xc3\xbc . qq\xc2\xb7 test \xc2\xb7},
       ' test  test ',
@@ -347,7 +347,7 @@ SKIP: {
     ok( utf8::is_utf8($c), "utf8::is_utf8 unicode");
 
     is(utf8::upgrade($a), 1, "utf8::upgrade basic");
-    if (ord('A') == 193) { # EBCDIC.
+    if ($::IS_EBCDIC) { # EBCDIC.
        is(utf8::upgrade($b), 1, "utf8::upgrade beyond");
     } else {
        is(utf8::upgrade($b), 2, "utf8::upgrade beyond");
@@ -383,7 +383,7 @@ SKIP: {
     utf8::encode($c);
 
     is($a, "A",       "basic");
-    if (ord('A') == 193) { # EBCDIC.
+    if ($::IS_EBCDIC) { # EBCDIC.
        is(length($b), 1, "beyond length");
     } else {
        is(length($b), 2, "beyond length");
@@ -412,7 +412,7 @@ SKIP: {
     ok(utf8::valid($c), " utf8::valid unicode");
 
     ok(!utf8::is_utf8($a), "!utf8::is_utf8 basic");
-    if (ord('A') == 193) { # EBCDIC.
+    if ($::IS_EBCDIC) { # EBCDIC.
        ok( utf8::is_utf8(pack('U',0x0ff)), " utf8::is_utf8 beyond");
     } else {
        ok( utf8::is_utf8($b), " utf8::is_utf8 beyond"); # $b stays in UTF-8.
index 3546f02..b909c90 100644 (file)
@@ -49,7 +49,7 @@ is chr "-2.2", chr -2.2, 'chr "-2.2" eq chr -2.2';
 
 # Check UTF-8 (not UTF-EBCDIC).
 SKIP: {
-    skip "no UTF-8 on EBCDIC", 21 if chr(193) eq 'A';
+    skip "no UTF-8 on EBCDIC", 21 if $::IS_EBCDIC;
 
 sub hexes {
     no warnings 'utf8'; # avoid surrogate and beyond Unicode warnings
index a4ce65c..c515449 100644 (file)
@@ -129,7 +129,7 @@ fresh_perl_is(
   '* <null> ident'
 );
 SKIP: {
-    skip "Different output on EBCDIC (presumably)", 2 if ord("A") != 65;
+    skip "Different output on EBCDIC (presumably)", 2 if $::IS_EBCDIC;
     fresh_perl_is(
       qq'"ab}"ax;&\0z\x8Ao}\x82x;', <<gibberish,
 Bareword found where operator expected at - line 1, near ""ab}"ax"
index 2324655..84814b1 100644 (file)
@@ -111,7 +111,7 @@ is(length, 5,
 is($_, "\0"."_"."7"."_"."7", "string concatenation with nul character");
 chop, chop, chop, chop;
 is($_, "\0", "repeated chop() eliminated all but nul character");
-if (ord("\t") != 9) {
+if ($::IS_EBCDIC) {
     is("\157_", "?_",
         "question mark is 111 in 1047, 037, && POSIX-BC");
 }
@@ -126,7 +126,7 @@ is(length, 5,
 is($_, "\0"."_"."7"."_"."7", "string concatenation with nul character");
 chop, chop, chop, chop;
 is($_, "\0", "repeated chop() eliminated all but nul character");
-if (ord("\t") != 9) {
+if ($::IS_EBCDIC) {
     is("\x61_", "/_",
         "/ is 97 in 1047, 037, && POSIX-BC");
 }
index 50579bf..bcefcfa 100644 (file)
@@ -265,7 +265,7 @@ is($cnt, scalar(@ary));
     my $s = "\x20\x40\x{80}\x{100}\x{80}\x40\x20";
 
   SKIP: {
-    if (ord('A') == 193) {
+    if ($::IS_EBCDIC) {
        skip("EBCDIC", 1);
     } else {
        # bug id 20000426.003
@@ -282,7 +282,7 @@ is($cnt, scalar(@ary));
     ok($a eq "\x20\x40" && $b eq "\x40\x20");
 
   SKIP: {
-    if (ord('A') == 193) {
+    if ($::IS_EBCDIC) {
        skip("EBCDIC", 1);
     }  else {
        my ($a, $b) = split(/\x40\x{80}/, $s);
index 9b0ad06..ab9faac 100644 (file)
@@ -530,7 +530,7 @@ is($str, "Hi, world!");
 
 $str = "Made w/ JavaScript";
 sub veclv : lvalue { vec($str, 2, 32) }
-if (ord('A') != 193) {
+if ($::IS_ASCII) {
     veclv() = 0x5065726C;
 }
 else { # EBCDIC?
index 508ab14..a130213 100644 (file)
--- a/t/op/tr.t
+++ b/t/op/tr.t
@@ -14,8 +14,6 @@ plan tests => 138;
 # This caused an asan failure due to a bad write past the end of the stack.
 eval { my $x; die  1..127, $x =~ y/// };
 
-my $Is_EBCDIC = (ord('i') == 0x89 & ord('J') == 0xd1);
-
 $_ = "abcdefghijklmnopqrstuvwxyz";
 
 tr/a-z/A-Z/;
@@ -96,7 +94,7 @@ is(length $x, 3);
 
 $x =~ tr/A/B/;
 is(length $x, 3);
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is($x, 256.66.258);
 }
 else {
@@ -110,7 +108,7 @@ is($x, 256.193.258);
 
 $x =~ tr/A/B/;
 is(length $x, 3);
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is($x, 256.193.258);
 }
 else {
@@ -326,7 +324,7 @@ is($c, 8);
 is($a, "XXXXXXXX");
 
 SKIP: {
-    skip "not EBCDIC", 4 unless $Is_EBCDIC;
+    skip "not EBCDIC", 4 unless $::IS_EBCDIC;
 
     $c = ($a = "\x89\x8a\x8b\x8c\x8d\x8f\x90\x91") =~ tr/i-j/X/;
     is($c, 2);
index 141a6da..33aedab 100644 (file)
@@ -8,7 +8,6 @@ BEGIN {
 
 plan( tests => 35 );
 
-my $Is_EBCDIC = (ord('A') == 193) ? 1 : 0;
 
 is(vec($foo,0,1), 0);
 is(length($foo), undef);
@@ -68,7 +67,7 @@ ok(! $@);
 $@ = undef;
 eval { vec($foo, 1, 8) = 13 };
 ok(! $@);
-if ($Is_EBCDIC) {
+if ($::IS_EBCDIC) {
     is($foo, "\x8c\x0d\xff\x8a\x69"); 
 }
 else {
index e896e9e..144a352 100644 (file)
@@ -19,7 +19,7 @@ is( $@, '', "use v5.5.640; $@");
 require_ok('v5.5.640');
 
 # printing characters should work
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is('ok ',v111.107.32,'ASCII printing characters');
 
     # hash keys too
@@ -40,7 +40,7 @@ $x = v77;
 is('ok',$x,'poetry optimization');
 
 # but not when dots are involved
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     $x = v77.78.79;
 }
 else {
@@ -58,7 +58,7 @@ is( $@, '', "use 5.5.640; $@");
 require_ok('5.5.640');
 
 # hash keys too
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     $h{111.107.32} = "ok";
 }
 else {
@@ -66,7 +66,7 @@ else {
 }
 is('ok',$h{ok },'hash keys w/o v');
 
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     $x = 77.78.79;
 }
 else {
@@ -77,7 +77,7 @@ is($x, 'MNO','poetry optimization with dots w/o v');
 is(1.20.300.4000, "\x{1}\x{14}\x{12c}\x{fa0}",'compare embedded \x{} string w/o v');
 
 # test sprintf("%vd"...) etc
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is(sprintf("%vd", "Perl"), '80.101.114.108', 'ASCII sprintf("%vd", "Perl")');
 }
 else {
@@ -86,7 +86,7 @@ else {
 
 is(sprintf("%vd", v1.22.333.4444), '1.22.333.4444', 'sprintf("%vd", v1.22.333.4444)');
 
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is(sprintf("%vx", "Perl"), '50.65.72.6c', 'ASCII sprintf("%vx", "Perl")');
 }
 else {
@@ -95,7 +95,7 @@ else {
 
 is(sprintf("%vX", 1.22.333.4444), '1.16.14D.115C','ASCII sprintf("%vX", 1.22.333.4444)');
 
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is(sprintf("%#*vo", ":", "Perl"), '0120:0145:0162:0154', 'ASCII sprintf("%vo", "Perl")');
 }
 else {
@@ -112,42 +112,42 @@ is(sprintf("%vd", join("", map { chr }
 {
     use bytes;
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vd", "Perl"), '80.101.114.108', 'ASCII sprintf("%vd", "Perl") w/use bytes');
     }
     else {
        is(sprintf("%vd", "Perl"), '215.133.153.147', 'EBCDIC sprintf("%vd", "Perl") w/use bytes');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vd", 1.22.333.4444), '1.22.197.141.225.133.156', 'ASCII sprintf("%vd", v1.22.333.4444 w/use bytes');
     }
     else {
        is(sprintf("%vd", 1.22.333.4444), '1.22.142.84.187.81.112', 'EBCDIC sprintf("%vd", v1.22.333.4444 w/use bytes');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vx", "Perl"), '50.65.72.6c', 'ASCII sprintf("%vx", "Perl")');
     }
     else {
        is(sprintf("%vx", "Perl"), 'd7.85.99.93', 'EBCDIC sprintf("%vx", "Perl")');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vX", v1.22.333.4444), '1.16.C5.8D.E1.85.9C', 'ASCII sprintf("%vX", v1.22.333.4444)');
     }
     else {
        is(sprintf("%vX", v1.22.333.4444), '1.16.8E.54.BB.51.70', 'EBCDIC sprintf("%vX", v1.22.333.4444)');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%#*vo", ":", "Perl"), '0120:0145:0162:0154', 'ASCII sprintf("%#*vo", ":", "Perl")');
     }
     else {
        is(sprintf("%#*vo", ":", "Perl"), '0327:0205:0231:0223', 'EBCDIC sprintf("%#*vo", ":", "Perl")');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%*vb", "##", v1.22.333.4444),
             '1##10110##11000101##10001101##11100001##10000101##10011100',
             'ASCII sprintf("%*vb", "##", v1.22.333.4444)');