use strict;
use warnings;
use Test::More;
-use File::Temp qw(tempdir);
+require './t/common.perl';
use_ok 'PublicInbox::Admin', qw(resolve_repo_dir);
-my $tmpdir = tempdir('pi-admin.XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/v1";
my $v2_dir = "$tmpdir/v2";
my ($res, $err, $v);
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
+require './t/common.perl';
foreach my $mod (qw(DBD::SQLite Search::Xapian)) {
eval "require $mod";
plan skip_all => "$mod missing for altid.t" if $@;
use_ok 'PublicInbox::SearchIdx';
use_ok 'PublicInbox::Import';
use_ok 'PublicInbox::Inbox';
-my $tmpdir = tempdir('pi-altid-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/a.git";
my $alt_file = "$tmpdir/another-nntp.sqlite3";
my $altid = [ "serial:gmane:file=$alt_file" ];
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
require './t/common.perl';
require_git(2.6);
foreach my $mod (qw(DBD::SQLite Search::Xapian)) {
use_ok 'PublicInbox::V2Writable';
use_ok 'PublicInbox::Inbox';
-my $tmpdir = tempdir('pi-altidv2-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $inboxdir = "$tmpdir/inbox";
my $full = "$tmpdir/inbox/another-nntp.sqlite3";
my $altid = [ 'serial:gmane:file=another-nntp.sqlite3' ];
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
require './t/common.perl';
-my $tmpdir = tempdir('pi-cgi-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $home = "$tmpdir/pi-home";
my $pi_home = "$home/.public-inbox";
my $pi_config = "$pi_home/config";
use warnings;
use IO::Socket::INET;
+sub tmpdir (;$) {
+ my ($base) = @_;
+ require File::Temp;
+ unless (defined $base) {
+ ($base) = ($0 =~ m!\b([^/]+)\.[^\.]+\z!);
+ }
+ my $tmpdir = File::Temp->newdir("pi-$base-$$-XXXXXX", TMPDIR => 1);
+ ($tmpdir->dirname, $tmpdir);
+}
+
sub tcp_server () {
IO::Socket::INET->new(
LocalAddr => '127.0.0.1',
use warnings;
use Test::More;
use PublicInbox::Config;
-use File::Temp qw/tempdir/;
-my $tmpdir = tempdir('pi-config-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
{
is(system(qw(git init -q --bare), $tmpdir), 0, "git init successful");
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
use PublicInbox::MIME;
use PublicInbox::Spawn qw(which);
require './t/common.perl';
use_ok 'PublicInbox::V2Writable';
use PublicInbox::Import;
-my $tmpdir = tempdir('convert-compact-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $ibx = {
inboxdir => "$tmpdir/v1",
name => 'test-v1',
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
require './t/common.perl';
require_git(2.6);
require PublicInbox::Inbox;
plan skip_all => "missing $mod for $0" if $@;
};
-my $tmpdir = tempdir('pi-edit-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $inboxdir = "$tmpdir/v2";
my $ibx = PublicInbox::Inbox->new({
inboxdir => $inboxdir,
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
-my $tmpdir = tempdir('emergency-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
use_ok 'PublicInbox::Emergency';
{
use PublicInbox::Import;
use PublicInbox::Config;
use PublicInbox::Inbox;
-use File::Temp qw/tempdir/;
my $have_xml_feed = eval { require XML::Feed; 1 };
require './t/common.perl';
$str;
}
-my $tmpdir = tempdir('pi-feed-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/gittest";
my $ibx = PublicInbox::Inbox->new({
address => 'test@example',
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
+require './t/common.perl';
use_ok 'PublicInbox::Filter::RubyLang';
my $f = PublicInbox::Filter::RubyLang->new;
eval 'require DBD::SQLite';
skip 'DBD::SQLite missing for altid mapping', 4 if $@;
use_ok 'PublicInbox::Inbox';
- my $git_dir = tempdir('pi-filter_rubylang-XXXXXX',
- TMPDIR => 1, CLEANUP => 1);
+ my ($git_dir, $for_destroy) = tmpdir();
is(mkdir("$git_dir/public-inbox"), 1, "created public-inbox dir");
my $altid = [ "serial:ruby-core:file=msgmap.sqlite3" ];
my $ibx = PublicInbox::Inbox->new({ inboxdir => $git_dir,
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
use POSIX qw(setsid);
+require './t/common.perl';
my $git_dir = $ENV{GIANT_GIT_DIR};
plan 'skip_all' => 'GIANT_GIT_DIR not defined' unless $git_dir;
eval "require $mod";
plan skip_all => "$mod missing for git-http-backend.t" if $@;
}
-require './t/common.perl';
my $psgi = "./t/git-http-backend.psgi";
-my $tmpdir = tempdir('pi-git-http-backend-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $err = "$tmpdir/stderr.log";
my $out = "$tmpdir/stdout.log";
my $sock = tcp_server();
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
-my $dir = tempdir('pi-git-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($dir, $for_destroy) = tmpdir();
use PublicInbox::Spawn qw(popen_rd);
use_ok 'PublicInbox::Git';
}
if ('alternates reloaded') {
- my $alt = tempdir('pi-git-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+ my ($alt, $alt_obj) = tmpdir();
my @cmd = ('git', "--git-dir=$alt", qw(hash-object -w --stdin));
is(system(qw(git init -q --bare), $alt), 0, 'create alt directory');
open my $fh, '<', "$alt/config" or die "open failed: $!\n";
use PublicInbox::Git;
use PublicInbox::Import;
use PublicInbox::Inbox;
-use File::Temp qw/tempdir/;
-my $tmpdir = tempdir('pi-http-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/gittest";
my $ibx = PublicInbox::Inbox->new({
address => 'test@example',
}
use Digest::SHA qw(sha1_hex);
-use File::Temp qw/tempdir/;
use IO::Socket;
use IO::Socket::UNIX;
use Fcntl qw(:seek);
use Socket qw(IPPROTO_TCP TCP_NODELAY SOL_SOCKET);
use POSIX qw(mkfifo);
require './t/common.perl';
-my $tmpdir = tempdir('httpd-corner-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $fifo = "$tmpdir/fifo";
ok(defined mkfifo($fifo, 0777), 'created FIFO');
my $err = "$tmpdir/stderr.log";
use strict;
use warnings;
use Test::More;
-use File::Temp qw(tempdir);
use Socket qw(SOCK_STREAM IPPROTO_TCP SOL_SOCKET);
# IO::Poll is part of the standard library, but distros may split them off...
foreach my $mod (qw(IO::Socket::SSL IO::Poll)) {
use_ok 'IO::Socket::SSL';
require './t/common.perl';
my $psgi = "./t/httpd-corner.psgi";
-my $tmpdir = tempdir('pi-httpd-https-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $err = "$tmpdir/stderr.log";
my $out = "$tmpdir/stdout.log";
my $https = tcp_server();
plan skip_all => "$mod missing for httpd-unix.t" if $@;
}
-use File::Temp qw/tempdir/;
use IO::Socket::UNIX;
-my $tmpdir = tempdir('httpd-unix-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $unix = "$tmpdir/unix.sock";
my $psgi = './t/httpd-corner.psgi';
my $out = "$tmpdir/out.log";
eval "require $mod";
plan skip_all => "$mod missing for httpd.t" if $@;
}
-use File::Temp qw/tempdir/;
use Socket qw(IPPROTO_TCP SOL_SOCKET);
require './t/common.perl';
# FIXME: too much setup
-my $tmpdir = tempdir('pi-httpd-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $home = "$tmpdir/pi-home";
my $err = "$tmpdir/stderr.log";
my $out = "$tmpdir/stdout.log";
use PublicInbox::Spawn qw(spawn);
use IO::File;
use Fcntl qw(:DEFAULT);
-use File::Temp qw/tempdir tempfile/;
-my $dir = tempdir('pi-import-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+use File::Temp qw/tempfile/;
require './t/common.perl';
+my ($dir, $for_destroy) = tmpdir();
is(system(qw(git init -q --bare), $dir), 0, 'git init successful');
my $git = PublicInbox::Git->new($dir);
use PublicInbox::MIME;
use PublicInbox::Inbox;
use PublicInbox::InboxWritable;
-use File::Temp qw/tempdir/;
require PublicInbox::Admin;
require './t/common.perl';
my $PI_TEST_VERSION = $ENV{PI_TEST_VERSION} || 2;
sub import_index_incremental {
my ($v, $level) = @_;
my $this = "pi-$v-$level-indexlevels";
- my $tmpdir = tempdir("$this-tmp-XXXXXX", TMPDIR => 1, CLEANUP => 1);
+ my ($tmpdir, $for_destroy) = tmpdir();
my $ibx = PublicInbox::Inbox->new({
inboxdir => "$tmpdir/testbox",
name => $this,
use warnings;
use Test::More;
use PublicInbox::Config;
-use File::Temp qw/tempdir/;
require './t/common.perl';
-my $tmpdir = tempdir('pi-init-XXXXXX', TMPDIR => 1, CLEANUP => 1);
use File::Basename;
+my ($tmpdir, $for_destroy) = tmpdir();
sub quiet_fail {
my ($cmd, $msg) = @_;
my $err = '';
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
use Cwd qw(getcwd);
use PublicInbox::MID qw(mid2path);
use PublicInbox::Git;
require './t/common.perl';
-my $tmpdir = tempdir('pi-mda-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $home = "$tmpdir/pi-home";
my $pi_home = "$home/.public-inbox";
my $pi_config = "$pi_home/config";
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
use PublicInbox::MIME;
use PublicInbox::Config;
require './t/common.perl';
}
use_ok 'PublicInbox::V2Writable';
-my $tmpdir = tempdir('mda-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $pi_config = "$tmpdir/pi_config";
local $ENV{PI_CONFIG} = $pi_config;
local $ENV{PI_EMERGENCY} = "$tmpdir/emergency";
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
+require './t/common.perl';
foreach my $mod (qw(DBD::SQLite)) {
eval "require $mod";
}
use_ok 'PublicInbox::Msgmap';
-my $tmpdir = tempdir('pi-msgmap-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $d = PublicInbox::Msgmap->new($tmpdir, 1);
my %mid2num;
use strict;
use warnings;
use Test::More;
-use File::Temp qw(tempdir);
use Socket qw(SOCK_STREAM IPPROTO_TCP SOL_SOCKET);
# IO::Poll and Net::NNTP are part of the standard library, but
# distros may split them off...
$need_zlib = 'Compress::Raw::Zlib missing';
my $version = 2; # v2 needs newer git
require_git('2.6') if $version >= 2;
-my $tmpdir = tempdir('pi-nntpd-tls-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $err = "$tmpdir/stderr.log";
my $out = "$tmpdir/stdout.log";
my $inboxdir = "$tmpdir";
# Integration test to validate compression.
use strict;
use warnings;
-use File::Temp qw(tempdir);
use Test::More;
use Symbol qw(gensym);
use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC);
plan skip_all => "certs/ missing for $0, run $^X ./certs/create-certs.perl";
}
require './t/common.perl';
-my $keep_tmp = !!$ENV{TEST_KEEP_TMP};
-my $tmpdir = tempdir('nntpd-validate-XXXXXX',TMPDIR => 1,CLEANUP => $keep_tmp);
+my ($tmpdir, $ftd) = tmpdir();
+$File::Temp::KEEP_ALL = !!$ENV{TEST_KEEP_TMP};
my (%OPT, $td, $host_port, $group);
my $batch = 1000;
if (($ENV{NNTP_TEST_URL} // '') =~ m!\Anntp://([^/]+)/([^/]+)\z!) {
my $dig = Digest::SHA->new(1);
my $digfh = gensym;
my $tmpfh;
- if ($keep_tmp) {
+ if ($File::Temp::KEEP_ALL) {
open $tmpfh, '>', "$tmpdir/$desc.raw" or die $!;
}
my $tmp = { dig => $dig, tmpfh => $tmpfh };
use Email::Simple;
use IO::Socket;
use Socket qw(IPPROTO_TCP TCP_NODELAY);
-use File::Temp qw/tempdir/;
use Net::NNTP;
use Sys::Hostname;
require './t/common.perl';
my $version = $ENV{PI_TEST_VERSION} || 2;
require_git('2.6') if $version == 2;
-my $tmpdir = tempdir('pi-nntpd-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $home = "$tmpdir/pi-home";
my $err = "$tmpdir/stderr.log";
my $out = "$tmpdir/stdout.log";
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
+require './t/common.perl';
use_ok 'PublicInbox::Import';
use_ok 'PublicInbox::Git';
-my $tmpdir = tempdir('pi-nulsubject-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/a.git";
{
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
use Compress::Zlib qw(compress);
+require './t/common.perl';
foreach my $mod (qw(DBD::SQLite)) {
eval "require $mod";
plan skip_all => "$mod missing for over.t" if $@;
}
use_ok 'PublicInbox::OverIdx';
-my $tmpdir = tempdir('pi-over-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $over = PublicInbox::OverIdx->new("$tmpdir/over.sqlite3");
$over->connect;
my $x = $over->next_tid;
use Test::More;
use Benchmark qw(:all :hireswallclock);
use PublicInbox::Inbox;
-use File::Temp qw/tempdir/;
use Net::NNTP;
my $pi_dir = $ENV{GIANT_PI_DIR};
plan skip_all => "GIANT_PI_DIR not defined for $0" unless $pi_dir;
eval { require PublicInbox::Search };
-my ($host_port, $group, %opts, $s, $td);
+my ($host_port, $group, %opts, $s, $td, $tmp_obj);
require './t/common.perl';
if (($ENV{NNTP_TEST_URL} || '') =~ m!\Anntp://([^/]+)/([^/]+)\z!) {
$group = 'inbox.test.perf.nntpd';
my $ibx = { inboxdir => $pi_dir, newsgroup => $group };
$ibx = PublicInbox::Inbox->new($ibx);
- my $tmpdir = tempdir('perf-nntpd-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+ my $tmpdir;
+ ($tmpdir, $tmp_obj) = tmpdir();
my $pi_config = "$tmpdir/config";
{
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
+require './t/common.perl';
my $psgi = "./examples/public-inbox.psgi";
-my $tmpdir = tempdir('pi-plack-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $pi_config = "$tmpdir/config";
my $maindir = "$tmpdir/main.git";
my $addr = 'test-public@example.com';
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
-my $tmpdir = tempdir('psgi-attach-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
my $maindir = "$tmpdir/main.git";
my $addr = 'test-public@example.com';
my $cfgpfx = "publicinbox.test";
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
use PublicInbox::MIME;
use PublicInbox::Config;
use PublicInbox::WWW;
+require './t/common.perl';
my @mods = qw(DBD::SQLite HTTP::Request::Common Plack::Test
URI::Escape Plack::Builder);
foreach my $mod (@mods) {
}
use_ok($_) for @mods;
use_ok 'PublicInbox::V2Writable';
-my $inboxdir = tempdir('pi-bad-mids-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($inboxdir, $for_destroy) = tmpdir();
my $cfgpfx = "publicinbox.bad-mids";
my $ibx = {
inboxdir => $inboxdir,
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
-my $tmpdir = tempdir('psgi-path-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
my $maindir = "$tmpdir/main.git";
my $addr = 'test-public@example.com';
my $cfgpfx = "publicinbox.test";
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
use Email::MIME;
use PublicInbox::Config;
use PublicInbox::WWW;
+require './t/common.perl';
my @mods = qw(DBD::SQLite Search::Xapian HTTP::Request::Common
Plack::Test URI::Escape Plack::Builder Plack::Test);
foreach my $mod (@mods) {
}
use_ok($_) for @mods;
use_ok 'PublicInbox::V2Writable';
-my $repo = tempdir('pi-psgi-multipart-not.XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($repo, $for_destroy) = tmpdir();
my $ibx = PublicInbox::Inbox->new({
inboxdir => $repo,
name => 'multipart-not',
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
use PublicInbox::Config;
+require './t/common.perl';
my @mods = qw(HTTP::Request::Common Plack::Test URI::Escape DBD::SQLite);
foreach my $mod (@mods) {
eval "require $mod";
}
use_ok 'PublicInbox::V2Writable';
foreach my $mod (@mods) { use_ok $mod; }
-my $tmp = tempdir('pi-scan_all-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmp, $for_destroy) = tmpdir();
my $cfg = '';
foreach my $i (1..2) {
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
use Email::MIME;
use PublicInbox::Config;
use PublicInbox::Inbox;
use PublicInbox::InboxWritable;
use PublicInbox::WWW;
use bytes (); # only for bytes::length
+require './t/common.perl';
my @mods = qw(DBD::SQLite Search::Xapian HTTP::Request::Common Plack::Test
URI::Escape Plack::Builder);
foreach my $mod (@mods) {
}
use_ok $_ foreach (@mods, qw(PublicInbox::SearchIdx));
-my $tmpdir = tempdir('pi-psgi-search.XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $ibx = PublicInbox::Inbox->new({
inboxdir => $tmpdir,
use warnings;
use Test::More;
use Email::MIME;
-use File::Temp qw/tempdir/;
-my $tmpdir = tempdir('psgi-text-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
my $maindir = "$tmpdir/main.git";
my $addr = 'test-public@example.com';
my $cfgpfx = "publicinbox.test";
use Test::More;
require './t/common.perl';
require_git(2.6);
-use File::Temp qw/tempdir/;
use PublicInbox::MIME;
use PublicInbox::Config;
use PublicInbox::WWW;
}
use_ok($_) for @mods;
use_ok 'PublicInbox::V2Writable';
-my $inboxdir = tempdir('pi-v2_dupes-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($inboxdir, $for_destroy) = tmpdir();
my $ibx = {
inboxdir => $inboxdir,
name => 'test-v2writable',
use strict;
use warnings;
use Test::More;
-use File::Temp qw/tempdir/;
require './t/common.perl';
require_git(2.6);
my @mods = qw(DBI DBD::SQLite);
};
use Cwd qw(abs_path); # we need this since we chdir below
my $purge = abs_path('blib/script/public-inbox-purge');
-my $tmpdir = tempdir('pi-purge-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
use_ok 'PublicInbox::V2Writable';
my $inboxdir = "$tmpdir/v2";
my $ibx = PublicInbox::Inbox->new({
use Test::More;
use PublicInbox::MIME;
use PublicInbox::InboxWritable;
-use File::Temp qw/tempdir/;
require './t/common.perl';
require_git(2.6); # replace is v2 only, for now...
foreach my $mod (qw(DBD::SQLite)) {
my ($v, $level, $opt) = @_;
diag "v$v $level replace";
my $this = "pi-$v-$level-replace";
- my $tmpdir = tempdir("$this-tmp-XXXXXX", TMPDIR => 1, CLEANUP => 1);
+ my ($tmpdir, $for_destroy) = tmpdir($this);
my $ibx = PublicInbox::Inbox->new({
inboxdir => "$tmpdir/testbox",
name => $this,
use warnings;
use bytes (); # only for bytes::length
use Test::More;
-use File::Temp qw/tempdir/;
use PublicInbox::MID qw(mids);
use Email::MIME;
my @mods = qw(DBI DBD::SQLite Search::Xapian);
}
require PublicInbox::SearchIdx;
require PublicInbox::Inbox;
-my $tmpdir = tempdir('pi-search-thr-index.XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/a.git";
is(0, system(qw(git init -q --bare), $git_dir), "git init (main)");
};
require PublicInbox::SearchIdx;
require PublicInbox::Inbox;
-use File::Temp qw/tempdir/;
+require './t/common.perl';
use Email::MIME;
-my $tmpdir = tempdir('pi-search-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/a.git";
my $ibx = PublicInbox::Inbox->new({ inboxdir => $git_dir });
my ($root_id, $last_id);
use strict;
use warnings;
use Test::More;
-use File::Temp qw(tempdir);
use Cwd qw(abs_path);
require './t/common.perl';
require_git(2.6);
use_ok "PublicInbox::$_" for (qw(Inbox V2Writable MIME Git SolverGit));
-my $inboxdir = tempdir('pi-solver-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($inboxdir, $for_destroy) = tmpdir();
my $opts = {
inboxdir => $inboxdir,
name => 'test-v2writable',
use Test::More;
use Email::Simple;
use IO::File;
-use File::Temp qw/tempdir/;
use Fcntl qw(:DEFAULT SEEK_SET);
-my $tmpdir = tempdir('spamcheck_spamc-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+require './t/common.perl';
+my ($tmpdir, $for_destroy) = tmpdir();
use_ok 'PublicInbox::Spamcheck::Spamc';
my $spamc = PublicInbox::Spamcheck::Spamc->new;
use Test::More;
use PublicInbox::MIME;
use PublicInbox::Import;
-use File::Temp qw/tempdir/;
+require './t/common.perl';
foreach my $mod (qw(DBD::SQLite Search::Xapian)) {
eval "require $mod";
plan skip_all => "$mod missing for v1-add-remove-add.t" if $@;
}
require PublicInbox::SearchIdx;
-my $inboxdir = tempdir('pi-add-remove-add-XXXXXX', TMPDIR => 1, CLEANUP => 1);
-is(system(qw(git init -q --bare), $inboxdir), 0);
+my ($inboxdir, $for_destroy) = tmpdir();
+is(system(qw(git init --bare -q), $inboxdir), 0);
my $ibx = {
inboxdir => $inboxdir,
name => 'test-add-remove-add',
use Test::More;
use PublicInbox::MIME;
use PublicInbox::ContentId qw(content_digest);
-use File::Temp qw/tempdir/;
use File::Path qw(remove_tree);
require './t/common.perl';
require_git(2.6);
}
use_ok 'PublicInbox::SearchIdx';
use_ok 'PublicInbox::Import';
-my $inboxdir = tempdir('pi-v1reindex-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($inboxdir, $for_destroy) = tmpdir();
is(system(qw(git init -q --bare), $inboxdir), 0);
my $ibx_config = {
inboxdir => $inboxdir,
use warnings;
use Test::More;
use PublicInbox::MIME;
-use File::Temp qw/tempdir/;
require './t/common.perl';
require_git(2.6);
plan skip_all => "$mod missing for v2-add-remove-add.t" if $@;
}
use_ok 'PublicInbox::V2Writable';
-my $inboxdir = tempdir('pi-add-remove-add-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($inboxdir, $for_destroy) = tmpdir();
my $ibx = {
inboxdir => "$inboxdir/v2",
name => 'test-v2writable',
use warnings;
use Test::More;
use PublicInbox::MIME;
-use File::Temp qw/tempdir/;
use Fcntl qw(SEEK_SET);
use Cwd;
require './t/common.perl';
plan skip_all => "$mod missing for v2mda.t" if $@;
}
use_ok 'PublicInbox::V2Writable';
-my $tmpdir = tempdir('pi-v2mda-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $ibx = {
inboxdir => "$tmpdir/inbox",
name => 'test-v2writable',
eval "require $mod";
plan skip_all => "$mod missing for v2mirror.t" if $@;
}
-use File::Temp qw/tempdir/;
use IO::Socket;
use POSIX qw(dup2);
use_ok 'PublicInbox::V2Writable';
use PublicInbox::MIME;
use PublicInbox::Config;
# FIXME: too much setup
-my $tmpdir = tempdir('pi-v2mirror-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $pi_config = "$tmpdir/config";
{
open my $fh, '>', $pi_config or die "open($pi_config): $!";
use Test::More;
use PublicInbox::MIME;
use PublicInbox::ContentId qw(content_digest);
-use File::Temp qw/tempdir/;
use File::Path qw(remove_tree);
require './t/common.perl';
require_git(2.6);
plan skip_all => "$mod missing for v2reindex.t" if $@;
}
use_ok 'PublicInbox::V2Writable';
-my $inboxdir = tempdir('pi-v2reindex-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($inboxdir, $for_destroy) = tmpdir();
my $ibx_config = {
inboxdir => $inboxdir,
name => 'test-v2writable',
use Test::More;
use PublicInbox::MIME;
use PublicInbox::ContentId qw(content_digest);
-use File::Temp qw/tempdir/;
require './t/common.perl';
require_git(2.6);
foreach my $mod (qw(DBD::SQLite Search::Xapian)) {
}
use_ok 'PublicInbox::V2Writable';
umask 007;
-my $inboxdir = tempdir('pi-v2writable-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($inboxdir, $for_destroy) = tmpdir();
my $ibx = {
inboxdir => $inboxdir,
name => 'test-v2writable',
use warnings;
require './t/common.perl';
use Test::More;
-use File::Temp qw/tempdir/;
use PublicInbox::MIME;
use PublicInbox::Config;
my @mods = qw(Filesys::Notify::Simple DBD::SQLite Search::Xapian);
use_ok 'PublicInbox::WatchMaildir';
use_ok 'PublicInbox::Emergency';
-my $tmpdir = tempdir('watch-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
local $ENV{PI_CONFIG} = "$tmpdir/pi_config";
my @v = qw(V1);
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict;
use Test::More;
-use File::Temp qw/tempdir/;
use Email::MIME;
use Cwd;
use PublicInbox::Config;
+require './t/common.perl';
my @mods = qw(Filesys::Notify::Simple);
foreach my $mod (@mods) {
eval "require $mod";
plan skip_all => "$mod missing for watch_maildir.t" if $@;
}
-my $tmpdir = tempdir('watch_maildir-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $git_dir = "$tmpdir/test.git";
my $maildir = "$tmpdir/md";
my $spamdir = "$tmpdir/spam";
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict;
use Test::More;
-use File::Temp qw/tempdir/;
use PublicInbox::MIME;
use Cwd;
use PublicInbox::Config;
plan skip_all => "$mod missing for watch_maildir_v2.t" if $@;
}
require PublicInbox::V2Writable;
-my $tmpdir = tempdir('watch_maildir-v2-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $inboxdir = "$tmpdir/v2";
my $maildir = "$tmpdir/md";
my $spamdir = "$tmpdir/spam";
use warnings;
use Test::More;
use PublicInbox::Spawn qw(which);
-use File::Temp qw/tempdir/;
require './t/common.perl';
my @mods = qw(URI::Escape Plack::Builder Digest::SHA
IO::Compress::Gzip IO::Uncompress::Gunzip HTTP::Tiny);
use_ok 'PublicInbox::Git';
-my $tmpdir = tempdir('www_listing-tmp-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $bare = PublicInbox::Git->new("$tmpdir/bare.git");
is(system(qw(git init -q --bare), $bare->{git_dir}), 0, 'git init --bare');
is(PublicInbox::WwwListing::fingerprint($bare), undef,
};
require './t/common.perl';
require_git('2.6');
-use File::Temp qw/tempdir/;
use PublicInbox::MIME;
use PublicInbox::InboxWritable;
);
my ($this) = (split('/', $0))[-1];
-my $tmpdir = tempdir($this.'-XXXXXX', TMPDIR => 1, CLEANUP => 1);
+my ($tmpdir, $for_destroy) = tmpdir();
my $ibx = PublicInbox::Inbox->new({
inboxdir => "$tmpdir/testbox",
name => $this,