?????????? ????????? - ??????????????? - /home/agenciai/public_html/cd38d8/Test-Exception-0.43-0.zip
???????
PK ��[%�e� � xt/pod.tnu �[��� use strict; use warnings; use Test::More; eval "use Test::Pod 1.00"; plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; all_pod_files_ok(); PK ��[8҇ � xt/documented.tnu �[��� use strict; use warnings; use Test::More; eval "use Test::Pod::Coverage 1.00"; plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD coverage" if $@; all_pod_coverage_ok(); PK ��[��+?B B xt/distmanifest.tnu �[��� use strict; use warnings; use Test::DistManifest; manifest_ok(); PK ��[ꘑV- - xt/perlcriticrcnu �[��� [-Subroutines::ProhibitSubroutinePrototypes] PK ��[N m�� � xt/perlcritic.tnu �[��� use strict; use warnings; use Test::More; eval "use Test::Perl::Critic (-profile => 'xt/perlcriticrc')"; plan skip_all => "Test::Perl::Critic required for criticism" if $@; all_critic_ok(); PK ��[#��G� � xt/spelling.tnu �[��� use strict; use warnings; use Test::More; use Test::Spelling; use Pod::Wordlist; add_stopwords( <DATA> ); all_pod_files_spelling_ok(); __DATA__ AnnoCPAN CPAN perlmonks RSS Boumans Cees Godin Harkins Hek Purkis Schleicher Muhlestein Perrin Prew Krieger LICENCE McCann Jos Jost qa Adrian Cantrell Janek Jore ben Khemir Nadim Pagaltzis Dolan RT Ricardo Signes Rabbitson Schwern Tulloh PK ��[ pm_to_blibnu �[��� PK ��[�"��s# s# Changesnu ȯ�� Revision history for Perl extension Test::Exception: 0.43 [2015-12-28] - No Changes from developer build 0.42_1 0.42_1 [2015-12-28] - Remove Test2/Test-Stream special cases, they are not needed 0.41 [2015-12-21] - Updated for Test2 0.40 [2015-06-05] - Updated for changes in Test::Stream (Use Test::Stream::Sync) 0.39 [2015-06-04] - Updated for changes in Test::Stream 0.38 [2015-02-27] - fixed repository link in metadata 0.37 [2015-02-27] - distribution is now managed by ExtUtils::MakeMaker (RT#102054) 0.36 [2015-01-08] - Fix bug when Test::More has been downgraded 0.35 [2014-09-20] - Fix a bug when Test::Builder isn't new (better version). 0.34 [2014-09-20] - Fix a bug when Test::Builder isn't new. 0.33 [2014-09-19] Or "Another Test-Simple change" - Fixed test broken by changes in Test::Builder and friends 0.32 [2013-04-28] Or the "prepping for upcoming Test::Simple 0.99" release - Fixed tests that broke due to Test::More diagnostic changes 0.31 [2010-10-10] Or the "Yay - an actual release!" release - Same as 0.30_2 0.30_2 [2010-10-06] Or the "oh what a to do" release - Added a bunch of folk to the acknowledgements - Added some clarifying documentation to respond to RT#59293 - Marked a test that was failing under T::B 2.0 until we figure out whether it should pass or not. See http://is.gd/fNOFb 0.30_1 [2010-10-04] Or the "Peter Rabbitson did all the work" release - Added dates to changes file, as far as we can from backpan et al - Fix for DB::args bug (thanks Peter Rabbitson) - Fix for bizarre-copy bug (thanks Peter Rabbitson) 0.29 [2010-01-11] - Same as 0.28_01 - Many thanks to Ricardo Signes for doing all the work getting this release out 0.28_01 - Patch to fix code with Sub::Uplevel again. Many thanks to David Golden 0.27 [2008-02-16] - Patch to fix my broken code with the now working Sub::Uplevel. Many thanks to David Golden 0.26 [2007-12-10] - Added some more exposition on the usage of dies_ok() and lives_ok() for those who found them confusing. Also reordered presentation of docs so more specific throws_ok() comes first. - Some misc. documentation tweaks. - Added some tests for RT#24678, but not actually fixed them yet (thanks to Joshua ben Jore & David Golden). They skip for now. - Tests should now pass on Strawberry/Vanilla Perl (thanks Nadim Khemir & Chris Dolan) - Added comment in docs about T::E not catching exit() in eval() blocks (thanks Peter Scott) - Updated Test::* & Sub::Uplevel version dependencies to something modern 0.25 [2007-02-15] - Updated Test::Simple dependency to make sure it is in sync with the latest T::B::T (thanks David Cantrell) 0.24 [2006-10-07] - Fixed a bunch of spelling mistakes in the POD - Added an (optional) spelling test in t/developer 0.23 [2006-10-03] - Added a bunch of missed acknowledgements - Made the fact that $@ is preserved by T::E subroutines explicit in the synopsis 0.22 - or the "about bloody time" release [2006-09-01] - We now test that the import works (it does :-) - Now works with exception classes that override isa - Added link to AnnoCPAN - Applied patch from Ben Prew to turn the misused TODO tests into proper Test::Builder::Tester tests - thanks Ben - Now cannot pass undef as the exception to throws_ok - The optional test description for lives_and is now optional :) - Can now have empty test description for throws_ok - Requires Sub::Uplevel 0.13 - squashing several bugs (thanks to David Golden for fixing Sub::Uplevel, and for reporting the issue - along with Cees Hek & Steve Purkis) - Uses Test::Pod::Coverage rather than home grown script - Added (optional) Perl::Critic tests - Updated Test::Builder::Tester dependency to 1.04 - Tidied up tests, code and POD a little - All developer tests live in t/developer and do not run by default - Added example of only using Test::Exception if it's installed (thanks to Rob Muhlestein for suggesting this) - Test coverage now at 100% (statement, branch, condition, subroutine & POD) according to Devel::Cover 0.58 0.21 [2005-06-04] - Most of build_requires should have been in requires, which was causing CPANPLUS to choke on installs. Fixed (thanks Jos I. Boumans) - Test names now called test descriptions to fit in with latest TAP style - Added link to tada list to TO DO section of documentation - Added COMMUNITY section to POD - Added description of how to use Test::Exception in a sub-passing non prototype style (after feedback from Jim Keenan & Perrin) 0.20 [2004-08-27] - fixed bug in lives_and where $Test::Builder::Level was set to high if test in block lived 0.19 [2004-08-15] - Added support for Module::Build 0.18 [2004-08-11] - Cosmetic POD tweaks - Added Test::Warn and Test::NoWarnings to SEE ALSO (thanks to Andy Lester for pointing out the lack) 0.17 [2004-01-18] - Tests now pass with Test::Simple 0.48 0.16 [] - pod.t now uses Test::Pod - cleaned up code a little - Fixed year in copyright in POD - Added import() after suggestion from Peter Scott - tidied tests a bit 0.15 [2003-01-28] - Removed live() and added lives_and() after an excellent suggestion from Aristotle - Default name for throws_ok now has better output when passed exceptions that overload "". - Refectored t/Exception.t a bit - Now handles bad exception classes that overload "" without overloading eq (thanks to Mark Fowler for bug report & patch). - extended _exception_as_string to cover undef and normal exit - made format of exception display in throws_ok constant with other functions. - extended _exception_as_string to add appropriate prefix 0.14 - Added live() - Added default test name for throws_ok if no supplied 0.13 [2003-01-06] - fixed MANIFEST and added MANIFEST.SKIP - better output for lives_ok and throws_ok if exception classes overload "" - bug where it would fail if Test::Builder::ok ever threw exceptions internally fixed. 0.12 [2002-08-26] - patched return.t so that it skips if we don't have a Test::Harness that can handle TODO tests (thanks to <chromatic@rmci.net> for pointing this out). - tweaked POD and README - Fixed prototypes 0.11 [2002-06-29] - corrected README file - refactored code a little - minor tweaks to POD - Added test to Exception.t that demonstrated bug in throws_ok (you couldn't regex an empty string - i.e. normal exit). - Fixed bug. 0.10 [2002-06-02] - Stopped over-exuberant pod.t and documented.t checking that other peoples modules were documented and had legal POD! - Couple of minor tweaks to the docs. - Added caller.t and patch to Exception.pm from Michael G Schwern to stop dies_ok, lives_ok and throws_ok interfering with caller(). Much better than the regex hack added in 0.08 --- which has now been removed. 0.09 [2002-06-01] - Fixed poor English in throws_ok docs. 0.08 [2002-05-31] - Added reference to Test::Inline to docs - Test::More now in PREREQ_PM - Culled some code that could never be called - Added t/pod.t and t/documented.t - Now bails if cannot load module in tests - Fixed typo of Text::Differences in docs - Added stacktrace.t to demontrate error reported by Janek Schleicher <bigj@kamelfreund.de> where a stacktrace in the exception can cause throws_ok to always succeed. - Stopped stacktrace.t failing. 0.07 [2002-04-12] - may_be_regex -> maybe_regex in Test::Builder 0.06 - couple of minor tweaks to the docs 0.05 - now uses may_be_regex public method from Test::Builder - should work & test under 5.005, don't have a perl to hand to double check so feedback welcome 0.04 - Can now pass regex-like strings as well as regexes. Thanks to Mark Fowler for the suggestion and Michael G Schwern for adding code to Test::Builder. 0.03 [2002-04-09] - dies_ok, lives_ok & throws_ok now all return the result of the underlying ok - $@ is now guaranteed to be preserved (and is documented as such). Thanks to Michael G Schwern for suggesting this. - Tests run tainted, strict & with warnings (just to be on the safe side :-) 0.02 [2002-04-09] - Documented properly 0.01 [2002-03-20] - original version; created by h2xs 1.21 with options -AX -n Test::Exception PK ��[� ��� � MANIFEST.SKIPnu �[��� #!start included /home/exodist/perl5/perlbrew/perls/main/lib/5.22.1/ExtUtils/MANIFEST.SKIP # Avoid version control files. \bRCS\b \bCVS\b \bSCCS\b ,v$ \B\.svn\b \B\.git\b \B\.gitignore\b \b_darcs\b \B\.cvsignore$ # Avoid VMS specific MakeMaker generated files \bDescrip.MMS$ \bDESCRIP.MMS$ \bdescrip.mms$ # Avoid Makemaker generated and utility files. \bMANIFEST\.bak \bMakefile$ \bblib/ \bMakeMaker-\d \bpm_to_blib\.ts$ \bpm_to_blib$ \bblibdirs\.ts$ # 6.18 through 6.25 generated this \b_eumm/ # 7.05_05 and above # Avoid Module::Build generated and utility files. \bBuild$ \b_build/ \bBuild.bat$ \bBuild.COM$ \bBUILD.COM$ \bbuild.com$ # and Module::Build::Tiny generated files \b_build_params$ # Avoid temp and backup files. ~$ \.old$ \#$ \b\.# \.bak$ \.tmp$ \.# \.rej$ \..*\.sw.?$ # Avoid OS-specific files/dirs # Mac OSX metadata \B\.DS_Store # Mac OSX SMB mount metadata files \B\._ # Avoid Devel::Cover and Devel::CoverX::Covered files. \bcover_db\b \bcovered\b # Avoid prove files \B\.prove$ # Avoid MYMETA files ^MYMETA\. #!end included /home/exodist/perl5/perlbrew/perls/main/lib/5.22.1/ExtUtils/MANIFEST.SKIP .ackrc Test-Exception-.*/ Test-Exception-.*.tar.gz todo.txt PK ��[���j� j� Makefilenu �[��� # This Makefile is for the Test::Exception extension to perl. # # It was generated automatically by MakeMaker version # 7.60 (Revision: 76000) from the contents of # Makefile.PL. Don't edit this file, edit Makefile.PL instead. # # ANY CHANGES MADE HERE WILL BE LOST! # # MakeMaker ARGV: () # # MakeMaker Parameters: # ABSTRACT_FROM => q[lib/Test/Exception.pm] # AUTHOR => [q[Adrian Howard <adrianh@quietstars.com>]] # BUILD_REQUIRES => { } # CONFIGURE_REQUIRES => { ExtUtils::MakeMaker=>q[0] } # LICENSE => q[perl_5] # META_ADD => { prereqs=>{ configure=>{ requires=>{ ExtUtils::MakeMaker=>q[0] } }, runtime=>{ requires=>{ Carp=>q[0], Exporter=>q[0], Sub::Uplevel=>q[0.18], Test::Builder=>q[0.7], Test::Builder::Tester=>q[1.07], Test::Harness=>q[2.03], base=>q[0], perl=>q[5.006001], strict=>q[0], warnings=>q[0] } }, test=>{ requires=>{ Test::More=>q[0.7], overload=>q[0] } } } } # META_MERGE => { dynamic_config=>q[0], meta-spec=>{ version=>q[2] }, resources=>{ bugtracker=>{ web=>q[https://github.com/Test-More/test-exception/issues] }, homepage=>q[https://github.com/Test-More/test-exception], repository=>{ type=>q[git], url=>q[https://github.com/Test-More/test-exception.git], web=>q[https://github.com/Test-More/test-exception] } }, x_IRC=>q[irc://irc.perl.org/#perl-qa], x_MailingList=>q[http://lists.perl.org/list/perl-qa.html], x_authority=>q[cpan:ADIE] } # MIN_PERL_VERSION => q[5.006001] # NAME => q[Test::Exception] # PREREQ_PM => { Carp=>q[0], Exporter=>q[0], Sub::Uplevel=>q[0.18], Test::Builder=>q[0.7], Test::Builder::Tester=>q[1.07], Test::Harness=>q[2.03], Test::More=>q[0.7], base=>q[0], overload=>q[0], strict=>q[0], warnings=>q[0] } # TEST_REQUIRES => { Test::More=>q[0.7], overload=>q[0] } # VERSION_FROM => q[lib/Test/Exception.pm] # --- MakeMaker post_initialize section: # --- MakeMaker const_config section: # These definitions are from config.sh (via /usr/lib64/perl5/Config.pm). # They may have been overridden via Makefile.PL or on the command line. AR = ar CC = gcc CCCDLFLAGS = -fPIC CCDLFLAGS = -Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 DLEXT = so DLSRC = dl_dlopen.xs EXE_EXT = FULL_AR = /usr/bin/ar LD = gcc LDDLFLAGS = -lpthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -L/usr/local/lib -fstack-protector-strong LDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fstack-protector-strong -L/usr/local/lib LIBC = /lib/../lib64/libc.so.6 LIB_EXT = .a OBJ_EXT = .o OSNAME = linux OSVERS = 4.18.0-513.18.1.el8_9.x86_64 RANLIB = : SITELIBEXP = /usr/local/share/perl5/5.32 SITEARCHEXP = /usr/local/lib64/perl5/5.32 SO = so VENDORARCHEXP = /usr/lib64/perl5/vendor_perl VENDORLIBEXP = /usr/share/perl5/vendor_perl # --- MakeMaker constants section: AR_STATIC_ARGS = cr DIRFILESEP = / DFSEP = $(DIRFILESEP) NAME = Test::Exception NAME_SYM = Test_Exception VERSION = 0.43 VERSION_MACRO = VERSION VERSION_SYM = 0_43 DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" XS_VERSION = 0.43 XS_VERSION_MACRO = XS_VERSION XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" INST_ARCHLIB = blib/arch INST_SCRIPT = blib/script INST_BIN = blib/bin INST_LIB = blib/lib INST_MAN1DIR = blib/man1 INST_MAN3DIR = blib/man3 MAN1EXT = 1 MAN3EXT = 3pm MAN1SECTION = 1 MAN3SECTION = 3 INSTALLDIRS = site DESTDIR = PREFIX = $(SITEPREFIX) PERLPREFIX = /usr SITEPREFIX = /usr/local VENDORPREFIX = /usr INSTALLPRIVLIB = /usr/share/perl5 DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB) INSTALLSITELIB = /usr/local/share/perl5/5.32 DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB) INSTALLVENDORLIB = /usr/share/perl5/vendor_perl DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB) INSTALLARCHLIB = /usr/lib64/perl5 DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB) INSTALLSITEARCH = /usr/local/lib64/perl5/5.32 DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH) INSTALLVENDORARCH = /usr/lib64/perl5/vendor_perl DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH) INSTALLBIN = /usr/bin DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN) INSTALLSITEBIN = /usr/local/bin DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN) INSTALLVENDORBIN = /usr/bin DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN) INSTALLSCRIPT = /usr/bin DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT) INSTALLSITESCRIPT = /usr/local/bin DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT) INSTALLVENDORSCRIPT = /usr/bin DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT) INSTALLMAN1DIR = /usr/share/man/man1 DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR) INSTALLSITEMAN1DIR = /usr/local/share/man/man1 DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR) INSTALLVENDORMAN1DIR = /usr/share/man/man1 DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR) INSTALLMAN3DIR = /usr/share/man/man3 DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR) INSTALLSITEMAN3DIR = /usr/local/share/man/man3 DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR) INSTALLVENDORMAN3DIR = /usr/share/man/man3 DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR) PERL_LIB = /usr/share/perl5 PERL_ARCHLIB = /usr/lib64/perl5 PERL_ARCHLIBDEP = /usr/lib64/perl5 LIBPERL_A = libperl.a FIRST_MAKEFILE = Makefile MAKEFILE_OLD = Makefile.old MAKE_APERL_FILE = Makefile.aperl PERLMAINCC = $(CC) PERL_INC = /usr/lib64/perl5/CORE PERL_INCDEP = /usr/lib64/perl5/CORE PERL = "/usr/bin/perl" FULLPERL = "/usr/bin/perl" ABSPERL = $(PERL) PERLRUN = $(PERL) FULLPERLRUN = $(FULLPERL) ABSPERLRUN = $(ABSPERL) PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" PERL_CORE = 0 PERM_DIR = 755 PERM_RW = 644 PERM_RWX = 755 MAKEMAKER = /usr/share/perl5/vendor_perl/ExtUtils/MakeMaker.pm MM_VERSION = 7.60 MM_REVISION = 76000 # FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle) # PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar) # DLBASE = Basename part of dynamic library. May be just equal BASEEXT. MAKE = make FULLEXT = Test/Exception BASEEXT = Exception PARENT_NAME = Test DLBASE = $(BASEEXT) VERSION_FROM = lib/Test/Exception.pm OBJECT = LDFROM = $(OBJECT) LINKTYPE = dynamic BOOTDEP = # Handy lists of source code files: XS_FILES = C_FILES = O_FILES = H_FILES = MAN1PODS = MAN3PODS = lib/Test/Exception.pm # Where is the Config information that we are using/depend on CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_INCDEP)$(DFSEP)config.h # Where to build things INST_LIBDIR = $(INST_LIB)/Test INST_ARCHLIBDIR = $(INST_ARCHLIB)/Test INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT) INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT) INST_STATIC = INST_DYNAMIC = INST_BOOT = # Extra linker info EXPORT_LIST = PERL_ARCHIVE = PERL_ARCHIVEDEP = PERL_ARCHIVE_AFTER = TO_INST_PM = lib/Test/Exception.pm # --- MakeMaker platform_constants section: MM_Unix_VERSION = 7.60 PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc # --- MakeMaker tool_autosplit section: # Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto AUTOSPLITFILE = $(ABSPERLRUN) -e 'use AutoSplit; autosplit($$$$ARGV[0], $$$$ARGV[1], 0, 1, 1)' -- # --- MakeMaker tool_xsubpp section: # --- MakeMaker tools_other section: SHELL = /bin/sh CHMOD = chmod CP = cp MV = mv NOOP = $(TRUE) NOECHO = @ RM_F = rm -f RM_RF = rm -rf TEST_F = test -f TOUCH = touch UMASK_NULL = umask 0 DEV_NULL = > /dev/null 2>&1 MKPATH = $(ABSPERLRUN) -MExtUtils::Command -e 'mkpath' -- EQUALIZE_TIMESTAMP = $(ABSPERLRUN) -MExtUtils::Command -e 'eqtime' -- FALSE = false TRUE = true ECHO = echo ECHO_N = echo -n UNINST = 0 VERBINST = 0 MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => {@ARGV}, verbose => '\''$(VERBINST)'\'', uninstall_shadows => '\''$(UNINST)'\'', dir_mode => '\''$(PERM_DIR)'\'' ]);' -- DOC_INSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'perllocal_install' -- UNINSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'uninstall' -- WARN_IF_OLD_PACKLIST = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'warn_if_old_packlist' -- MACROSTART = MACROEND = USEMAKEFILE = -f FIXIN = $(ABSPERLRUN) -MExtUtils::MY -e 'MY->fixin(shift)' -- CP_NONEMPTY = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'cp_nonempty' -- # --- MakeMaker makemakerdflt section: makemakerdflt : all $(NOECHO) $(NOOP) # --- MakeMaker dist section: TAR = tar TARFLAGS = cvf ZIP = zip ZIPFLAGS = -r COMPRESS = gzip --best SUFFIX = .gz SHAR = shar PREOP = $(NOECHO) $(NOOP) POSTOP = $(NOECHO) $(NOOP) TO_UNIX = $(NOECHO) $(NOOP) CI = ci -u RCS_LABEL = rcs -Nv$(VERSION_SYM): -q DIST_CP = best DIST_DEFAULT = tardist DISTNAME = Test-Exception DISTVNAME = Test-Exception-0.43 # --- MakeMaker macro section: # --- MakeMaker depend section: # --- MakeMaker cflags section: # --- MakeMaker const_loadlibs section: # --- MakeMaker const_cccmd section: # --- MakeMaker post_constants section: # --- MakeMaker pasthru section: PASTHRU = LIBPERL_A="$(LIBPERL_A)"\ LINKTYPE="$(LINKTYPE)"\ PREFIX="$(PREFIX)"\ PASTHRU_DEFINE='$(DEFINE) $(PASTHRU_DEFINE)'\ PASTHRU_INC='$(INC) $(PASTHRU_INC)' # --- MakeMaker special_targets section: .SUFFIXES : .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT) .PHONY: all config static dynamic test linkext manifest blibdirs clean realclean disttest distdir pure_all subdirs clean_subdirs makemakerdflt manifypods realclean_subdirs subdirs_dynamic subdirs_pure_nolink subdirs_static subdirs-test_dynamic subdirs-test_static test_dynamic test_static # --- MakeMaker c_o section: # --- MakeMaker xs_c section: # --- MakeMaker xs_o section: # --- MakeMaker top_targets section: all :: pure_all manifypods $(NOECHO) $(NOOP) pure_all :: config pm_to_blib subdirs linkext $(NOECHO) $(NOOP) subdirs :: $(MYEXTLIB) $(NOECHO) $(NOOP) config :: $(FIRST_MAKEFILE) blibdirs $(NOECHO) $(NOOP) help : perldoc ExtUtils::MakeMaker # --- MakeMaker blibdirs section: blibdirs : $(INST_LIBDIR)$(DFSEP).exists $(INST_ARCHLIB)$(DFSEP).exists $(INST_AUTODIR)$(DFSEP).exists $(INST_ARCHAUTODIR)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists $(INST_SCRIPT)$(DFSEP).exists $(INST_MAN1DIR)$(DFSEP).exists $(INST_MAN3DIR)$(DFSEP).exists $(NOECHO) $(NOOP) # Backwards compat with 6.18 through 6.25 blibdirs.ts : blibdirs $(NOECHO) $(NOOP) $(INST_LIBDIR)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_LIBDIR) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_LIBDIR) $(NOECHO) $(TOUCH) $(INST_LIBDIR)$(DFSEP).exists $(INST_ARCHLIB)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_ARCHLIB) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHLIB) $(NOECHO) $(TOUCH) $(INST_ARCHLIB)$(DFSEP).exists $(INST_AUTODIR)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_AUTODIR) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_AUTODIR) $(NOECHO) $(TOUCH) $(INST_AUTODIR)$(DFSEP).exists $(INST_ARCHAUTODIR)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHAUTODIR) $(NOECHO) $(TOUCH) $(INST_ARCHAUTODIR)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_BIN) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_BIN) $(NOECHO) $(TOUCH) $(INST_BIN)$(DFSEP).exists $(INST_SCRIPT)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_SCRIPT) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_SCRIPT) $(NOECHO) $(TOUCH) $(INST_SCRIPT)$(DFSEP).exists $(INST_MAN1DIR)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_MAN1DIR) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN1DIR) $(NOECHO) $(TOUCH) $(INST_MAN1DIR)$(DFSEP).exists $(INST_MAN3DIR)$(DFSEP).exists :: Makefile.PL $(NOECHO) $(MKPATH) $(INST_MAN3DIR) $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN3DIR) $(NOECHO) $(TOUCH) $(INST_MAN3DIR)$(DFSEP).exists # --- MakeMaker linkext section: linkext :: dynamic $(NOECHO) $(NOOP) # --- MakeMaker dlsyms section: # --- MakeMaker dynamic_bs section: BOOTSTRAP = # --- MakeMaker dynamic section: dynamic :: $(FIRST_MAKEFILE) config $(INST_BOOT) $(INST_DYNAMIC) $(NOECHO) $(NOOP) # --- MakeMaker dynamic_lib section: # --- MakeMaker static section: ## $(INST_PM) has been moved to the all: target. ## It remains here for awhile to allow for old usage: "make static" static :: $(FIRST_MAKEFILE) $(INST_STATIC) $(NOECHO) $(NOOP) # --- MakeMaker static_lib section: # --- MakeMaker manifypods section: POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--" POD2MAN = $(POD2MAN_EXE) manifypods : pure_all config \ lib/Test/Exception.pm $(NOECHO) $(POD2MAN) --section=$(MAN3SECTION) --perm_rw=$(PERM_RW) -u \ lib/Test/Exception.pm $(INST_MAN3DIR)/Test::Exception.$(MAN3EXT) # --- MakeMaker processPL section: # --- MakeMaker installbin section: # --- MakeMaker subdirs section: # none # --- MakeMaker clean_subdirs section: clean_subdirs : $(NOECHO) $(NOOP) # --- MakeMaker clean section: # Delete temporary files but do not touch installed files. We don't delete # the Makefile here so a later make realclean still has a makefile to use. clean :: clean_subdirs - $(RM_F) \ $(BASEEXT).bso $(BASEEXT).def \ $(BASEEXT).exp $(BASEEXT).x \ $(BOOTSTRAP) $(INST_ARCHAUTODIR)/extralibs.all \ $(INST_ARCHAUTODIR)/extralibs.ld $(MAKE_APERL_FILE) \ *$(LIB_EXT) *$(OBJ_EXT) \ *perl.core MYMETA.json \ MYMETA.yml blibdirs.ts \ core core.*perl.*.? \ core.[0-9] core.[0-9][0-9] \ core.[0-9][0-9][0-9] core.[0-9][0-9][0-9][0-9] \ core.[0-9][0-9][0-9][0-9][0-9] lib$(BASEEXT).def \ mon.out perl \ perl$(EXE_EXT) perl.exe \ perlmain.c pm_to_blib \ pm_to_blib.ts so_locations \ tmon.out - $(RM_RF) \ blib $(NOECHO) $(RM_F) $(MAKEFILE_OLD) - $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL) # --- MakeMaker realclean_subdirs section: # so clean is forced to complete before realclean_subdirs runs realclean_subdirs : clean $(NOECHO) $(NOOP) # --- MakeMaker realclean section: # Delete temporary files (via clean) and also delete dist files realclean purge :: realclean_subdirs - $(RM_F) \ $(FIRST_MAKEFILE) $(MAKEFILE_OLD) - $(RM_RF) \ $(DISTVNAME) # --- MakeMaker metafile section: metafile : create_distdir $(NOECHO) $(ECHO) Generating META.yml $(NOECHO) $(ECHO) '---' > META_new.yml $(NOECHO) $(ECHO) 'abstract: '\''Test exception-based code'\''' >> META_new.yml $(NOECHO) $(ECHO) 'author:' >> META_new.yml $(NOECHO) $(ECHO) ' - '\''Adrian Howard <adrianh@quietstars.com>'\''' >> META_new.yml $(NOECHO) $(ECHO) 'build_requires:' >> META_new.yml $(NOECHO) $(ECHO) ' Test::More: '\''0.7'\''' >> META_new.yml $(NOECHO) $(ECHO) ' overload: '\''0'\''' >> META_new.yml $(NOECHO) $(ECHO) 'configure_requires:' >> META_new.yml $(NOECHO) $(ECHO) ' ExtUtils::MakeMaker: '\''0'\''' >> META_new.yml $(NOECHO) $(ECHO) 'dynamic_config: 0' >> META_new.yml $(NOECHO) $(ECHO) 'generated_by: '\''ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010'\''' >> META_new.yml $(NOECHO) $(ECHO) 'license: perl' >> META_new.yml $(NOECHO) $(ECHO) 'meta-spec:' >> META_new.yml $(NOECHO) $(ECHO) ' url: http://module-build.sourceforge.net/META-spec-v1.4.html' >> META_new.yml $(NOECHO) $(ECHO) ' version: '\''1.4'\''' >> META_new.yml $(NOECHO) $(ECHO) 'name: Test-Exception' >> META_new.yml $(NOECHO) $(ECHO) 'no_index:' >> META_new.yml $(NOECHO) $(ECHO) ' directory:' >> META_new.yml $(NOECHO) $(ECHO) ' - t' >> META_new.yml $(NOECHO) $(ECHO) ' - inc' >> META_new.yml $(NOECHO) $(ECHO) 'requires:' >> META_new.yml $(NOECHO) $(ECHO) ' Carp: '\''0'\''' >> META_new.yml $(NOECHO) $(ECHO) ' Exporter: '\''0'\''' >> META_new.yml $(NOECHO) $(ECHO) ' Sub::Uplevel: '\''0.18'\''' >> META_new.yml $(NOECHO) $(ECHO) ' Test::Builder: '\''0.7'\''' >> META_new.yml $(NOECHO) $(ECHO) ' Test::Builder::Tester: '\''1.07'\''' >> META_new.yml $(NOECHO) $(ECHO) ' Test::Harness: '\''2.03'\''' >> META_new.yml $(NOECHO) $(ECHO) ' base: '\''0'\''' >> META_new.yml $(NOECHO) $(ECHO) ' perl: '\''5.006001'\''' >> META_new.yml $(NOECHO) $(ECHO) ' strict: '\''0'\''' >> META_new.yml $(NOECHO) $(ECHO) ' warnings: '\''0'\''' >> META_new.yml $(NOECHO) $(ECHO) 'resources:' >> META_new.yml $(NOECHO) $(ECHO) ' bugtracker: https://github.com/Test-More/test-exception/issues' >> META_new.yml $(NOECHO) $(ECHO) ' homepage: https://github.com/Test-More/test-exception' >> META_new.yml $(NOECHO) $(ECHO) ' repository: https://github.com/Test-More/test-exception.git' >> META_new.yml $(NOECHO) $(ECHO) 'version: '\''0.43'\''' >> META_new.yml $(NOECHO) $(ECHO) 'x_IRC: irc://irc.perl.org/#perl-qa' >> META_new.yml $(NOECHO) $(ECHO) 'x_MailingList: http://lists.perl.org/list/perl-qa.html' >> META_new.yml $(NOECHO) $(ECHO) 'x_authority: cpan:ADIE' >> META_new.yml $(NOECHO) $(ECHO) 'x_serialization_backend: '\''CPAN::Meta::YAML version 0.018'\''' >> META_new.yml -$(NOECHO) $(MV) META_new.yml $(DISTVNAME)/META.yml $(NOECHO) $(ECHO) Generating META.json $(NOECHO) $(ECHO) '{' > META_new.json $(NOECHO) $(ECHO) ' "abstract" : "Test exception-based code",' >> META_new.json $(NOECHO) $(ECHO) ' "author" : [' >> META_new.json $(NOECHO) $(ECHO) ' "Adrian Howard <adrianh@quietstars.com>"' >> META_new.json $(NOECHO) $(ECHO) ' ],' >> META_new.json $(NOECHO) $(ECHO) ' "dynamic_config" : 0,' >> META_new.json $(NOECHO) $(ECHO) ' "generated_by" : "ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010",' >> META_new.json $(NOECHO) $(ECHO) ' "license" : [' >> META_new.json $(NOECHO) $(ECHO) ' "perl_5"' >> META_new.json $(NOECHO) $(ECHO) ' ],' >> META_new.json $(NOECHO) $(ECHO) ' "meta-spec" : {' >> META_new.json $(NOECHO) $(ECHO) ' "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",' >> META_new.json $(NOECHO) $(ECHO) ' "version" : 2' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "name" : "Test-Exception",' >> META_new.json $(NOECHO) $(ECHO) ' "no_index" : {' >> META_new.json $(NOECHO) $(ECHO) ' "directory" : [' >> META_new.json $(NOECHO) $(ECHO) ' "t",' >> META_new.json $(NOECHO) $(ECHO) ' "inc"' >> META_new.json $(NOECHO) $(ECHO) ' ]' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "prereqs" : {' >> META_new.json $(NOECHO) $(ECHO) ' "build" : {' >> META_new.json $(NOECHO) $(ECHO) ' "requires" : {}' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "configure" : {' >> META_new.json $(NOECHO) $(ECHO) ' "requires" : {' >> META_new.json $(NOECHO) $(ECHO) ' "ExtUtils::MakeMaker" : "0"' >> META_new.json $(NOECHO) $(ECHO) ' }' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "runtime" : {' >> META_new.json $(NOECHO) $(ECHO) ' "requires" : {' >> META_new.json $(NOECHO) $(ECHO) ' "Carp" : "0",' >> META_new.json $(NOECHO) $(ECHO) ' "Exporter" : "0",' >> META_new.json $(NOECHO) $(ECHO) ' "Sub::Uplevel" : "0.18",' >> META_new.json $(NOECHO) $(ECHO) ' "Test::Builder" : "0.7",' >> META_new.json $(NOECHO) $(ECHO) ' "Test::Builder::Tester" : "1.07",' >> META_new.json $(NOECHO) $(ECHO) ' "Test::Harness" : "2.03",' >> META_new.json $(NOECHO) $(ECHO) ' "base" : "0",' >> META_new.json $(NOECHO) $(ECHO) ' "perl" : "5.006001",' >> META_new.json $(NOECHO) $(ECHO) ' "strict" : "0",' >> META_new.json $(NOECHO) $(ECHO) ' "warnings" : "0"' >> META_new.json $(NOECHO) $(ECHO) ' }' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "test" : {' >> META_new.json $(NOECHO) $(ECHO) ' "requires" : {' >> META_new.json $(NOECHO) $(ECHO) ' "Test::More" : "0.7",' >> META_new.json $(NOECHO) $(ECHO) ' "overload" : "0"' >> META_new.json $(NOECHO) $(ECHO) ' }' >> META_new.json $(NOECHO) $(ECHO) ' }' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "release_status" : "stable",' >> META_new.json $(NOECHO) $(ECHO) ' "resources" : {' >> META_new.json $(NOECHO) $(ECHO) ' "bugtracker" : {' >> META_new.json $(NOECHO) $(ECHO) ' "web" : "https://github.com/Test-More/test-exception/issues"' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "homepage" : "https://github.com/Test-More/test-exception",' >> META_new.json $(NOECHO) $(ECHO) ' "repository" : {' >> META_new.json $(NOECHO) $(ECHO) ' "type" : "git",' >> META_new.json $(NOECHO) $(ECHO) ' "url" : "https://github.com/Test-More/test-exception.git",' >> META_new.json $(NOECHO) $(ECHO) ' "web" : "https://github.com/Test-More/test-exception"' >> META_new.json $(NOECHO) $(ECHO) ' }' >> META_new.json $(NOECHO) $(ECHO) ' },' >> META_new.json $(NOECHO) $(ECHO) ' "version" : "0.43",' >> META_new.json $(NOECHO) $(ECHO) ' "x_IRC" : "irc://irc.perl.org/#perl-qa",' >> META_new.json $(NOECHO) $(ECHO) ' "x_MailingList" : "http://lists.perl.org/list/perl-qa.html",' >> META_new.json $(NOECHO) $(ECHO) ' "x_authority" : "cpan:ADIE",' >> META_new.json $(NOECHO) $(ECHO) ' "x_serialization_backend" : "JSON::PP version 4.06"' >> META_new.json $(NOECHO) $(ECHO) '}' >> META_new.json -$(NOECHO) $(MV) META_new.json $(DISTVNAME)/META.json # --- MakeMaker signature section: signature : cpansign -s # --- MakeMaker dist_basics section: distclean :: realclean distcheck $(NOECHO) $(NOOP) distcheck : $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck skipcheck : $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck manifest : $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest veryclean : realclean $(RM_F) *~ */*~ *.orig */*.orig *.bak */*.bak *.old */*.old # --- MakeMaker dist_core section: dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE) $(NOECHO) $(ABSPERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \ -e ' if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';' -- tardist : $(DISTVNAME).tar$(SUFFIX) $(NOECHO) $(NOOP) uutardist : $(DISTVNAME).tar$(SUFFIX) uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu $(NOECHO) $(ECHO) 'Created $(DISTVNAME).tar$(SUFFIX)_uu' $(DISTVNAME).tar$(SUFFIX) : distdir $(PREOP) $(TO_UNIX) $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME) $(RM_RF) $(DISTVNAME) $(COMPRESS) $(DISTVNAME).tar $(NOECHO) $(ECHO) 'Created $(DISTVNAME).tar$(SUFFIX)' $(POSTOP) zipdist : $(DISTVNAME).zip $(NOECHO) $(NOOP) $(DISTVNAME).zip : distdir $(PREOP) $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME) $(RM_RF) $(DISTVNAME) $(NOECHO) $(ECHO) 'Created $(DISTVNAME).zip' $(POSTOP) shdist : distdir $(PREOP) $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar $(RM_RF) $(DISTVNAME) $(NOECHO) $(ECHO) 'Created $(DISTVNAME).shar' $(POSTOP) # --- MakeMaker distdir section: create_distdir : $(RM_RF) $(DISTVNAME) $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \ -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');" distdir : create_distdir distmeta $(NOECHO) $(NOOP) # --- MakeMaker dist_test section: disttest : distdir cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL cd $(DISTVNAME) && $(MAKE) $(PASTHRU) cd $(DISTVNAME) && $(MAKE) test $(PASTHRU) # --- MakeMaker dist_ci section: ci : $(ABSPERLRUN) -MExtUtils::Manifest=maniread -e '@all = sort keys %{ maniread() };' \ -e 'print(qq{Executing $(CI) @all\n});' \ -e 'system(qq{$(CI) @all}) == 0 or die $$!;' \ -e 'print(qq{Executing $(RCS_LABEL) ...\n});' \ -e 'system(qq{$(RCS_LABEL) @all}) == 0 or die $$!;' -- # --- MakeMaker distmeta section: distmeta : create_distdir metafile $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'exit unless -e q{META.yml};' \ -e 'eval { maniadd({q{META.yml} => q{Module YAML meta-data (added by MakeMaker)}}) }' \ -e ' or die "Could not add META.yml to MANIFEST: $${'\''@'\''}"' -- $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'exit unless -f q{META.json};' \ -e 'eval { maniadd({q{META.json} => q{Module JSON meta-data (added by MakeMaker)}}) }' \ -e ' or die "Could not add META.json to MANIFEST: $${'\''@'\''}"' -- # --- MakeMaker distsignature section: distsignature : distmeta $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) }' \ -e ' or die "Could not add SIGNATURE to MANIFEST: $${'\''@'\''}"' -- $(NOECHO) cd $(DISTVNAME) && $(TOUCH) SIGNATURE cd $(DISTVNAME) && cpansign -s # --- MakeMaker install section: install :: pure_install doc_install $(NOECHO) $(NOOP) install_perl :: pure_perl_install doc_perl_install $(NOECHO) $(NOOP) install_site :: pure_site_install doc_site_install $(NOECHO) $(NOOP) install_vendor :: pure_vendor_install doc_vendor_install $(NOECHO) $(NOOP) pure_install :: pure_$(INSTALLDIRS)_install $(NOECHO) $(NOOP) doc_install :: doc_$(INSTALLDIRS)_install $(NOECHO) $(NOOP) pure__install : pure_site_install $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site doc__install : doc_site_install $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site pure_perl_install :: all $(NOECHO) $(MOD_INSTALL) \ read "$(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist" \ write "$(DESTINSTALLARCHLIB)/auto/$(FULLEXT)/.packlist" \ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \ "$(INST_ARCHLIB)" "$(DESTINSTALLARCHLIB)" \ "$(INST_BIN)" "$(DESTINSTALLBIN)" \ "$(INST_SCRIPT)" "$(DESTINSTALLSCRIPT)" \ "$(INST_MAN1DIR)" "$(DESTINSTALLMAN1DIR)" \ "$(INST_MAN3DIR)" "$(DESTINSTALLMAN3DIR)" $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ "$(SITEARCHEXP)/auto/$(FULLEXT)" pure_site_install :: all $(NOECHO) $(MOD_INSTALL) \ read "$(SITEARCHEXP)/auto/$(FULLEXT)/.packlist" \ write "$(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist" \ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \ "$(INST_ARCHLIB)" "$(DESTINSTALLSITEARCH)" \ "$(INST_BIN)" "$(DESTINSTALLSITEBIN)" \ "$(INST_SCRIPT)" "$(DESTINSTALLSITESCRIPT)" \ "$(INST_MAN1DIR)" "$(DESTINSTALLSITEMAN1DIR)" \ "$(INST_MAN3DIR)" "$(DESTINSTALLSITEMAN3DIR)" $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ "$(PERL_ARCHLIB)/auto/$(FULLEXT)" pure_vendor_install :: all $(NOECHO) $(MOD_INSTALL) \ read "$(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist" \ write "$(DESTINSTALLVENDORARCH)/auto/$(FULLEXT)/.packlist" \ "$(INST_LIB)" "$(DESTINSTALLVENDORLIB)" \ "$(INST_ARCHLIB)" "$(DESTINSTALLVENDORARCH)" \ "$(INST_BIN)" "$(DESTINSTALLVENDORBIN)" \ "$(INST_SCRIPT)" "$(DESTINSTALLVENDORSCRIPT)" \ "$(INST_MAN1DIR)" "$(DESTINSTALLVENDORMAN1DIR)" \ "$(INST_MAN3DIR)" "$(DESTINSTALLVENDORMAN3DIR)" doc_perl_install :: all $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)" -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLPRIVLIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> "$(DESTINSTALLARCHLIB)/perllocal.pod" doc_site_install :: all $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)" -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLSITELIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> "$(DESTINSTALLARCHLIB)/perllocal.pod" doc_vendor_install :: all $(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod" -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)" -$(NOECHO) $(DOC_INSTALL) \ "Module" "$(NAME)" \ "installed into" "$(INSTALLVENDORLIB)" \ LINKTYPE "$(LINKTYPE)" \ VERSION "$(VERSION)" \ EXE_FILES "$(EXE_FILES)" \ >> "$(DESTINSTALLARCHLIB)/perllocal.pod" uninstall :: uninstall_from_$(INSTALLDIRS)dirs $(NOECHO) $(NOOP) uninstall_from_perldirs :: $(NOECHO) $(UNINSTALL) "$(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist" uninstall_from_sitedirs :: $(NOECHO) $(UNINSTALL) "$(SITEARCHEXP)/auto/$(FULLEXT)/.packlist" uninstall_from_vendordirs :: $(NOECHO) $(UNINSTALL) "$(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist" # --- MakeMaker force section: # Phony target to force checking subdirectories. FORCE : $(NOECHO) $(NOOP) # --- MakeMaker perldepend section: # --- MakeMaker makefile section: # We take a very conservative approach here, but it's worth it. # We move Makefile to Makefile.old here to avoid gnu make looping. $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?" $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..." -$(NOECHO) $(RM_F) $(MAKEFILE_OLD) -$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) - $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL) $(PERLRUN) Makefile.PL $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <==" $(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command. <==" $(FALSE) # --- MakeMaker staticmake section: # --- MakeMaker makeaperl section --- MAP_TARGET = perl FULLPERL = "/usr/bin/perl" MAP_PERLINC = "-Iblib/arch" "-Iblib/lib" "-I/usr/lib64/perl5" "-I/usr/share/perl5" $(MAP_TARGET) :: $(MAKE_APERL_FILE) $(MAKE) $(USEMAKEFILE) $(MAKE_APERL_FILE) $@ $(MAKE_APERL_FILE) : static $(FIRST_MAKEFILE) pm_to_blib $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET) $(NOECHO) $(PERLRUNINST) \ Makefile.PL DIR="" \ MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= # --- MakeMaker test section: TEST_VERBOSE=0 TEST_TYPE=test_$(LINKTYPE) TEST_FILE = test.pl TEST_FILES = t/*.t TESTDB_SW = -d testdb :: testdb_$(LINKTYPE) $(NOECHO) $(NOOP) test :: $(TEST_TYPE) $(NOECHO) $(NOOP) # Occasionally we may face this degenerate target: test_ : test_dynamic $(NOECHO) $(NOOP) subdirs-test_dynamic :: dynamic pure_all test_dynamic :: subdirs-test_dynamic PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES) testdb_dynamic :: dynamic pure_all PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) subdirs-test_static :: static pure_all test_static :: subdirs-test_static PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES) testdb_static :: static pure_all PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) # --- MakeMaker ppd section: # Creates a PPD (Perl Package Description) for a binary distribution. ppd : $(NOECHO) $(ECHO) '<SOFTPKG NAME="Test-Exception" VERSION="0.43">' > Test-Exception.ppd $(NOECHO) $(ECHO) ' <ABSTRACT>Test exception-based code</ABSTRACT>' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <AUTHOR>Adrian Howard <adrianh@quietstars.com></AUTHOR>' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <IMPLEMENTATION>' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <PERLCORE VERSION="5,006001,0,0" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="Carp::" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="Exporter::" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="Sub::Uplevel" VERSION="0.18" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="Test::Builder" VERSION="0.7" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="Test::Builder::Tester" VERSION="1.07" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="Test::Harness" VERSION="2.03" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="base::" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="strict::" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <REQUIRE NAME="warnings::" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <ARCHITECTURE NAME="x86_64-linux-thread-multi-5.32" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' <CODEBASE HREF="" />' >> Test-Exception.ppd $(NOECHO) $(ECHO) ' </IMPLEMENTATION>' >> Test-Exception.ppd $(NOECHO) $(ECHO) '</SOFTPKG>' >> Test-Exception.ppd # --- MakeMaker pm_to_blib section: pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM) $(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', q[$(PM_FILTER)], '\''$(PERM_DIR)'\'')' -- \ 'lib/Test/Exception.pm' 'blib/lib/Test/Exception.pm' $(NOECHO) $(TOUCH) pm_to_blib # --- MakeMaker selfdocument section: # here so even if top_targets is overridden, these will still be defined # gmake will silently still work if any are .PHONY-ed but nmake won't static :: $(NOECHO) $(NOOP) dynamic :: $(NOECHO) $(NOOP) config :: $(NOECHO) $(NOOP) # --- MakeMaker postamble section: # End. PK ��[+�� � META.jsonnu �Iw�� { "abstract" : "Test exception-based code", "author" : [ "Adrian Howard <adrianh@quietstars.com>" ], "dynamic_config" : 0, "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "Test-Exception", "no_index" : { "directory" : [ "t", "inc" ] }, "prereqs" : { "configure" : { "requires" : { "ExtUtils::MakeMaker" : "0" } }, "runtime" : { "requires" : { "Carp" : "0", "Exporter" : "0", "Sub::Uplevel" : "0.18", "Test::Builder" : "0.7", "Test::Builder::Tester" : "1.07", "Test::Harness" : "2.03", "base" : "0", "perl" : "5.006001", "strict" : "0", "warnings" : "0" } }, "test" : { "requires" : { "Test::More" : "0.7", "overload" : "0" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/Test-More/test-exception/issues" }, "homepage" : "https://github.com/Test-More/test-exception", "repository" : { "type" : "git", "url" : "https://github.com/Test-More/test-exception.git", "web" : "https://github.com/Test-More/test-exception" } }, "version" : "0.43", "x_IRC" : "irc://irc.perl.org/#perl-qa", "x_MailingList" : "http://lists.perl.org/list/perl-qa.html", "x_authority" : "cpan:ADIE" } PK ��[�}P�� � t/preserve.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Test::More tests => 5; BEGIN { use_ok( 'Test::Exception' ) }; sub div { my ($a, $b) = @_; return( $a / $b ); }; dies_ok { div(1, 0) } 'exception thrown okay in dies_ok'; like( $@, '/^Illegal division by zero/', 'exception preserved after dies_ok' ); throws_ok { div(1, 0) } '/^Illegal division by zero/', 'exception thrown okay in throws_ok'; like( $@, '/^Illegal division by zero/', 'exception preserved after thrown_ok' ); PK ��[��v�& & t/rt.tnu �[��� use strict; use warnings; use Test::More 'no_plan'; use Test::Exception; { package Foo; use Carp qw( confess ); sub an_abstract_method { shift->subclass_responsibility; } sub subclass_responsibility { my $class = shift; my $method = (caller(1))[3]; $method =~ s/.*:://; confess( "abstract method '$method' not implemented for $class" ); } } throws_ok { Foo->an_abstract_method } qr/abstract method 'an_abstract_method'/, 'RT 11846: throws_ok breaks tests that depend on caller stack: working'; PK ��[�� t/stacktrace.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Sub::Uplevel; use Carp; use Test::Builder::Tester tests => 3; use Test::More; BEGIN { use_ok( 'Test::Exception' ) }; # This test in essence makes sure that no false # positives are encountered due to @DB::args being part # of the stacktrace # The test seems rather complex due to the fact that # we make a really tricky stacktrace test_false_positive($_) for ('/fribble/', qr/fribble/); sub throw { confess ('something unexpected') } sub try { throw->(@_) } sub test_false_positive { my $test_against_desc = my $test_against = shift; if (my $ref = ref ($test_against) ) { $test_against_desc = "$ref ($test_against_desc)" if $test_against_desc !~ /^\Q$ref\E/; } test_out("not ok 1 - threw $test_against_desc"); test_fail(+1); throws_ok { try ('fribble') } $test_against; my $exception = $@; test_diag("expecting: $test_against_desc"); test_diag(split /\n/, "found: $exception"); test_test("$test_against_desc in stacktrace ignored"); } PK ��[ޫξ � t/Exception.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Test::Builder::Tester tests => 20; use Test::More; BEGIN { use_ok( 'Test::Exception' ) }; { package Local::Error::Simple; my %Exception_singleton; sub instance { my $class = shift; return $Exception_singleton{$class} ||= bless {}, $class; }; sub throw { my $class = shift; die $class->instance; }; package Local::Error::Test; use base qw(Local::Error::Simple); package Local::Error::Overload; use base qw(Local::Error::Simple); use overload q{""} => sub { "overloaded" }, fallback => 1; package Local::Error::NoFallback; use base qw(Local::Error::Simple); use overload q{""} => sub { "no fallback" }; }; my %Exception = map {m/([^:]+)$/; lc $1 => $_->instance} qw( Local::Error::Simple Local::Error::Test Local::Error::Overload Local::Error::NoFallback ); sub error { my $type = shift; die $Exception{$type} if exists $Exception{$type}; warn "exiting: unrecognised error type $type\n"; exit(1); }; sub no_exception { "this subroutine does not die" }; sub normal_die { die "a normal die\n" }; test_out("ok 1"); dies_ok { normal_die() }; test_test("dies_ok: die"); test_out("not ok 1 - lived. oops"); test_fail(+1); dies_ok { no_exception() } "lived. oops"; test_test("dies_ok: normal exit detected"); test_out("ok 1 - lived"); lives_ok { no_exception() } "lived"; test_test("lives_ok: normal exit"); test_out("not ok 1"); test_fail(+2); test_diag("died: a normal die"); lives_ok { normal_die() }; test_test("lives_ok: die detected"); test_out("not ok 1"); test_fail(+2); test_diag("died: Local::Error::Overload (overloaded)"); lives_ok { Local::Error::Overload->throw }; test_test("lives_ok: die detected"); test_out("ok 1 - expecting normal die"); throws_ok { normal_die() } '/normal/', 'expecting normal die'; test_test("throws_ok: regex match"); test_out("not ok 1 - should die"); test_fail(+3); test_diag("expecting: /abnormal/"); test_diag("found: a normal die"); throws_ok { normal_die() } '/abnormal/', 'should die'; test_test("throws_ok: regex bad match detected"); test_out("ok 1 - threw Local::Error::Simple"); throws_ok { Local::Error::Simple->throw } "Local::Error::Simple"; test_test("throws_ok: identical exception class"); test_out("not ok 1 - threw Local::Error::Simple"); test_fail(+3); test_diag("expecting: Local::Error::Simple"); test_diag("found: normal exit"); throws_ok { no_exception() } "Local::Error::Simple"; test_test("throws_ok: exception on normal exit"); test_out("ok 1 - threw Local::Error::Simple"); throws_ok { Local::Error::Test->throw } "Local::Error::Simple"; test_test("throws_ok: exception sub-class"); test_out("not ok 1 - threw Local::Error::Test"); test_fail(+3); test_diag("expecting: Local::Error::Test"); test_diag("found: " . Local::Error::Simple->instance); throws_ok { error("simple") } "Local::Error::Test"; test_test("throws_ok: bad sub-class match detected"); test_out("not ok 1 - threw Local::Error::Test"); test_fail(+3); test_diag("expecting: Local::Error::Test"); test_diag("found: Local::Error::Overload (overloaded)"); throws_ok { error("overload") } "Local::Error::Test"; test_test("throws_ok: throws_ok found overloaded"); test_out("not ok 1 - threw Local::Error::Overload (overloaded)"); test_fail(+3); test_diag("expecting: Local::Error::Overload (overloaded)"); test_diag("found: $Exception{test}"); throws_ok { error("test") } $Exception{overload}; test_test("throws_ok: throws_ok found overloaded"); my $e = Local::Error::Test->instance("hello"); test_out("ok 1 - threw $e"); throws_ok { error("test") } $e; test_test("throws_ok: class from object match"); test_out("ok 1 - normal exit"); throws_ok { no_exception() } qr/^$/, "normal exit"; test_test("throws_ok: normal exit matched"); test_out("ok 1"); dies_ok { error("nofallback") }; test_test("dies_ok: overload without fallback"); test_out("not ok 1"); test_fail(+2); test_diag("died: Local::Error::NoFallback (no fallback)"); lives_ok { error("nofallback") }; test_test("lives_ok: overload without fallback"); test_out("not ok 1 - threw Local::Error::Test"); test_fail(+3); test_diag("expecting: Local::Error::Test"); test_diag("found: Local::Error::NoFallback (no fallback)"); throws_ok { error("nofallback") } "Local::Error::Test"; test_test("throws_ok: throws_ok overload without fallback"); test_out("ok 1 - "); throws_ok { normal_die() } '/normal/', ''; { local $TODO = "See http://github.com/schwern/test-more/issues/issue/84"; test_test("throws_ok: can pass empty test description"); } PK ��[�K� � t/isa.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Test::More tests => 1; use Test::Exception; { package MockFooException; sub new { bless {}, shift }; sub isa { my ( $self, $class ) = @_; return 1 if $class eq 'Foo'; return $self->SUPER::isa( $class ); } } throws_ok { die MockFooException->new } 'Foo', 'Understand exception classes that override isa';PK ��[��&� � t/return.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Test::Builder; use Test::Harness; use Test::Builder::Tester tests => 13; use Test::More; BEGIN { use_ok( 'Test::Exception' ) }; sub div { my ($a, $b) = @_; return( $a / $b ); }; my $filename = sub { return (caller)[1] }->(); { my $ok = dies_ok { div(1, 0) } 'dies_ok passed on die'; ok($ok, 'dies_ok returned true when block dies'); } { test_out('not ok 1 - dies_ok failed'); test_fail( +1 ); my $ok = dies_ok { div(1, 1) } 'dies_ok failed'; test_test('dies_ok fails when code does not die'); ok(!$ok, 'dies_ok returned false on failure'); } { my $ok = throws_ok { div(1, 0) } '/./', 'throws_ok succeeded'; ok($ok, 'throws_ok returned true on success'); } { test_out('not ok 1 - throws_ok failed'); test_fail(+3); test_err('# expecting: /./'); test_err('# found: normal exit'); my $ok = throws_ok { div(1, 1) } '/./', 'throws_ok failed'; test_test('throws_ok fails when appropriate'); ok(!$ok, 'throws_ok returned false on failure'); } { my $ok = lives_ok { div(1, 1) } 'lives_ok succeeded'; ok($ok, 'lives_ok returned true on success'); } { test_out('not ok 1 - lives_ok failed'); test_fail(+2); test_err("# died: Illegal division by zero at $filename line 14."); my $ok = lives_ok { div(1, 0) } 'lives_ok failed'; test_test("dies_ok fails"); ok(!$ok, 'lives_ok returned false on failure'); } PK ��[��F F t/edge-cases.tnu �[��� use strict; use warnings; use Test::More skip_all => 'stuff relating to RT#24678 that I have not fixed yet'; use Test::Exception tests => 12; sub A1::DESTROY {eval{}} dies_ok { my $x = bless [], 'A1'; die } q[Unlocalized $@ for eval{} during DESTROY]; sub A2::DESTROY {die 43 } throws_ok { my $x = bless [], 'A2'; die 42} qr/42.+43/s, q[Died with the primary and secondar errors]; sub A2a::DESTROY { die 42 } throws_ok { my $obj = bless [], 'A2a'; die 43 } qr/43/, q[Of multiple failures, the "primary" one is returned]; { sub A3::DESTROY {die} dies_ok { my $x = bless [], 'A3'; 1 } q[Death during destruction for success is noticed]; } sub A4::DESTROY {delete$SIG{__DIE__};eval{}} dies_ok { my $x = bless [], 'A4'; die } q[Unlocalized $@ for eval{} during DESTROY]; sub A5::DESTROY {delete$SIG{__DIE__};die 43 } throws_ok { my $x = bless [], 'A5'; die 42} qr/42.+43/s, q[Died with the primary and secondar errors]; TODO: { our $TODO = q[No clue how to solve this one.]; sub A6::DESTROY {delete$SIG{__DIE__};die} dies_ok { my $x = bless [], 'A6'; 1 } q[Death during destruction for success is noticed]; } dies_ok { die bless [], 0 } q[Died with a "false" exception class]; dies_ok { die bless [], "\0" } q[Died with a "false" exception class]; package A7; use overload bool => sub { 0 }, '0+' => sub { 0 }, '""' => sub { '' }, fallback => 1; package main; dies_ok { die bless [], 'A7' } q[False overloaded exceptions are noticed]; $main::{'0::'} = $main::{'A7::'}; dies_ok { die bless [], 0 } q[Died a false death]; package A8; use overload bool => sub {eval{};0}, '0+' => sub{eval{};0}, '""' => sub { eval{}; '' }, fallback => 1; package main; dies_ok { die bless [], 'A8' } q[Evanescent exceptions are noticed]; __END__ dies_ok{ my $foo = Foo->new; die "Fatal Error" }; lives_ok{ my $foo = Foo->new; die "Fatal Error" }; not ok 1 # Code died, but appeared to live because $@ was reset # unexpectedly by a DESTROY method called during cleanup not ok 2 # Code died, but appeared to live because $@ was reset # unexpectedly by a DESTROY method called during cleanup PK ��[��� � t/import.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Test::More; BEGIN { use_ok( 'Test::Exception', tests => 2 ) }; is( Test::Builder->new->expected_tests, 2, 'Test::Exception set plan' );PK ��[Md��� � t/throws_ok.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Test::More tests => 2; BEGIN { use_ok( 'Test::Exception' ) }; eval { throws_ok {} undef }; like( $@, '/^throws_ok/', 'cannot pass undef to throws_ok' );PK ��[���]p p t/lives_and.tnu �[��� #! /usr/bin/perl -Tw use strict; use warnings; use Test::Builder::Tester tests => 3; use Test::More; diag "\$Test::More::VERSION = $Test::More::VERSION"; BEGIN { use_ok( 'Test::Exception' ) }; sub works {return shift}; sub dies { die 'oops' }; my $die_line = __LINE__ - 1; my $filename = sub { return (caller)[1] }->(); lives_and {is works(42), 42} 'lives_and, no_exception & success'; test_out('not ok 1 - lives_and, no_exception & failure'); test_fail(+3); test_err("# got: '42'"); test_err("# expected: '24'"); lives_and {is works(42), 24} 'lives_and, no_exception & failure'; test_out('not ok 2 - lives_and, exception'); test_fail(+2); test_err("# died: oops at $filename line $die_line."); lives_and {is dies(42), 42} 'lives_and, exception'; test_out('ok 3 - the test passed' ); lives_and { ok(1, 'the test passed') }; test_test('lives_and works'); PK ��[#:n� � t/caller.tnu �[��� #!/usr/bin/perl -Tw # Make sure caller() is undisturbed. use strict; use warnings; use Test::Exception; use Test::More tests => 3; eval { die caller() . "\n" }; is( $@, "main\n" ); throws_ok { die caller() . "\n" } qr/^main$/; # Make sure our override of caller() does not mess up @DB::args and thus Carp # The test is rather strange, but there is no clearer way to trigger this # error. For details see: # http://rt.perl.org/rt3/Public/Bug/Display.html?id=52610#txn-713770 require Carp; my $croaker = sub { Carp::croak ('No bizarre errors') }; for my $x (1..1) { eval { $croaker->($x) }; } throws_ok ( sub { $croaker->() }, qr/No bizarre errors/, "Croak works properly (final)", ); PK ��[3�n�� � META.ymlnu �Iw�� --- abstract: 'Test exception-based code' author: - 'Adrian Howard <adrianh@quietstars.com>' build_requires: Test::More: '0.7' overload: '0' configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 0 generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Test-Exception no_index: directory: - t - inc requires: Carp: '0' Exporter: '0' Sub::Uplevel: '0.18' Test::Builder: '0.7' Test::Builder::Tester: '1.07' Test::Harness: '2.03' base: '0' perl: '5.006001' strict: '0' warnings: '0' resources: bugtracker: https://github.com/Test-More/test-exception/issues homepage: https://github.com/Test-More/test-exception repository: https://github.com/Test-More/test-exception.git version: '0.43' x_IRC: irc://irc.perl.org/#perl-qa x_MailingList: http://lists.perl.org/list/perl-qa.html x_authority: cpan:ADIE PK ��[I�� � Makefile.PLnu �[��� use strict; use warnings; use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( NAME => 'Test::Exception', AUTHOR => 'Adrian Howard <adrianh@quietstars.com>', LICENSE => 'perl_5', ABSTRACT_FROM => 'lib/Test/Exception.pm', VERSION_FROM => 'lib/Test/Exception.pm', META_MERGE => { 'meta-spec' => { version => 2 }, dynamic_config => 0, resources => { homepage => 'https://github.com/Test-More/test-exception', repository => { url => 'https://github.com/Test-More/test-exception.git', web => 'https://github.com/Test-More/test-exception', type => 'git', }, bugtracker => { web => 'https://github.com/Test-More/test-exception/issues', }, }, x_IRC => 'irc://irc.perl.org/#perl-qa', x_MailingList => 'http://lists.perl.org/list/perl-qa.html', x_authority => 'cpan:ADIE', }, META_ADD => { prereqs => { configure => { requires => { 'ExtUtils::MakeMaker' => '0', }, }, runtime => { requires => { 'Carp' => '0', 'Exporter' => '0', 'base' => '0', 'strict' => '0', 'warnings' => '0', 'Test::Builder' => '0.7', 'Test::Builder::Tester' => '1.07', 'Test::Harness' => '2.03', 'Sub::Uplevel' => '0.18', 'perl' => '5.006001', }, }, test => { requires => { 'Test::More' => '0.7', 'overload' => '0', }, }, }, }, ); my $eumm_version = eval $ExtUtils::MakeMaker::VERSION; for (qw(configure build test runtime)) { my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES'; next unless exists $WriteMakefileArgs{META_ADD}{prereqs}{$_} or exists $WriteMakefileArgs{$key}; my $r = $WriteMakefileArgs{$key} = { %{$WriteMakefileArgs{META_ADD}{prereqs}{$_}{requires} || {}}, %{delete $WriteMakefileArgs{$key} || {}}, }; defined $r->{$_} or delete $r->{$_} for keys %$r; } # dynamic prereqs get added here. $WriteMakefileArgs{MIN_PERL_VERSION} = delete $WriteMakefileArgs{PREREQ_PM}{perl} || 0; die 'attention developer: you need to do a sane meta merge here!' if keys %{$WriteMakefileArgs{BUILD_REQUIRES}}; $WriteMakefileArgs{BUILD_REQUIRES} = { %{$WriteMakefileArgs{BUILD_REQUIRES} || {}}, %{delete $WriteMakefileArgs{TEST_REQUIRES}} } if $eumm_version < 6.63_03; $WriteMakefileArgs{PREREQ_PM} = { %{$WriteMakefileArgs{PREREQ_PM}}, %{delete $WriteMakefileArgs{BUILD_REQUIRES}} } if $eumm_version < 6.55_01; delete $WriteMakefileArgs{CONFIGURE_REQUIRES} if $eumm_version < 6.51_03; delete $WriteMakefileArgs{MIN_PERL_VERSION} if $eumm_version < 6.48; delete @WriteMakefileArgs{qw(META_ADD META_MERGE)} if $eumm_version < 6.46; delete $WriteMakefileArgs{LICENSE} if $eumm_version < 6.31; WriteMakefile(%WriteMakefileArgs); PK ��[ blib/man3/.existsnu �[��� PK ��[H����8 �8 blib/man3/Test::Exception.3pmnu �[��� .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Test::Exception 3" .TH Test::Exception 3 "2015-12-29" "perl v5.32.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Test::Exception \- Test exception\-based code .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& use Test::More tests => 5; \& use Test::Exception; \& \& # or if you don\*(Aqt need Test::More \& \& use Test::Exception tests => 5; \& \& # then... \& \& # Check that the stringified exception matches given regex \& throws_ok { $foo\->method } qr/division by zero/, \*(Aqzero caught okay\*(Aq; \& \& # Check an exception of the given class (or subclass) is thrown \& throws_ok { $foo\->method } \*(AqError::Simple\*(Aq, \*(Aqsimple error thrown\*(Aq; \& \& # all Test::Exceptions subroutines are guaranteed to preserve the state \& # of $@ so you can do things like this after throws_ok and dies_ok \& like $@, \*(Aqwhat the stringified exception should look like\*(Aq; \& \& # Check that something died \- we do not care why \& dies_ok { $foo\->method } \*(Aqexpecting to die\*(Aq; \& \& # Check that something did not die \& lives_ok { $foo\->method } \*(Aqexpecting to live\*(Aq; \& \& # Check that a test runs without an exception \& lives_and { is $foo\->method, 42 } \*(Aqmethod is 42\*(Aq; \& \& # or if you don\*(Aqt like prototyped functions \& \& throws_ok( sub { $foo\->method }, qr/division by zero/, \& \*(Aqzero caught okay\*(Aq ); \& throws_ok( sub { $foo\->method }, \*(AqError::Simple\*(Aq, \& \*(Aqsimple error thrown\*(Aq ); \& dies_ok( sub { $foo\->method }, \*(Aqexpecting to die\*(Aq ); \& lives_ok( sub { $foo\->method }, \*(Aqexpecting to live\*(Aq ); \& lives_and( sub { is $foo\->method, 42 }, \*(Aqmethod is 42\*(Aq ); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module provides a few convenience methods for testing exception based code. It is built with Test::Builder and plays happily with Test::More and friends. .PP If you are not already familiar with Test::More now would be the time to go take a look. .PP You can specify the test plan when you \f(CW\*(C`use Test::Exception\*(C'\fR in the same way as \f(CW\*(C`use Test::More\*(C'\fR. See Test::More for details. .PP \&\s-1NOTE:\s0 Test::Exception only checks for exceptions. It will ignore other methods of stopping program execution \- including \fBexit()\fR. If you have an \fBexit()\fR in evalled code Test::Exception will not catch this with any of its testing functions. .PP \&\s-1NOTE:\s0 This module uses Sub::Uplevel and relies on overriding \&\f(CW\*(C`CORE::GLOBAL::caller\*(C'\fR to hide your test blocks from the call stack. If this use of global overrides concerns you, the Test::Fatal module offers a more minimalist alternative. .IP "\fBthrows_ok\fR" 4 .IX Item "throws_ok" Tests to see that a specific exception is thrown. \fBthrows_ok()\fR has two forms: .Sp .Vb 2 \& throws_ok BLOCK REGEX, TEST_DESCRIPTION \& throws_ok BLOCK CLASS, TEST_DESCRIPTION .Ve .Sp In the first form the test passes if the stringified exception matches the give regular expression. For example: .Sp .Vb 1 \& throws_ok { read_file( \*(Aqunreadable\*(Aq ) } qr/No file/, \*(Aqno file\*(Aq; .Ve .Sp If your perl does not support \f(CW\*(C`qr//\*(C'\fR you can also pass a regex-like string, for example: .Sp .Vb 1 \& throws_ok { read_file( \*(Aqunreadable\*(Aq ) } \*(Aq/No file/\*(Aq, \*(Aqno file\*(Aq; .Ve .Sp The second form of \fBthrows_ok()\fR test passes if the exception is of the same class as the one supplied, or a subclass of that class. For example: .Sp .Vb 1 \& throws_ok { $foo\->bar } "Error::Simple", \*(Aqsimple error\*(Aq; .Ve .Sp Will only pass if the \f(CW\*(C`bar\*(C'\fR method throws an Error::Simple exception, or a subclass of an Error::Simple exception. .Sp You can get the same effect by passing an instance of the exception you want to look for. The following is equivalent to the previous example: .Sp .Vb 2 \& my $SIMPLE = Error::Simple\->new; \& throws_ok { $foo\->bar } $SIMPLE, \*(Aqsimple error\*(Aq; .Ve .Sp Should a \fBthrows_ok()\fR test fail it produces appropriate diagnostic messages. For example: .Sp .Vb 4 \& not ok 3 \- simple error \& # Failed test (test.t at line 48) \& # expecting: Error::Simple exception \& # found: normal exit .Ve .Sp Like all other Test::Exception functions you can avoid prototypes by passing a subroutine explicitly: .Sp .Vb 1 \& throws_ok( sub {$foo\->bar}, "Error::Simple", \*(Aqsimple error\*(Aq ); .Ve .Sp A true value is returned if the test succeeds, false otherwise. On exit $@ is guaranteed to be the cause of death (if any). .Sp A description of the exception being checked is used if no optional test description is passed. .Sp \&\s-1NOTE:\s0 Remember when you \f(CW\*(C`die $string_without_a_trailing_newline\*(C'\fR perl will automatically add the current script line number, input line number and a newline. This will form part of the string that throws_ok regular expressions match against. .IP "\fBdies_ok\fR" 4 .IX Item "dies_ok" Checks that a piece of code dies, rather than returning normally. For example: .Sp .Vb 4 \& sub div { \& my ( $a, $b ) = @_; \& return $a / $b; \& }; \& \& dies_ok { div( 1, 0 ) } \*(Aqdivide by zero detected\*(Aq; \& \& # or if you don\*(Aqt like prototypes \& dies_ok( sub { div( 1, 0 ) }, \*(Aqdivide by zero detected\*(Aq ); .Ve .Sp A true value is returned if the test succeeds, false otherwise. On exit $@ is guaranteed to be the cause of death (if any). .Sp Remember: This test will pass if the code dies for any reason. If you care about the reason it might be more sensible to write a more specific test using \fBthrows_ok()\fR. .Sp The test description is optional, but recommended. .IP "\fBlives_ok\fR" 4 .IX Item "lives_ok" Checks that a piece of code doesn't die. This allows your test script to continue, rather than aborting if you get an unexpected exception. For example: .Sp .Vb 7 \& sub read_file { \& my $file = shift; \& local $/; \& open my $fh, \*(Aq<\*(Aq, $file or die "open failed ($!)\en"; \& $file = <FILE>; \& return $file; \& }; \& \& my $file; \& lives_ok { $file = read_file(\*(Aqtest.txt\*(Aq) } \*(Aqfile read\*(Aq; \& \& # or if you don\*(Aqt like prototypes \& lives_ok( sub { $file = read_file(\*(Aqtest.txt\*(Aq) }, \*(Aqfile read\*(Aq ); .Ve .Sp Should a \fBlives_ok()\fR test fail it produces appropriate diagnostic messages. For example: .Sp .Vb 3 \& not ok 1 \- file read \& # Failed test (test.t at line 15) \& # died: open failed (No such file or directory) .Ve .Sp A true value is returned if the test succeeds, false otherwise. On exit $@ is guaranteed to be the cause of death (if any). .Sp The test description is optional, but recommended. .IP "\fBlives_and\fR" 4 .IX Item "lives_and" Run a test that may throw an exception. For example, instead of doing: .Sp .Vb 3 \& my $file; \& lives_ok { $file = read_file(\*(Aqanswer.txt\*(Aq) } \*(Aqread_file worked\*(Aq; \& is $file, "42", \*(Aqanswer was 42\*(Aq; .Ve .Sp You can use \fBlives_and()\fR like this: .Sp .Vb 3 \& lives_and { is read_file(\*(Aqanswer.txt\*(Aq), "42" } \*(Aqanswer is 42\*(Aq; \& # or if you don\*(Aqt like prototypes \& lives_and(sub {is read_file(\*(Aqanswer.txt\*(Aq), "42"}, \*(Aqanswer is 42\*(Aq); .Ve .Sp Which is the same as doing .Sp .Vb 1 \& is read_file(\*(Aqanswer.txt\*(Aq), "42\en", \*(Aqanswer is 42\*(Aq; .Ve .Sp unless \f(CW\*(C`read_file(\*(Aqanswer.txt\*(Aq)\*(C'\fR dies, in which case you get the same kind of error as \fBlives_ok()\fR .Sp .Vb 3 \& not ok 1 \- answer is 42 \& # Failed test (test.t at line 15) \& # died: open failed (No such file or directory) .Ve .Sp A true value is returned if the test succeeds, false otherwise. On exit $@ is guaranteed to be the cause of death (if any). .Sp The test description is optional, but recommended. .SH "SKIPPING TEST::EXCEPTION TESTS" .IX Header "SKIPPING TEST::EXCEPTION TESTS" Sometimes we want to use Test::Exception tests in a test suite, but don't want to force the user to have Test::Exception installed. One way to do this is to skip the tests if Test::Exception is absent. You can do this with code something like this: .PP .Vb 3 \& use strict; \& use warnings; \& use Test::More; \& \& BEGIN { \& eval "use Test::Exception"; \& plan skip_all => "Test::Exception needed" if $@; \& } \& \& plan tests => 2; \& # ... tests that need Test::Exception ... .Ve .PP Note that we load Test::Exception in a \f(CW\*(C`BEGIN\*(C'\fR block ensuring that the subroutine prototypes are in place before the rest of the test script is compiled. .SH "BUGS" .IX Header "BUGS" There are some edge cases in Perl's exception handling where Test::Exception will miss exceptions thrown in \s-1DESTROY\s0 blocks. See the \s-1RT\s0 bug <http://rt.cpan.org/Ticket/Display.html?id=24678> for details, along with the t/edge\-cases.t in the distribution test suite. These will be addressed in a future Test::Exception release. .PP If you find any more bugs please let me know by e\-mail, or report the problem with <http://rt.cpan.org/>. .SH "COMMUNITY" .IX Header "COMMUNITY" .IP "perl-qa" 4 .IX Item "perl-qa" If you are interested in testing using Perl I recommend you visit <http://qa.perl.org/> and join the excellent perl-qa mailing list. See <http://lists.perl.org/showlist.cgi?name=perl\-qa> for details on how to subscribe. .IP "perlmonks" 4 .IX Item "perlmonks" You can find users of Test::Exception, including the module author, on <http://www.perlmonks.org/>. Feel free to ask questions on Test::Exception there. .IP "CPAN::Forum" 4 .IX Item "CPAN::Forum" The \s-1CPAN\s0 Forum is a web forum for discussing Perl's \s-1CPAN\s0 modules. The Test::Exception forum can be found at <http://www.cpanforum.com/dist/Test\-Exception>. .IP "AnnoCPAN" 4 .IX Item "AnnoCPAN" AnnoCPAN is a web site that allows community annotations of Perl module documentation. The Test::Exception annotations can be found at <http://annocpan.org/~ADIE/Test\-Exception/>. .SH "TO DO" .IX Header "TO DO" If you think this module should do something that it doesn't (or does something that it shouldn't) please let me know. .PP You can see my current to do list at <http://adrianh.tadalist.com/lists/public/15421>, with an \s-1RSS\s0 feed of changes at <http://adrianh.tadalist.com/lists/feed_public/15421>. .SH "ACKNOWLEDGMENTS" .IX Header "ACKNOWLEDGMENTS" Thanks to chromatic and Michael G Schwern for the excellent Test::Builder, without which this module wouldn't be possible. .PP Thanks to Adam Kennedy, Andy Lester, Aristotle Pagaltzis, Ben Prew, Cees Hek, Chris Dolan, chromatic, Curt Sampson, David Cantrell, David Golden, David Tulloh, David Wheeler, J. K. O'Brien, Janek Schleicher, Jim Keenan, Jos I. Boumans, Joshua ben Jore, Jost Krieger, Mark Fowler, Michael G Schwern, Nadim Khemir, Paul McCann, Perrin Harkins, Peter Rabbitson, Peter Scott, Ricardo Signes, Rob Muhlestein, Scott R. Godin, Steve Purkis, Steve, Tim Bunce, and various anonymous folk for comments, suggestions, bug reports and patches. .SH "AUTHOR" .IX Header "AUTHOR" Adrian Howard <adrianh@quietstars.com> .PP If you can spare the time, please drop me a line if you find this module useful. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "<http://del.icio.us/tag/Test::Exception>" 4 .IX Item "<http://del.icio.us/tag/Test::Exception>" Delicious links on Test::Exception. .IP "Test::Fatal" 4 .IX Item "Test::Fatal" A slightly different interface to testing exceptions, without overriding \f(CW\*(C`CORE::caller\*(C'\fR. .IP "Test::Warnings & Test::Warn & Test::NoWarnings" 4 .IX Item "Test::Warnings & Test::Warn & Test::NoWarnings" Modules to help test warnings. .IP "Test::Builder" 4 .IX Item "Test::Builder" Support module for building test libraries. .IP "Test::Simple & Test::More" 4 .IX Item "Test::Simple & Test::More" Basic utilities for writing tests. .IP "<http://qa.perl.org/test\-modules.html>" 4 .IX Item "<http://qa.perl.org/test-modules.html>" Overview of some of the many testing modules available on \s-1CPAN.\s0 .IP "<http://del.icio.us/tag/perl+testing>" 4 .IX Item "<http://del.icio.us/tag/perl+testing>" Delicious links on perl testing. .SH "LICENCE" .IX Header "LICENCE" Copyright 2002\-2007 Adrian Howard, All Rights Reserved. .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. PK ��[ blib/man1/.existsnu �[��� PK ��[ blib/arch/.existsnu �[��� PK ��[ % blib/arch/auto/Test/Exception/.existsnu �[��� PK ��[ blib/bin/.existsnu �[��� PK ��[ blib/script/.existsnu �[��� PK ��[�5�i<