r10353 - in /branches/upstream/libtest-manifest-perl: ./ current/ current/lib/ current/t/
vdanjean at users.alioth.debian.org
vdanjean at users.alioth.debian.org
Sat Dec 1 12:18:43 UTC 2007
Author: vdanjean
Date: Sat Dec 1 12:18:42 2007
New Revision: 10353
URL: http://svn.debian.org/wsvn/?sc=1&rev=10353
Log:
[svn-inject] Installing original source of libtest-manifest-perl
Added:
branches/upstream/libtest-manifest-perl/
branches/upstream/libtest-manifest-perl/current/
branches/upstream/libtest-manifest-perl/current/Changes
branches/upstream/libtest-manifest-perl/current/MANIFEST
branches/upstream/libtest-manifest-perl/current/META.yml
branches/upstream/libtest-manifest-perl/current/Makefile.PL
branches/upstream/libtest-manifest-perl/current/README
branches/upstream/libtest-manifest-perl/current/lib/
branches/upstream/libtest-manifest-perl/current/lib/Manifest.pm
branches/upstream/libtest-manifest-perl/current/t/
branches/upstream/libtest-manifest-perl/current/t/0.load.t
branches/upstream/libtest-manifest-perl/current/t/1.get_test_files.t
branches/upstream/libtest-manifest-perl/current/t/1.make_test_manifest.t
branches/upstream/libtest-manifest-perl/current/t/99.pod.t
branches/upstream/libtest-manifest-perl/current/t/leading_space.t
branches/upstream/libtest-manifest-perl/current/t/pod_coverage.t
branches/upstream/libtest-manifest-perl/current/t/trailing_space.t
branches/upstream/libtest-manifest-perl/current/test_manifest
branches/upstream/libtest-manifest-perl/current/test_manifest_levels
Added: branches/upstream/libtest-manifest-perl/current/Changes
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/Changes?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/Changes (added)
+++ branches/upstream/libtest-manifest-perl/current/Changes Sat Dec 1 12:18:42 2007
@@ -1,0 +1,39 @@
+$Id: Changes,v 1.9 2005/03/19 18:38:23 comdog Exp $
+
+1.13 - Sat Mar 19 12:36:04 2005
+ * Added POD Coverage tests
+ * No more fooling with ExtUtils::* ---> put things in MY::* to
+ change behavior.
+ * If you are using Test::Manifest, you should upgrade and adjust
+ your Makefile.PL: the magic happens when Test::Manifest loads, so
+ you only need to load it. Ensure you require the right version:
+ eval "use Test::Manifest 1.13";
+
+1.11 - Sat Sep 25 18:43:38 2004
+ * This is a release version. It's the same code as 0.95
+ * Some doc updates
+
+0.95 - Thu Sep 2 15:59:26 2004
+* Test::Manifest is now more tolerant of sloppiness. It strips leading
+and trailing whitespace as it reads lines from test_manifest, and it
+skips comment lines.
+* If you already have Test::Manifest, you don't need to rush to get this
+new version unless you have a problem with whitespace issues.
+
+0.93 - Fri Feb 20 15:18:23 2004
+ * some minor tweaks for warnings, clarity
+ * docs show way to make Test::Manifest optional (should have thought
+ of it sooner)
+
+0.92 - Wed Jul 30 14:10:00 2003
+ * Made tests run clean under warnings.
+ * Closed a file that failed when trying to delete it under
+ Windows. (Thanks Mike O'Regan)
+ * Added POD tests.
+
+0.91 - Wed Dec 11 00:48:55 2002
+ * require ExtUtils::MakeMaker 6.x so the right run_tests is
+ available
+
+0.9 - Thu Oct 10 00:27:13 EDT 2002
+ + removed as many dependencies as possible
Added: branches/upstream/libtest-manifest-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/MANIFEST?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/MANIFEST (added)
+++ branches/upstream/libtest-manifest-perl/current/MANIFEST Sat Dec 1 12:18:42 2007
@@ -1,0 +1,15 @@
+Changes
+lib/Manifest.pm
+Makefile.PL
+MANIFEST This list of files
+META.yml Module meta-data (added by MakeMaker)
+README
+t/0.load.t
+t/1.get_test_files.t
+t/1.make_test_manifest.t
+t/99.pod.t
+t/leading_space.t
+t/pod_coverage.t
+t/trailing_space.t
+test_manifest
+test_manifest_levels
Added: branches/upstream/libtest-manifest-perl/current/META.yml
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/META.yml?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/META.yml (added)
+++ branches/upstream/libtest-manifest-perl/current/META.yml Sat Dec 1 12:18:42 2007
@@ -1,0 +1,12 @@
+# http://module-build.sourceforge.net/META-spec.html
+#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
+name: Test-Manifest
+version: 1.14
+version_from: lib/Manifest.pm
+installdirs: site
+requires:
+ ExtUtils::MakeMaker: 6.03
+ Test::More: 0
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.23
Added: branches/upstream/libtest-manifest-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/Makefile.PL?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/Makefile.PL (added)
+++ branches/upstream/libtest-manifest-perl/current/Makefile.PL Sat Dec 1 12:18:42 2007
@@ -1,0 +1,27 @@
+# $Id: Makefile.PL,v 1.7 2004/09/03 02:42:58 comdog Exp $
+use ExtUtils::MakeMaker;
+
+require 5.006;
+
+WriteMakefile
+ (
+ 'NAME' => 'Test::Manifest',
+ 'VERSION_FROM' => 'lib/Manifest.pm',
+
+ 'PREREQ_PM' => {
+ 'Test::More' => '0',
+ 'ExtUtils::MakeMaker' => '6.03',
+ },
+
+ 'PM' =>
+ {
+ 'lib/Manifest.pm' => '$(INST_LIBDIR)/Manifest.pm',
+ },
+
+ 'MAN3PODS' =>
+ {
+ 'lib/Manifest.pm' => '$(INST_MAN3DIR)/Test::Manifest.3',
+ },
+
+ clean => { FILES => 'Test-Manifest-* t/test_manifest' },
+ );
Added: branches/upstream/libtest-manifest-perl/current/README
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/README?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/README (added)
+++ branches/upstream/libtest-manifest-perl/current/README Sat Dec 1 12:18:42 2007
@@ -1,0 +1,27 @@
+$Id: README,v 1.1 2004/09/02 20:43:32 comdog Exp $
+
+You can install this using in the usual Perl fashion
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+The documentation is in the module file. Once you install
+the file, you can read it with perldoc.
+
+ perldoc Test::Manifest
+
+If you want to read it before you install it, you can use
+perldoc directly on the module file.
+
+ perldoc lib/Manifest.pm
+
+This module is also in CVS on SourceForge
+
+ http://sourceforge.net/projects/brian-d-foy/
+
+
+Enjoy,
+
+brian d foy, bdfoy at cpan.org
Added: branches/upstream/libtest-manifest-perl/current/lib/Manifest.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/lib/Manifest.pm?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/lib/Manifest.pm (added)
+++ branches/upstream/libtest-manifest-perl/current/lib/Manifest.pm Sat Dec 1 12:18:42 2007
@@ -1,0 +1,236 @@
+# $Id: Manifest.pm,v 1.14 2005/03/27 02:29:36 comdog Exp $
+package Test::Manifest;
+use strict;
+
+use base qw(Exporter);
+use vars qw(@EXPORT_OK @EXPORT $VERSION);
+
+use Carp qw(carp);
+use Exporter;
+use File::Spec::Functions qw(catfile);
+
+require Test::More;
+*diag = *Test::More::diag;
+
+ at EXPORT = qw(run_t_manifest);
+ at EXPORT_OK = qw(get_t_files make_test_manifest manifest_name);
+
+$VERSION = sprintf "%d.%02d", q$Revision: 1.14 $ =~ m/ (\d+) \. (\d+) /x;
+
+my $Manifest = catfile( "t", "test_manifest" );
+
+require 5.006;
+
+*MY::test_via_harness = sub
+ {
+ my($self, $perl, $tests) = @_;
+
+ return qq|\t$perl "-MTest::Manifest" | .
+ qq|"-e" "run_t_manifest(\$(TEST_VERBOSE), '\$(INST_LIB)', | .
+ qq|'\$(INST_ARCHLIB)', \$(TEST_LEVEL) )"\n|;
+ };
+
+=head1 NAME
+
+Test::Manifest - interact with a t/test_manifest file
+
+=head1 SYNOPSIS
+
+ # in Makefile.PL
+ eval "use Test::Manifest";
+
+ # in the file t/test_manifest, list the tests you want
+ # to run
+
+=head1 DESCRIPTION
+
+Test::Harness assumes that you want to run all of the .t files in the
+t/ directory in ascii-betical order during C<make test> unless you say
+otherwise. This leads to some interesting naming schemes for test
+files to get them in the desired order. This interesting names ossify
+when they get into source control, and get even more interesting as
+more tests show up.
+
+Test::Manifest overrides the default behaviour by replacing the
+test_via_harness target in the Makefile. Instead of running at the
+t/*.t files in ascii-betical order, it looks in the t/test_manifest
+file to find out which tests you want to run and the order in which
+you want to run them. It constructs the right value for MakeMaker to
+do the right thing.
+
+In t/test_manifest, simply list the tests that you want to run. Their
+order in the file is the order in which they run. You can comment
+lines with a #, just like in Perl, and Test::Manifest will strip
+leading and trailing whitespace from each line. It also checks that
+the specified file is actually in the t/ directory. If the file does
+not exist, it does not put its name in the list of test files to run.
+
+Optionally, you can add a number after the test name in test_manifest
+to define sets of tests. See get_t_files() for more information.
+
+=head2 Functions
+
+=over 4
+
+=item run_t_manifest( TEST_VERBOSE, INST_LIB, INST_ARCHLIB, TEST_LEVEL )
+
+Run all of the files in t/test_manifest through Test::Harness:runtests
+in the order they appear in the file.
+
+ eval "use Test::Manifest";
+
+=cut
+
+sub run_t_manifest
+ {
+ require Test::Harness;
+ require File::Spec;
+
+ $Test::Harness::verbose = shift;
+
+ local @INC = @INC;
+ unshift @INC, map { File::Spec->rel2abs($_) } @_[0,1];
+
+ my( $level ) = $_[2] || ();
+
+ print STDERR "Level is $level\n";
+
+ my @files = get_t_files( $level );
+ print STDERR "Test::Manifest::test_harness found [@files]\n";
+
+ Test::Harness::runtests( @files );
+ }
+
+=item get_t_files( [LEVEL] )
+
+In scalar context it returns a single string that you can use directly
+in WriteMakefile(). In list context it returns a list of the files it
+found in t/test_manifest.
+
+If a t/test_manifest file does not exist, get_t_files() returns
+nothing.
+
+get_t_files() warns you if it can't find t/test_manifest, or if
+entries start with "t/". It skips blank lines, and strips Perl
+style comments from the file.
+
+Each line in t/test_manifest can have three parts: the test name,
+the test level (a floating point number), and a comment. By default,
+the test level is 1.
+
+ test_name.t 2 #Run this only for level 2 testing
+
+Without an argument, get_t_files() returns all the test files it
+finds. With an argument that is true (so you can't use 0 as a level)
+and is a number, it skips tests with a level greater than that
+argument. You can then define sets of tests and choose a set to
+run. For instance, you might create a set for end users, but also
+add on a set for deeper testing for developers.
+
+To select sets of tests, specify the level in the variable TEST_LEVEL
+during `make test`.
+
+ make test # run all tests no matter the level
+ make test TEST_LEVEL=2 # run all tests level 2 and below
+
+=cut
+
+sub get_t_files
+ {
+ my $upper_bound = shift;
+ diag( "Test level is $upper_bound\n" ) if $Test::Harness::verbose;
+
+ carp( "$Manifest does not exist!" ) unless -e $Manifest;
+ return unless open my( $fh ), $Manifest;
+
+ my @tests = ();
+
+ while( <$fh> )
+ {
+ chomp;
+ s/#.*//;
+ s/^\s+|\s+$//g;
+ next unless $_;
+ my( $test, $level ) = split /\s+/, $_, 2;
+
+ $level = 1 unless defined $level;
+
+ next if( $upper_bound and $level > $upper_bound );
+
+ carp( "Bad value for test [$test] level [$level]\n".
+ "Level should be a floating-point number\n" )
+ unless $level =~ m/^\d+(?:.\d+)?$/;
+ carp( "test file begins with t/ [$test]" ) if m|^t/|;
+
+ push @tests, catfile( "t", $test ) if -e catfile( "t", $test );
+ }
+ close $fh;
+
+ return wantarray ? @tests : join " ", @tests;
+ }
+
+=item make_test_manifest()
+
+Creates the test_manifest file in the t directory by reading
+the contents of the t directory.
+
+TO DO: specify tests in argument lists.
+
+TO DO: specify files to skip.
+
+=cut
+
+sub make_test_manifest()
+ {
+ carp( "t/ directory does not exist!" ) unless -d "t";
+ return unless open my( $fh ), "> $Manifest";
+
+ my $count = 0;
+ while( my $file = glob("t/*.t") )
+ {
+ $file =~ s|^t/||;
+ print $fh "$file\n";
+ $count++;
+ }
+ close $fh;
+
+ return $count;
+ }
+
+=item manifest_name()
+
+Returns the name of the test manifest file, relative to t/
+
+=cut
+
+sub manifest_name
+ {
+ return $Manifest;
+ }
+
+=back
+
+=head1 SOURCE AVAILABILITY
+
+This source is part of a SourceForge project which always has the
+latest sources in CVS, as well as all of the previous releases.
+
+ http://sourceforge.net/projects/brian-d-foy/
+
+If, for some reason, I disappear from the world, one of the other
+members of the project can shepherd this module appropriately.
+
+=head1 AUTHOR
+
+brian d foy, C<< <bdfoy at cpan.org> >>
+
+=head1 COPYRIGHT
+
+Copyright 2002-2004, brian d foy, All Rights Reserved
+
+You may use and distribute this module under the same terms
+as Perl itself
+
+=cut
+
+1;
Added: branches/upstream/libtest-manifest-perl/current/t/0.load.t
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/t/0.load.t?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/t/0.load.t (added)
+++ branches/upstream/libtest-manifest-perl/current/t/0.load.t Sat Dec 1 12:18:42 2007
@@ -1,0 +1,6 @@
+# $Id: 0.load.t,v 1.4 2004/09/02 20:56:40 comdog Exp $
+
+use Test::More tests => 1;
+
+print "bail out! Test::Manifest could not compile.\n"
+ unless use_ok( "Test::Manifest" );
Added: branches/upstream/libtest-manifest-perl/current/t/1.get_test_files.t
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/t/1.get_test_files.t?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/t/1.get_test_files.t (added)
+++ branches/upstream/libtest-manifest-perl/current/t/1.get_test_files.t Sat Dec 1 12:18:42 2007
@@ -1,0 +1,83 @@
+# $Id: 1.get_test_files.t,v 1.7 2005/03/27 02:29:36 comdog Exp $
+use strict;
+
+use Test::More tests => 13;
+
+use File::Copy qw(copy);
+use File::Spec;
+
+use Test::Manifest qw(get_t_files manifest_name);
+
+copy( 'test_manifest', manifest_name() );
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+my $expected = join " ", map { File::Spec->catfile( "t", $_ ) } qw(
+ 0.load.t 1.get_test_files.t 1.make_test_manifest.t
+ leading_space.t trailing_space.t
+ );
+
+my @tests = split /\s+/, $expected;
+
+my $string = get_t_files();
+
+is( $string, $expected, "Single string version of tests is right" );
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+my @array = get_t_files();
+
+foreach my $i ( 0 .. $#array )
+ {
+ is( $array[$i], $tests[$i], "Test file $i has expected name" );
+ }
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+{
+local $SIG{__WARN__} = sub { 1 };
+
+( unlink manifest_name() ) ?
+ pass( "test_manifest unlinked") :
+ fail( "test_manifest still around after unlink!");
+
+my $string = get_t_files();
+
+ok( ! $string, "Nothing returned when test_manifest does not exist (scalar)" );
+
+my @array = get_t_files();
+
+ok( ! $string, "Nothing returned when test_manifest does not exist (list)" );
+}
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+{
+local $Test::Harness::verbose = 1;
+copy( 'test_manifest_levels', manifest_name() );
+
+my @expected = ( [] );
+$expected[1] = [ qw( 0.load.t 1.get_test_files.t pod_coverage.t) ];
+$expected[2] = [ qw( 0.load.t 1.get_test_files.t 1.make_test_manifest.t
+ pod_coverage.t ) ];
+$expected[3] = [ qw( 0.load.t 1.get_test_files.t 1.make_test_manifest.t
+ leading_space.t pod_coverage.t trailing_space.t ) ];
+$expected[0] = [ qw( 0.load.t 1.get_test_files.t 1.make_test_manifest.t
+ leading_space.t pod_coverage.t trailing_space.t 99.pod.t ) ];
+
+foreach my $level ( 0 .. 3 )
+ {
+ my $string = get_t_files( $level );
+ my $expected = join ' ', map { File::Spec->catfile( 't', $_ ) }
+ @{ $expected[$level] };
+ is( $string, $expected, "Level $level version of tests is right" );
+ }
+
+}
+
+__END__
+# this is a comment, then a blank line
+
+0.load.t
+1.get_test_files.t 1
+1.make_test_manifest.t 2
+leading_space.t 2.9
+pod_coverage.t 1 # with a comment
+trailing_space.t 3 # with a comment
+99.pod.t 3.1
Added: branches/upstream/libtest-manifest-perl/current/t/1.make_test_manifest.t
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/t/1.make_test_manifest.t?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/t/1.make_test_manifest.t (added)
+++ branches/upstream/libtest-manifest-perl/current/t/1.make_test_manifest.t Sat Dec 1 12:18:42 2007
@@ -1,0 +1,14 @@
+# $Id: 1.make_test_manifest.t,v 1.2 2002/10/10 04:19:16 comdog Exp $
+
+use Test::More tests => 2;
+
+use Test::Manifest qw(make_test_manifest);
+
+my $test_manifest = 't/test_manifest';
+
+unlink $test_manifest;
+ok( ! -e $test_manifest, 'test_manifest does not exit' );
+
+make_test_manifest();
+
+ok( -e $test_manifest, 'test_manifest exists' );
Added: branches/upstream/libtest-manifest-perl/current/t/99.pod.t
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/t/99.pod.t?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/t/99.pod.t (added)
+++ branches/upstream/libtest-manifest-perl/current/t/99.pod.t Sat Dec 1 12:18:42 2007
@@ -1,0 +1,5 @@
+# $Id: 99.pod.t,v 1.2 2004/09/02 20:56:40 comdog Exp $
+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();
Added: branches/upstream/libtest-manifest-perl/current/t/leading_space.t
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/t/leading_space.t?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/t/leading_space.t (added)
+++ branches/upstream/libtest-manifest-perl/current/t/leading_space.t Sat Dec 1 12:18:42 2007
@@ -1,0 +1,2 @@
+use Test::More tests => 1;
+pass( 'this file must exist for tests' );
Added: branches/upstream/libtest-manifest-perl/current/t/pod_coverage.t
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/t/pod_coverage.t?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/t/pod_coverage.t (added)
+++ branches/upstream/libtest-manifest-perl/current/t/pod_coverage.t Sat Dec 1 12:18:42 2007
@@ -1,0 +1,15 @@
+# $Id: pod_coverage.t,v 1.1 2005/03/19 18:35:04 comdog Exp $
+
+use Test::More;
+eval "use Test::Pod::Coverage";
+
+if( $@ )
+ {
+ plan skip_all => "Test::Pod::Coverage required for testing POD";
+ }
+else
+ {
+ plan tests => 1;
+
+ pod_coverage_ok( "Test::Manifest" );
+ }
Added: branches/upstream/libtest-manifest-perl/current/t/trailing_space.t
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/t/trailing_space.t?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/t/trailing_space.t (added)
+++ branches/upstream/libtest-manifest-perl/current/t/trailing_space.t Sat Dec 1 12:18:42 2007
@@ -1,0 +1,2 @@
+use Test::More tests => 1;
+pass( 'this file must exist for tests' );
Added: branches/upstream/libtest-manifest-perl/current/test_manifest
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/test_manifest?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/test_manifest (added)
+++ branches/upstream/libtest-manifest-perl/current/test_manifest Sat Dec 1 12:18:42 2007
@@ -1,0 +1,7 @@
+# this is a comment, then a blank line
+
+0.load.t
+1.get_test_files.t
+1.make_test_manifest.t
+ leading_space.t
+trailing_space.t # comment at end of line
Added: branches/upstream/libtest-manifest-perl/current/test_manifest_levels
URL: http://svn.debian.org/wsvn/branches/upstream/libtest-manifest-perl/current/test_manifest_levels?rev=10353&op=file
==============================================================================
--- branches/upstream/libtest-manifest-perl/current/test_manifest_levels (added)
+++ branches/upstream/libtest-manifest-perl/current/test_manifest_levels Sat Dec 1 12:18:42 2007
@@ -1,0 +1,9 @@
+# this is a comment, then a blank line
+
+0.load.t
+1.get_test_files.t 1
+1.make_test_manifest.t 2
+leading_space.t 2.9
+pod_coverage.t 1 # with a comment
+trailing_space.t 3 # with a comment
+99.pod.t 3.1
More information about the Pkg-perl-cvs-commits
mailing list