r11426 - in /trunk/libtest-manifest-perl: ./ debian/ examples/ lib/ t/

hanska-guest at users.alioth.debian.org hanska-guest at users.alioth.debian.org
Wed Dec 19 14:16:06 UTC 2007


Author: hanska-guest
Date: Wed Dec 19 14:16:06 2007
New Revision: 11426

URL: http://svn.debian.org/wsvn/?sc=1&rev=11426
Log:
* New upstream version

Added:
    trunk/libtest-manifest-perl/LICENSE
    trunk/libtest-manifest-perl/examples/
    trunk/libtest-manifest-perl/examples/README
    trunk/libtest-manifest-perl/t/include.t
    trunk/libtest-manifest-perl/t/include_in_manifest.txt
    trunk/libtest-manifest-perl/test_manifest_with_include
Modified:
    trunk/libtest-manifest-perl/Changes
    trunk/libtest-manifest-perl/MANIFEST
    trunk/libtest-manifest-perl/META.yml
    trunk/libtest-manifest-perl/Makefile.PL
    trunk/libtest-manifest-perl/README
    trunk/libtest-manifest-perl/debian/changelog
    trunk/libtest-manifest-perl/lib/Manifest.pm
    trunk/libtest-manifest-perl/t/0.load.t
    trunk/libtest-manifest-perl/t/1.get_test_files.t
    trunk/libtest-manifest-perl/t/1.make_test_manifest.t
    trunk/libtest-manifest-perl/t/99.pod.t
    trunk/libtest-manifest-perl/t/pod_coverage.t

Modified: trunk/libtest-manifest-perl/Changes
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/Changes?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/Changes (original)
+++ trunk/libtest-manifest-perl/Changes Wed Dec 19 14:16:06 2007
@@ -1,4 +1,31 @@
-$Id: Changes,v 1.9 2005/03/19 18:38:23 comdog Exp $
+$Id: Changes 2350 2007-10-28 02:24:12Z comdog $
+
+1.22 - Sat Oct 27 21:24:10 2007
+	* distro cleanups after moving from CVS to SVN
+
+1.21 - Wed Sep 19 19:45:27 2007
+	* [BUGFIX] getting rid of Test::More
+
+1.17 - Thu Feb 22 13:20:23 2007
+	* Updated to Sourceforge's SVN repository
+	* Dist conforms to META 1.2 spec
+	* No feature changes, so no big hurry to upgrade
+
+1.16 - Tue Aug 29 17:43:16 2006
+	* Added an experimental feature to grab file names from additional
+	files. Just specify which other files to grab file names from:
+
+	;include names_in_this_file.txt
+
+	See the docs for get_t_files().
+
+	* This is an experimental feature. This feature is experimental.
+
+1.14 - Sat Mar 26 20:55:45 2005
+	* put paths together with File::Spec (so this should work on
+	Windows
+	* You can now define levels of testing with TEST_LEVEL (e.g.
+	make test TEST_LEVEL=2)
 
 1.13 - Sat Mar 19 12:36:04 2005
 	* Added POD Coverage tests

Added: trunk/libtest-manifest-perl/LICENSE
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/LICENSE?rev=11426&op=file
==============================================================================
--- trunk/libtest-manifest-perl/LICENSE (added)
+++ trunk/libtest-manifest-perl/LICENSE Wed Dec 19 14:16:06 2007
@@ -1,0 +1,1 @@
+You can use Test::Manifest under the same terms as Perl itself.

Modified: trunk/libtest-manifest-perl/MANIFEST
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/MANIFEST?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/MANIFEST (original)
+++ trunk/libtest-manifest-perl/MANIFEST Wed Dec 19 14:16:06 2007
@@ -1,15 +1,20 @@
 Changes
+examples/README
 lib/Manifest.pm
+LICENSE
 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/include.t
+t/include_in_manifest.txt
 t/leading_space.t
 t/pod_coverage.t
 t/trailing_space.t
 test_manifest
 test_manifest_levels
+test_manifest_with_include
+META.yml                                 Module meta-data (added by MakeMaker)

Modified: trunk/libtest-manifest-perl/META.yml
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/META.yml?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/META.yml (original)
+++ trunk/libtest-manifest-perl/META.yml Wed Dec 19 14:16:06 2007
@@ -1,12 +1,15 @@
-# 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:
+--- #YAML:1.0
+name:                Test-Manifest
+version:             1.22
+abstract:            interact with a t/test_manifest file
+license:             perl
+generated_by:        ExtUtils::MakeMaker version 6.36
+distribution_type:   module
+requires:     
     ExtUtils::MakeMaker:           6.03
     Test::More:                    0
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.23
+meta-spec:
+    url:     http://module-build.sourceforge.net/META-spec-v1.3.html
+    version: 1.3
+author:
+    - brian d foy <bdfoy at cpan.org>

Modified: trunk/libtest-manifest-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/Makefile.PL?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/Makefile.PL (original)
+++ trunk/libtest-manifest-perl/Makefile.PL Wed Dec 19 14:16:06 2007
@@ -1,22 +1,30 @@
-# $Id: Makefile.PL,v 1.7 2004/09/03 02:42:58 comdog Exp $
+# $Id: Makefile.PL 2349 2007-10-28 02:23:24Z comdog $
 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',
-            },
-          
-        clean => { FILES => 'Test-Manifest-* t/test_manifest' },
-        );
+	(
+	'NAME'          => 'Test::Manifest',
+	'ABSTRACT'      => 'interact with a t/test_manifest file',
+	'VERSION_FROM'  => 'lib/Manifest.pm',
+	'LICENSE'       => 'perl',
+	'AUTHOR'        => 'brian d foy <bdfoy at cpan.org>',
+	
+	'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' },
+	);

Modified: trunk/libtest-manifest-perl/README
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/README?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/README (original)
+++ trunk/libtest-manifest-perl/README Wed Dec 19 14:16:06 2007
@@ -1,4 +1,4 @@
-$Id: README,v 1.1 2004/09/02 20:43:32 comdog Exp $
+$Id: README 1373 2004-09-02 20:43:32Z comdog $
 
 You can install this using in the usual Perl fashion
 

Modified: trunk/libtest-manifest-perl/debian/changelog
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/debian/changelog?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/debian/changelog (original)
+++ trunk/libtest-manifest-perl/debian/changelog Wed Dec 19 14:16:06 2007
@@ -1,11 +1,15 @@
-libtest-manifest-perl (1.14-2) UNRELEASED; urgency=low
+libtest-manifest-perl (1.22-1) UNRELEASED; urgency=low
 
+  [ gregor herrmann ]
   * debian/control: Added: Vcs-Svn field (source stanza); Vcs-Browser
     field (source stanza); Homepage field (source stanza).
   * Set Maintainer to Debian Perl Group.
   * Use dist-based URL in debian/watch.
 
- -- gregor herrmann <gregor+debian at comodo.priv.at>  Sat, 01 Dec 2007 18:55:20 +0100
+  [ David Paleino ]
+  * New upstream version
+
+ -- David Paleino <d.paleino at gmail.com>  Wed, 19 Dec 2007 16:16:04 +0100
 
 libtest-manifest-perl (1.14-1) unstable; urgency=low
 

Added: trunk/libtest-manifest-perl/examples/README
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/examples/README?rev=11426&op=file
==============================================================================
--- trunk/libtest-manifest-perl/examples/README (added)
+++ trunk/libtest-manifest-perl/examples/README Wed Dec 19 14:16:06 2007
@@ -1,0 +1,1 @@
+See the tests in the t/ directory for examples until I add some more.

Modified: trunk/libtest-manifest-perl/lib/Manifest.pm
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/lib/Manifest.pm?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/lib/Manifest.pm (original)
+++ trunk/libtest-manifest-perl/lib/Manifest.pm Wed Dec 19 14:16:06 2007
@@ -1,4 +1,4 @@
-# $Id: Manifest.pm,v 1.14 2005/03/27 02:29:36 comdog Exp $
+# $Id: Manifest.pm 2349 2007-10-28 02:23:24Z comdog $
 package Test::Manifest;
 use strict;
 
@@ -6,22 +6,20 @@
 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;
 
 @EXPORT    = qw(run_t_manifest);
 @EXPORT_OK = qw(get_t_files make_test_manifest manifest_name);
 
-$VERSION = sprintf "%d.%02d", q$Revision: 1.14 $ =~ m/ (\d+) \. (\d+) /x;
+$VERSION = 1.22;
 
 my $Manifest = catfile( "t", "test_manifest" );
+my %SeenInclude = ();
+my %SeenTest = ();
 
 require 5.006;
 
-*MY::test_via_harness = sub
+sub MY::test_via_harness
 	{
 	my($self, $perl, $tests) = @_;
 
@@ -127,6 +125,24 @@
 run. For instance, you might create a set for end users, but also
 add on a set for deeper testing for developers.
 
+Experimentally, you can include a command to grab test names from 
+another file. The command starts with a C<;> to distinguish it
+from a true filename. The filename (currently) is relative to the
+current working directory, unlike the filenames, which are relative
+to C<t/>. The filenames in the included are still relative to C<t/>.
+
+	;include t/file_with_other_test_names.txt
+
+Also experimentally, you can stop Test::Manifest from reading filenames
+with the C<;skip> directive. Test::Harness will skip the filenames up to
+the C<;unskip> directive (or end of file)
+
+	run_this1
+	;skip
+	skip_this
+	;unskip
+	run_this2
+
 To select sets of tests, specify the level in the variable TEST_LEVEL
 during `make test`. 
 
@@ -138,21 +154,55 @@
 sub get_t_files
 	{
 	my $upper_bound = shift;
-	diag( "Test level is $upper_bound\n" ) if $Test::Harness::verbose;
-	
+	print STDERR ( "# Test level is $upper_bound\n" ) if $Test::Harness::verbose;
+	
+	%SeenInclude = ();
+	%SeenTest    = ();
+
 	carp( "$Manifest does not exist!" ) unless -e $Manifest;
-	return unless open my( $fh ), $Manifest;
-
+	my $result = _load_test_manifest($Manifest, $upper_bound);
+	return unless defined $result;
+	my @tests = @{$result};
+	
+	return wantarray ? @tests : join " ", @tests;
+	}
+
+# Wrapper for loading test manifest files to support including other files
+sub _load_test_manifest
+	{
+	my $manifest = shift;
+	return unless open my( $fh ), $manifest;
+
+	my $upper_bound = shift || 0;
 	my @tests = ();
 
-	while( <$fh> )
+	LINE: while( <$fh> )
 		{
-		chomp;
-		s/#.*//;
-		s/^\s+|\s+$//g;
+		s/#.*//; s/^\s+//; s/\s+$//;
+
 		next unless $_;
-		my( $test, $level ) = split /\s+/, $_, 2;
-		
+
+		my( $command, $arg ) = split/\s+/, $_, 2;
+		if( ';' eq substr( $command, 0, 1 ) )
+			{
+			if( $command eq ';include' ) 
+				{
+				my $result = _include_file( $arg, $., $upper_bound );
+				push @tests, @$result if defined $result;
+				next;
+				}
+			elsif( $command eq ';skip' ) 
+				{
+				while( <$fh> ) { last if m/^;unskip/ }
+				next LINE;
+				}
+			else
+				{
+				croak( "Unknown directive: $command" );
+				}
+			}
+			
+		my( $test, $level ) = ( $command, $arg );
 		$level = 1 unless defined $level;
 		
 		next if( $upper_bound and $level > $upper_bound );
@@ -162,13 +212,44 @@
 			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 );
+		$test = catfile( "t", $test ) if -e catfile( "t", $test );
+		# Make sure we don't include a test we've already seen
+		next if exists $SeenTest{$test};
+
+		$SeenTest{$test} = 1;
+		push @tests, $test;
 		}
+
 	close $fh;
-
-	return wantarray ? @tests : join " ", @tests;
-	}
-
+	return \@tests;
+	}
+
+sub _include_file
+	{
+	my( $file, $line, $upper_bound ) = @_;
+	print STDERR ( "# Including file $file at line $line\n" ) if $Test::Harness::verbose;
+	
+	unless( -e $file )
+		{
+		carp( "$file does not exist" ) ;
+		return;
+		}
+	
+	if( exists $SeenInclude{$file} )
+		{
+		carp( "$file already loaded - skipping" ) ;
+		return;
+		}
+
+	$SeenInclude{$file} = $line;
+
+	my $result = _load_test_manifest( $file, $upper_bound );
+	return unless defined $result;
+	
+	$result;
+	}
+	
+	
 =item make_test_manifest()
 
 Creates the test_manifest file in the t directory by reading
@@ -220,17 +301,23 @@
 If, for some reason, I disappear from the world, one of the other
 members of the project can shepherd this module appropriately.
 
+=head1 CREDITS
+
+Matt Vanderpol suggested and supplied a patch for the ;include
+feature.
+
 =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
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (c) 2002-2007 brian d foy.  All rights reserved.
+
+This program is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
 
 1;

Modified: trunk/libtest-manifest-perl/t/0.load.t
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/t/0.load.t?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/t/0.load.t (original)
+++ trunk/libtest-manifest-perl/t/0.load.t Wed Dec 19 14:16:06 2007
@@ -1,4 +1,4 @@
-# $Id: 0.load.t,v 1.4 2004/09/02 20:56:40 comdog Exp $
+# $Id: 0.load.t 1376 2004-09-02 20:56:40Z comdog $
 
 use Test::More tests => 1;
 

Modified: trunk/libtest-manifest-perl/t/1.get_test_files.t
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/t/1.get_test_files.t?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/t/1.get_test_files.t (original)
+++ trunk/libtest-manifest-perl/t/1.get_test_files.t Wed Dec 19 14:16:06 2007
@@ -1,4 +1,4 @@
-# $Id: 1.get_test_files.t,v 1.7 2005/03/27 02:29:36 comdog Exp $
+# $Id: 1.get_test_files.t 1635 2005-03-27 02:30:24Z comdog $
 use strict;
 
 use Test::More tests => 13;

Modified: trunk/libtest-manifest-perl/t/1.make_test_manifest.t
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/t/1.make_test_manifest.t?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/t/1.make_test_manifest.t (original)
+++ trunk/libtest-manifest-perl/t/1.make_test_manifest.t Wed Dec 19 14:16:06 2007
@@ -1,4 +1,4 @@
-# $Id: 1.make_test_manifest.t,v 1.2 2002/10/10 04:19:16 comdog Exp $
+# $Id: 1.make_test_manifest.t 484 2002-10-10 04:19:16Z comdog $
 
 use Test::More tests => 2;
 

Modified: trunk/libtest-manifest-perl/t/99.pod.t
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/t/99.pod.t?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/t/99.pod.t (original)
+++ trunk/libtest-manifest-perl/t/99.pod.t Wed Dec 19 14:16:06 2007
@@ -1,4 +1,4 @@
-# $Id: 99.pod.t,v 1.2 2004/09/02 20:56:40 comdog Exp $
+# $Id: 99.pod.t 1376 2004-09-02 20:56:40Z comdog $
 use Test::More;
 eval "use Test::Pod 1.00";
 plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;

Added: trunk/libtest-manifest-perl/t/include.t
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/t/include.t?rev=11426&op=file
==============================================================================
--- trunk/libtest-manifest-perl/t/include.t (added)
+++ trunk/libtest-manifest-perl/t/include.t Wed Dec 19 14:16:06 2007
@@ -1,0 +1,36 @@
+# $Id: include.t 1891 2006-08-29 22:28:08Z comdog $
+use strict;
+
+use Test::More tests => 4;
+
+use File::Copy qw(copy);
+use File::Spec;
+
+use Test::Manifest qw(get_t_files manifest_name);
+
+ok( -e File::Spec->catfile( "t", "include_in_manifest.txt" ), 
+	"Found file I'll include in test_manifest" );
+ok( -e 'test_manifest_with_include', 
+	"Found file that I'll copy to test_manifest" );
+
+copy( 'test_manifest_with_include', manifest_name() );
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+my @expected_tests = map { File::Spec->catfile( "t", $_ ) } qw(
+	0.load.t 
+	99.pod.t
+	1.get_test_files.t
+	);
+	
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+my $expected = join " ", @expected_tests;
+
+my $string = get_t_files();
+
+is( $string, $expected, "Single string version of tests is right" );
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+my @files = get_t_files();
+
+is_deeply( \@files, \@expected_tests, "Array version of tests is right" );

Added: trunk/libtest-manifest-perl/t/include_in_manifest.txt
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/t/include_in_manifest.txt?rev=11426&op=file
==============================================================================
--- trunk/libtest-manifest-perl/t/include_in_manifest.txt (added)
+++ trunk/libtest-manifest-perl/t/include_in_manifest.txt Wed Dec 19 14:16:06 2007
@@ -1,0 +1,2 @@
+99.pod.t
+1.get_test_files.t

Modified: trunk/libtest-manifest-perl/t/pod_coverage.t
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/t/pod_coverage.t?rev=11426&op=diff
==============================================================================
--- trunk/libtest-manifest-perl/t/pod_coverage.t (original)
+++ trunk/libtest-manifest-perl/t/pod_coverage.t Wed Dec 19 14:16:06 2007
@@ -1,4 +1,4 @@
-# $Id: pod_coverage.t,v 1.1 2005/03/19 18:35:04 comdog Exp $
+# $Id: pod_coverage.t 1633 2005-03-19 18:35:04Z comdog $
 
 use Test::More;
 eval "use Test::Pod::Coverage";

Added: trunk/libtest-manifest-perl/test_manifest_with_include
URL: http://svn.debian.org/wsvn/trunk/libtest-manifest-perl/test_manifest_with_include?rev=11426&op=file
==============================================================================
--- trunk/libtest-manifest-perl/test_manifest_with_include (added)
+++ trunk/libtest-manifest-perl/test_manifest_with_include Wed Dec 19 14:16:06 2007
@@ -1,0 +1,2 @@
+0.load.t
+;include t/include_in_manifest.txt




More information about the Pkg-perl-cvs-commits mailing list