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