xref: /openbsd-src/gnu/usr.bin/perl/cpan/Module-Metadata/t/lib/GeneratePackage.pm (revision ae3cb403620ab940fbaabb3055fac045a63d56b7)
1use strict;
2use warnings;
3package GeneratePackage;
4# vim:ts=8:sw=2:et:sta:sts=2
5
6use base 'Exporter';
7our @EXPORT = qw(tmpdir generate_file);
8
9use Cwd;
10use File::Spec;
11use File::Path;
12use File::Temp;
13use IO::File;
14
15sub tmpdir {
16  File::Temp::tempdir(
17    'MMD-XXXXXXXX',
18    CLEANUP => 1,
19    DIR => ($ENV{PERL_CORE} ? File::Spec->rel2abs(Cwd::cwd) : File::Spec->tmpdir),
20  );
21}
22
23sub generate_file {
24  my ($dir, $rel_filename, $content) = @_;
25
26  File::Path::mkpath($dir) or die "failed to create '$dir'";
27  my $abs_filename = File::Spec->catfile($dir, $rel_filename);
28
29  Test::More::note("working on $abs_filename");
30
31  my $fh = IO::File->new(">$abs_filename") or die "Can't write '$abs_filename'\n";
32  print $fh $content;
33  close $fh;
34
35  return $abs_filename;
36}
37
381;
39