summaryrefslogtreecommitdiff
path: root/corpus
diff options
context:
space:
mode:
Diffstat (limited to 'corpus')
-rw-r--r--corpus/Dist-Metadata-Test-LikePause-0.1.tar.gzbin0 -> 341 bytes
-rw-r--r--corpus/Dist-Metadata-Test-LikePause-0.1.zipbin0 -> 665 bytes
-rw-r--r--corpus/Dist-Metadata-Test-LikePause-0.1/README1
-rw-r--r--corpus/Dist-Metadata-Test-LikePause-0.1/lib/Dist/Metadata/Test/LikePause.pm18
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-2.2.tar.gzbin0 -> 876 bytes
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-2.2.zipbin0 -> 2726 bytes
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-2.2/META.json39
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-2.2/META.yml29
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-2.2/README1
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile.pm13
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile/PM.pm12
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.tar.gzbin0 -> 806 bytes
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.zipbin0 -> 2400 bytes
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.json27
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.yml20
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/README1
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/inc/NotThis.pm11
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/lib/Dist/Metadata/Test/MetaFile/Incomplete.pm12
-rw-r--r--corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/t/lib/Never.pm12
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-0.1.tar.gzbin0 -> 333 bytes
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-0.1.zipbin0 -> 888 bytes
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-0.1/README1
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile.pm12
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile/PM.pm12
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.tar.gzbin0 -> 298 bytes
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.zipbin0 -> 647 bytes
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/README1
-rw-r--r--corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/lib/Dist/Metadata/Test/NoMetaFile/DevRelease.pm12
-rw-r--r--corpus/Dist-Metadata-Test-SubDir-1.5.tar.gzbin0 -> 334 bytes
-rw-r--r--corpus/Dist-Metadata-Test-SubDir-1.5.zipbin0 -> 840 bytes
-rwxr-xr-xcorpus/make_dists94
-rw-r--r--corpus/noroot.tar.gzbin0 -> 319 bytes
-rw-r--r--corpus/noroot.zipbin0 -> 661 bytes
-rw-r--r--corpus/noroot/README1
-rw-r--r--corpus/noroot/lib/Dist/Metadata/Test/NoRoot.pm12
-rw-r--r--corpus/noroot/lib/Dist/Metadata/Test/NoRoot/PM.pm12
-rw-r--r--corpus/structs.pl228
-rw-r--r--corpus/subdir/Dist-Metadata-Test-SubDir-1.5/README1
-rw-r--r--corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir.pm12
-rw-r--r--corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir/PM.pm12
40 files changed, 606 insertions, 0 deletions
diff --git a/corpus/Dist-Metadata-Test-LikePause-0.1.tar.gz b/corpus/Dist-Metadata-Test-LikePause-0.1.tar.gz
new file mode 100644
index 0000000..beebbc6
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-LikePause-0.1.tar.gz
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-LikePause-0.1.zip b/corpus/Dist-Metadata-Test-LikePause-0.1.zip
new file mode 100644
index 0000000..42bfd87
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-LikePause-0.1.zip
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-LikePause-0.1/README b/corpus/Dist-Metadata-Test-LikePause-0.1/README
new file mode 100644
index 0000000..0d67857
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-LikePause-0.1/README
@@ -0,0 +1 @@
+This "dist" is for testing Dist::Metadata.
diff --git a/corpus/Dist-Metadata-Test-LikePause-0.1/lib/Dist/Metadata/Test/LikePause.pm b/corpus/Dist-Metadata-Test-LikePause-0.1/lib/Dist/Metadata/Test/LikePause.pm
new file mode 100644
index 0000000..1fe631b
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-LikePause-0.1/lib/Dist/Metadata/Test/LikePause.pm
@@ -0,0 +1,18 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::LikePause;
+
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = '0.1';
+
+# This should be excluded unless "include_inner_packages" is true
+package ExtraPackage;
+
+our $VERSION = '0.2';
diff --git a/corpus/Dist-Metadata-Test-MetaFile-2.2.tar.gz b/corpus/Dist-Metadata-Test-MetaFile-2.2.tar.gz
new file mode 100644
index 0000000..5e0b38a
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-2.2.tar.gz
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-MetaFile-2.2.zip b/corpus/Dist-Metadata-Test-MetaFile-2.2.zip
new file mode 100644
index 0000000..31e9509
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-2.2.zip
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-MetaFile-2.2/META.json b/corpus/Dist-Metadata-Test-MetaFile-2.2/META.json
new file mode 100644
index 0000000..a9dcc64
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-2.2/META.json
@@ -0,0 +1,39 @@
+{
+ "abstract" : "Fake dist for testing metadata determination",
+ "author" : [
+ "Randy Stauner <rwstauner@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "hand",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Dist-Metadata-Test-MetaFile",
+ "no_index" : {
+ "directory" : [
+ "corpus",
+ "examples",
+ "inc",
+ "share",
+ "t",
+ "xt"
+ ]
+ },
+ "provides" : {
+ "Dist::Metadata::Test::MetaFile" : {
+ "file" : "lib/Dist/Metadata/Test/MetaFile.pm",
+ "version" : "2.1"
+ },
+ "Dist::Metadata::Test::MetaFile::PM" : {
+ "file" : "lib/Dist/Metadata/Test/MetaFile/PM.pm",
+ "version" : "2.0"
+ }
+ },
+ "release_status" : "stable",
+ "version" : "2.2"
+}
+
diff --git a/corpus/Dist-Metadata-Test-MetaFile-2.2/META.yml b/corpus/Dist-Metadata-Test-MetaFile-2.2/META.yml
new file mode 100644
index 0000000..1ceb7ac
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-2.2/META.yml
@@ -0,0 +1,29 @@
+---
+abstract: Fake dist for testing metadata determination
+author:
+- Randy Stauner <rwstauner@cpan.org>
+dynamic_config: 0
+generated_by: hand
+license:
+- perl_5
+meta-spec:
+ url: http://search.cpan.org/perldoc?CPAN::Meta::Spec
+ version: '2'
+name: Dist-Metadata-Test-MetaFile
+no_index:
+ directory:
+ - corpus
+ - examples
+ - inc
+ - share
+ - t
+ - xt
+provides:
+ Dist::Metadata::Test::MetaFile:
+ file: lib/Dist/Metadata/Test/MetaFile.pm
+ version: '2.05'
+ Dist::Metadata::Test::MetaFile::PM:
+ file: lib/Dist/Metadata/Test/MetaFile/PM.pm
+ version: '2.04'
+release_status: stable
+version: '2.2'
diff --git a/corpus/Dist-Metadata-Test-MetaFile-2.2/README b/corpus/Dist-Metadata-Test-MetaFile-2.2/README
new file mode 100644
index 0000000..0d67857
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-2.2/README
@@ -0,0 +1 @@
+This "dist" is for testing Dist::Metadata.
diff --git a/corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile.pm b/corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile.pm
new file mode 100644
index 0000000..eba4f29
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile.pm
@@ -0,0 +1,13 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::MetaFile;
+# ABSTRACT: Fake dist for testing metadata determination
+
+# does not match META file but we trust the META file
+our $VERSION = '1.5';
diff --git a/corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile/PM.pm b/corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile/PM.pm
new file mode 100644
index 0000000..042cfd0
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile/PM.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::MetaFile::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = '1.1';
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.tar.gz b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.tar.gz
new file mode 100644
index 0000000..0d77ac6
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.tar.gz
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.zip b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.zip
new file mode 100644
index 0000000..cdf4b36
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1.zip
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.json b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.json
new file mode 100644
index 0000000..08dc97f
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.json
@@ -0,0 +1,27 @@
+{
+ "abstract" : "Fake dist for testing metadata determination",
+ "author" : [
+ "Randy Stauner <rwstauner@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "hand",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Dist-Metadata-Test-MetaFile-Incomplete",
+ "no_index" : {
+ "directory" : [
+ "examples",
+ "share",
+ "xt"
+ ]
+ },
+ "provides" : {},
+ "release_status" : "stable",
+ "version" : "2.1"
+}
+
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.yml b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.yml
new file mode 100644
index 0000000..d131cfb
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.yml
@@ -0,0 +1,20 @@
+---
+abstract: Fake dist for testing metadata determination
+author:
+- Randy Stauner <rwstauner@cpan.org>
+dynamic_config: 0
+generated_by: hand
+license:
+- perl_5
+meta-spec:
+ url: http://search.cpan.org/perldoc?CPAN::Meta::Spec
+ version: '2'
+name: Dist-Metadata-Test-MetaFile-Incomplete
+no_index:
+ directory:
+ - examples
+ - share
+ - xt
+provides: {}
+release_status: stable
+version: '2.2'
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/README b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/README
new file mode 100644
index 0000000..0d67857
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/README
@@ -0,0 +1 @@
+This "dist" is for testing Dist::Metadata.
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/inc/NotThis.pm b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/inc/NotThis.pm
new file mode 100644
index 0000000..1926433
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/inc/NotThis.pm
@@ -0,0 +1,11 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package NotThis;
+# ABSTRACT: Not to be indexed
+1;
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/lib/Dist/Metadata/Test/MetaFile/Incomplete.pm b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/lib/Dist/Metadata/Test/MetaFile/Incomplete.pm
new file mode 100644
index 0000000..bf4b650
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/lib/Dist/Metadata/Test/MetaFile/Incomplete.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::MetaFile::Incomplete;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = '2.1';
diff --git a/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/t/lib/Never.pm b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/t/lib/Never.pm
new file mode 100644
index 0000000..e50e495
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-MetaFile-Incomplete-2.1/t/lib/Never.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Never;
+# ABSTRACT: Never index this
+
+1;
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-0.1.tar.gz b/corpus/Dist-Metadata-Test-NoMetaFile-0.1.tar.gz
new file mode 100644
index 0000000..b90010a
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-0.1.tar.gz
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-0.1.zip b/corpus/Dist-Metadata-Test-NoMetaFile-0.1.zip
new file mode 100644
index 0000000..11049e0
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-0.1.zip
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-0.1/README b/corpus/Dist-Metadata-Test-NoMetaFile-0.1/README
new file mode 100644
index 0000000..0d67857
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-0.1/README
@@ -0,0 +1 @@
+This "dist" is for testing Dist::Metadata.
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile.pm b/corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile.pm
new file mode 100644
index 0000000..588d1a9
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::NoMetaFile;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = '0.1';
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile/PM.pm b/corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile/PM.pm
new file mode 100644
index 0000000..6275167
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile/PM.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::NoMetaFile::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = '0.1';
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.tar.gz b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.tar.gz
new file mode 100644
index 0000000..ba91360
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.tar.gz
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.zip b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.zip
new file mode 100644
index 0000000..0f3e19e
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1.zip
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/README b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/README
new file mode 100644
index 0000000..0d67857
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/README
@@ -0,0 +1 @@
+This "dist" is for testing Dist::Metadata.
diff --git a/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/lib/Dist/Metadata/Test/NoMetaFile/DevRelease.pm b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/lib/Dist/Metadata/Test/NoMetaFile/DevRelease.pm
new file mode 100644
index 0000000..6182ea4
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/lib/Dist/Metadata/Test/NoMetaFile/DevRelease.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::NoMetaFile::DevRelease;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = '0.1_1';
diff --git a/corpus/Dist-Metadata-Test-SubDir-1.5.tar.gz b/corpus/Dist-Metadata-Test-SubDir-1.5.tar.gz
new file mode 100644
index 0000000..ba56dbb
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-SubDir-1.5.tar.gz
Binary files differ
diff --git a/corpus/Dist-Metadata-Test-SubDir-1.5.zip b/corpus/Dist-Metadata-Test-SubDir-1.5.zip
new file mode 100644
index 0000000..df48916
--- /dev/null
+++ b/corpus/Dist-Metadata-Test-SubDir-1.5.zip
Binary files differ
diff --git a/corpus/make_dists b/corpus/make_dists
new file mode 100755
index 0000000..09d7c72
--- /dev/null
+++ b/corpus/make_dists
@@ -0,0 +1,94 @@
+#!/usr/bin/env perl
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+
+# This script is used for generating test data when the dist is built
+
+use strict;
+use warnings;
+use FindBin; # core
+use Archive::Any::Create;
+use File::Find; # core
+use Path::Class 0.24;
+use IO::File; # core
+use Data::Dumper (); # core
+
+my $work_dir = $FindBin::Bin;
+my $structs;
+my $dists = {
+ metafile => {
+ dir => 'Dist-Metadata-Test-MetaFile-2.2',
+ },
+ metafile_incomplete => {
+ dir => 'Dist-Metadata-Test-MetaFile-Incomplete-2.1',
+ },
+ nometafile => {
+ dir => 'Dist-Metadata-Test-NoMetaFile-0.1',
+ },
+ nometafile_dev_release => {
+ dir => 'Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1',
+ },
+ index_like_pause => {
+ dir => 'Dist-Metadata-Test-LikePause-0.1',
+ },
+ subdir => {
+ dir => 'Dist-Metadata-Test-SubDir-1.5',
+ cd => 'subdir',
+ },
+ noroot => {
+ dir => '.',
+ cd => 'noroot',
+ file => 'noroot',
+ },
+};
+
+while( my ($name, $dist) = each %$dists ){
+ my $archive = Archive::Any::Create->new;
+ my $struct = {};
+
+ my $wd = $dist->{cd}
+ ? dir( $work_dir, $dist->{cd} )
+ : $work_dir;
+ my $fd = dir( $wd, $dist->{dir} );
+
+ my @files;
+ find({
+ wanted => sub {
+ push @files, $_
+ if -f $_;
+ },
+ no_chdir => 1,
+ },
+ $fd
+ );
+
+ foreach my $file ( @files ){
+ my $rel = file($file)->relative($wd);
+ my $content = slurp($file);
+ $archive->add_file( $rel => $content );
+ # convert relative file path from Native to Unix since DM Struct defaults to Unix.
+ $struct->{ $rel->as_foreign('Unix') } = $content;
+ }
+
+ my $base = $dist->{file} || $dist->{dir};
+ $archive->write_file(file($work_dir, "$base.$_")->stringify)
+ for qw(tar.gz zip);
+ $structs->{$name} = $struct;
+}
+
+{
+ local $Data::Dumper::Indent = 1;
+ spit(
+ file($work_dir, 'structs.pl'),
+ Data::Dumper->Dump( [$structs], ['Dist::Metadata::Test::Structs'] )
+ );
+}
+
+sub slurp { local $/; IO::File->new($_[0], 'r')->getline }
+sub spit { IO::File->new($_[0], 'w')->print($_[1]) }
diff --git a/corpus/noroot.tar.gz b/corpus/noroot.tar.gz
new file mode 100644
index 0000000..e549848
--- /dev/null
+++ b/corpus/noroot.tar.gz
Binary files differ
diff --git a/corpus/noroot.zip b/corpus/noroot.zip
new file mode 100644
index 0000000..50ef6f4
--- /dev/null
+++ b/corpus/noroot.zip
Binary files differ
diff --git a/corpus/noroot/README b/corpus/noroot/README
new file mode 100644
index 0000000..0d67857
--- /dev/null
+++ b/corpus/noroot/README
@@ -0,0 +1 @@
+This "dist" is for testing Dist::Metadata.
diff --git a/corpus/noroot/lib/Dist/Metadata/Test/NoRoot.pm b/corpus/noroot/lib/Dist/Metadata/Test/NoRoot.pm
new file mode 100644
index 0000000..99ad713
--- /dev/null
+++ b/corpus/noroot/lib/Dist/Metadata/Test/NoRoot.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::NoRoot;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = '3.3';
diff --git a/corpus/noroot/lib/Dist/Metadata/Test/NoRoot/PM.pm b/corpus/noroot/lib/Dist/Metadata/Test/NoRoot/PM.pm
new file mode 100644
index 0000000..2ab16bd
--- /dev/null
+++ b/corpus/noroot/lib/Dist/Metadata/Test/NoRoot/PM.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::NoRoot::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = '3.25';
diff --git a/corpus/structs.pl b/corpus/structs.pl
new file mode 100644
index 0000000..177ab2c
--- /dev/null
+++ b/corpus/structs.pl
@@ -0,0 +1,228 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+$Dist::Metadata::Test::Structs = {
+ 'nometafile' => {
+ 'Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile.pm' => 'package Dist::Metadata::Test::NoMetaFile;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = \'0.1\';
+',
+ 'Dist-Metadata-Test-NoMetaFile-0.1/lib/Dist/Metadata/Test/NoMetaFile/PM.pm' => 'package Dist::Metadata::Test::NoMetaFile::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = \'0.1\';
+',
+ 'Dist-Metadata-Test-NoMetaFile-0.1/README' => 'This "dist" is for testing Dist::Metadata.
+'
+ },
+ 'noroot' => {
+ 'lib/Dist/Metadata/Test/NoRoot.pm' => 'package Dist::Metadata::Test::NoRoot;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = \'3.3\';
+',
+ 'README' => 'This "dist" is for testing Dist::Metadata.
+',
+ 'lib/Dist/Metadata/Test/NoRoot/PM.pm' => 'package Dist::Metadata::Test::NoRoot::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = \'3.25\';
+'
+ },
+ 'subdir' => {
+ 'Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir.pm' => 'package Dist::Metadata::Test::SubDir;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = \'1.1\';
+',
+ 'Dist-Metadata-Test-SubDir-1.5/README' => 'This "dist" is for testing Dist::Metadata.
+',
+ 'Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir/PM.pm' => 'package Dist::Metadata::Test::SubDir::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = \'1.0\';
+'
+ },
+ 'nometafile_dev_release' => {
+ 'Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/README' => 'This "dist" is for testing Dist::Metadata.
+',
+ 'Dist-Metadata-Test-NoMetaFile-DevRelease-0.1_1/lib/Dist/Metadata/Test/NoMetaFile/DevRelease.pm' => 'package Dist::Metadata::Test::NoMetaFile::DevRelease;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = \'0.1_1\';
+'
+ },
+ 'index_like_pause' => {
+ 'Dist-Metadata-Test-LikePause-0.1/README' => 'This "dist" is for testing Dist::Metadata.
+',
+ 'Dist-Metadata-Test-LikePause-0.1/lib/Dist/Metadata/Test/LikePause.pm' => 'package Dist::Metadata::Test::LikePause;
+
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = \'0.1\';
+
+# This should be excluded unless "include_inner_packages" is true
+package ExtraPackage;
+
+our $VERSION = \'0.2\';
+'
+ },
+ 'metafile_incomplete' => {
+ 'Dist-Metadata-Test-MetaFile-Incomplete-2.1/README' => 'This "dist" is for testing Dist::Metadata.
+',
+ 'Dist-Metadata-Test-MetaFile-Incomplete-2.1/lib/Dist/Metadata/Test/MetaFile/Incomplete.pm' => 'package Dist::Metadata::Test::MetaFile::Incomplete;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = \'2.1\';
+',
+ 'Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.yml' => '---
+abstract: Fake dist for testing metadata determination
+author:
+- Randy Stauner <rwstauner@cpan.org>
+dynamic_config: 0
+generated_by: hand
+license:
+- perl_5
+meta-spec:
+ url: http://search.cpan.org/perldoc?CPAN::Meta::Spec
+ version: \'2\'
+name: Dist-Metadata-Test-MetaFile-Incomplete
+no_index:
+ directory:
+ - examples
+ - share
+ - xt
+provides: {}
+release_status: stable
+version: \'2.2\'
+',
+ 'Dist-Metadata-Test-MetaFile-Incomplete-2.1/t/lib/Never.pm' => 'package Never;
+# ABSTRACT: Never index this
+
+1;
+',
+ 'Dist-Metadata-Test-MetaFile-Incomplete-2.1/META.json' => '{
+ "abstract" : "Fake dist for testing metadata determination",
+ "author" : [
+ "Randy Stauner <rwstauner@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "hand",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Dist-Metadata-Test-MetaFile-Incomplete",
+ "no_index" : {
+ "directory" : [
+ "examples",
+ "share",
+ "xt"
+ ]
+ },
+ "provides" : {},
+ "release_status" : "stable",
+ "version" : "2.1"
+}
+
+',
+ 'Dist-Metadata-Test-MetaFile-Incomplete-2.1/inc/NotThis.pm' => 'package NotThis;
+# ABSTRACT: Not to be indexed
+1;
+'
+ },
+ 'metafile' => {
+ 'Dist-Metadata-Test-MetaFile-2.2/META.yml' => '---
+abstract: Fake dist for testing metadata determination
+author:
+- Randy Stauner <rwstauner@cpan.org>
+dynamic_config: 0
+generated_by: hand
+license:
+- perl_5
+meta-spec:
+ url: http://search.cpan.org/perldoc?CPAN::Meta::Spec
+ version: \'2\'
+name: Dist-Metadata-Test-MetaFile
+no_index:
+ directory:
+ - corpus
+ - examples
+ - inc
+ - share
+ - t
+ - xt
+provides:
+ Dist::Metadata::Test::MetaFile:
+ file: lib/Dist/Metadata/Test/MetaFile.pm
+ version: \'2.05\'
+ Dist::Metadata::Test::MetaFile::PM:
+ file: lib/Dist/Metadata/Test/MetaFile/PM.pm
+ version: \'2.04\'
+release_status: stable
+version: \'2.2\'
+',
+ 'Dist-Metadata-Test-MetaFile-2.2/README' => 'This "dist" is for testing Dist::Metadata.
+',
+ 'Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile.pm' => 'package Dist::Metadata::Test::MetaFile;
+# ABSTRACT: Fake dist for testing metadata determination
+
+# does not match META file but we trust the META file
+our $VERSION = \'1.5\';
+',
+ 'Dist-Metadata-Test-MetaFile-2.2/META.json' => '{
+ "abstract" : "Fake dist for testing metadata determination",
+ "author" : [
+ "Randy Stauner <rwstauner@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "hand",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Dist-Metadata-Test-MetaFile",
+ "no_index" : {
+ "directory" : [
+ "corpus",
+ "examples",
+ "inc",
+ "share",
+ "t",
+ "xt"
+ ]
+ },
+ "provides" : {
+ "Dist::Metadata::Test::MetaFile" : {
+ "file" : "lib/Dist/Metadata/Test/MetaFile.pm",
+ "version" : "2.1"
+ },
+ "Dist::Metadata::Test::MetaFile::PM" : {
+ "file" : "lib/Dist/Metadata/Test/MetaFile/PM.pm",
+ "version" : "2.0"
+ }
+ },
+ "release_status" : "stable",
+ "version" : "2.2"
+}
+
+',
+ 'Dist-Metadata-Test-MetaFile-2.2/lib/Dist/Metadata/Test/MetaFile/PM.pm' => 'package Dist::Metadata::Test::MetaFile::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = \'1.1\';
+'
+ }
+};
diff --git a/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/README b/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/README
new file mode 100644
index 0000000..0d67857
--- /dev/null
+++ b/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/README
@@ -0,0 +1 @@
+This "dist" is for testing Dist::Metadata.
diff --git a/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir.pm b/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir.pm
new file mode 100644
index 0000000..1933083
--- /dev/null
+++ b/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::SubDir;
+# ABSTRACT: Fake dist for testing metadata determination
+
+our $VERSION = '1.1';
diff --git a/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir/PM.pm b/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir/PM.pm
new file mode 100644
index 0000000..8b8d47e
--- /dev/null
+++ b/corpus/subdir/Dist-Metadata-Test-SubDir-1.5/lib/Dist/Metadata/Test/SubDir/PM.pm
@@ -0,0 +1,12 @@
+#
+# This file is part of Dist-Metadata
+#
+# This software is copyright (c) 2011 by Randy Stauner.
+#
+# This is free software; you can redistribute it and/or modify it under
+# the same terms as the Perl 5 programming language system itself.
+#
+package Dist::Metadata::Test::SubDir::PM;
+# ABSTRACT: Just a file to be indexed
+
+our $VERSION = '1.0';