This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Get t/uni/gv.t working under minitest
[perl5.git] / t / uni / gv.t
index ec4f62e..5ea70c1 100644 (file)
@@ -6,15 +6,16 @@
 
 BEGIN {
     chdir 't' if -d 't';
-    @INC = '../lib';
     require './test.pl';
+    @INC = () unless is_miniperl();
+    unshift @INC, '../lib';
 }
 
 use utf8;
 use open qw( :utf8 :std );
 use warnings;
 
-plan( tests => 212 );
+plan( tests => 207 );
 
 # type coersion on assignment
 $ᕘ = 'ᕘ';
@@ -194,15 +195,6 @@ is (*{*Ẋ{GLOB}}, "*main::STDOUT");
     my $a = "Sʎm000";
     ok(!defined *{$a});
 
-    ok(!defined @{$a});
-    ok(!defined *{$a});
-
-    {
-       no warnings 'deprecated';
-       ok(!defined %{$a});
-    }
-    ok(!defined *{$a});
-
     ok(!defined ${$a});
     ok(!defined *{$a});
 
@@ -294,7 +286,7 @@ is($J[0], 1);
 
 {
     SKIP: {
-        skip_if_miniperl('no dynamic loading on miniperl, no Encode');
+        skip_if_miniperl('no dynamic loading on miniperl, no Encode', 2);
         # Need some sort of die or warn to get the global destruction text if the
         # bug is still present
         my $prog = <<'EOPROG';
@@ -320,8 +312,7 @@ EOPROG
     }
 }
 
-TODO: {
-    local $TODO = "prototype() (and prototypes in general) not yet clean";
+{
     # Possibly not the correct test file for these tests.
     # There are certain space optimisations implemented via promotion rules to
     # GVs
@@ -397,8 +388,7 @@ sub Ṩp맅싵Ş () {
 }
 
 # Check that assignment to an existing subroutine works
-TODO: {
-  local $TODO = "Warnings not yet UTF-8 clean";
+{
   my $w = '';
   local $SIG{__WARN__} = sub { $w = $_[0] };
   *{"Ṩp맅싵Ş"} = \&{"оઓnḲ"};
@@ -497,13 +487,12 @@ is (ref \$::{ビfᶠ}, 'GLOB', "Symbol table has full typeglob");
     is($ᕘf, 4);
 }
 
-TODO: {
-local $TODO = "Prototypes not yet clean";
+{
 no warnings 'once';
 format =
 .
     
-    foreach my $value ([1,2,3], {1=>2}, *STDOUT{IO}, \&ok, *STDOUT{FORMAT}) {
+    foreach my $value ({1=>2}, *STDOUT{IO}, \&ok, *STDOUT{FORMAT}) {
         # *STDOUT{IO} returns a reference to a PVIO. As it's blessed, ref returns
         # IO::Handle, which isn't what we want.
         my $type = $value;
@@ -590,8 +579,7 @@ $::{Ḟ앜ɞ} = *ŚyṀ;
 is (eval 'local *::Ḟ앜ɞ = \"chuck"; $Ḟ앜ɞ', 'chuck',
        "Localized glob didn't coerce into a RV");
 is ($@, '', "Can localize FAKE glob that's present in stash");
-TODO: {
-    local $TODO = q!$::{glob} = "something"; not yet clean.!;
+{
     is (scalar $::{Ḟ앜ɞ}, "*main::ŚyṀ",
             "Localized FAKE glob's value was correctly restored");
 }
@@ -633,8 +621,7 @@ EOF
 }
 
 # [perl #77362] various bugs related to globs as PVLVs
-TODO: {
- local $TODO = "Glob stringify not fully clean yet.";
+{
  no warnings qw 'once void';
  my %h; # We pass a key of this hash to the subroutine to get a PVLV.
  sub { for(shift) {
@@ -645,8 +632,7 @@ TODO: {
   # Bad symbol for array
   ok eval{ @$_; 1 }, 'PVLV glob slots can be autovivified' or diag $@;
 
-    TODO: {
-        local $TODO = "Tie not yet clean";
+    {
         # This should call TIEHANDLE, not TIESCALAR
         *thèxt::TIEHANDLE = sub{};
         ok eval{ tie *$_, 'thèxt'; 1 }, 'PVLV globs can be tied as handles'