1*91f110e0Safresh1#!./perl 2*91f110e0Safresh1 3*91f110e0Safresh1use strict; 4*91f110e0Safresh1use warnings; 5*91f110e0Safresh1 6*91f110e0Safresh1# Test ${^GLOBAL_PHASE} 7*91f110e0Safresh1# 8*91f110e0Safresh1# Test::More, t/test.pl, etc., assert plans in END, which happens before global 9*91f110e0Safresh1# destruction. We do not want to use those programs/libraries here, so we 10*91f110e0Safresh1# place this file in directory t/opbasic. 11*91f110e0Safresh1 12*91f110e0Safresh1BEGIN { print "1..7\n" } 13*91f110e0Safresh1 14*91f110e0Safresh1sub ok ($$) { 15*91f110e0Safresh1 print "not " if !$_[0]; 16*91f110e0Safresh1 print "ok"; 17*91f110e0Safresh1 print " - $_[1]" if defined $_[1]; 18*91f110e0Safresh1 print "\n"; 19*91f110e0Safresh1} 20*91f110e0Safresh1 21*91f110e0Safresh1BEGIN { 22*91f110e0Safresh1 ok ${^GLOBAL_PHASE} eq 'START', 'START'; 23*91f110e0Safresh1} 24*91f110e0Safresh1 25*91f110e0Safresh1CHECK { 26*91f110e0Safresh1 ok ${^GLOBAL_PHASE} eq 'CHECK', 'CHECK'; 27*91f110e0Safresh1} 28*91f110e0Safresh1 29*91f110e0Safresh1INIT { 30*91f110e0Safresh1 ok ${^GLOBAL_PHASE} eq 'INIT', 'INIT'; 31*91f110e0Safresh1} 32*91f110e0Safresh1 33*91f110e0Safresh1ok ${^GLOBAL_PHASE} eq 'RUN', 'RUN'; 34*91f110e0Safresh1 35*91f110e0Safresh1sub Moo::DESTROY { 36*91f110e0Safresh1 ok ${^GLOBAL_PHASE} eq 'RUN', 'DESTROY is run-time too, usually'; 37*91f110e0Safresh1} 38*91f110e0Safresh1 39*91f110e0Safresh1my $tiger = bless {}, Moo::; 40*91f110e0Safresh1 41*91f110e0Safresh1sub Kooh::DESTROY { 42*91f110e0Safresh1 ok ${^GLOBAL_PHASE} eq 'DESTRUCT', 'DESTRUCT'; 43*91f110e0Safresh1} 44*91f110e0Safresh1 45*91f110e0Safresh1our $affe = bless {}, Kooh::; 46*91f110e0Safresh1 47*91f110e0Safresh1END { 48*91f110e0Safresh1 ok ${^GLOBAL_PHASE} eq 'END', 'END'; 49*91f110e0Safresh1} 50