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