about summary refs log tree commit homepage
path: root/lib/PublicInbox/TestCommon.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-03-21 23:07:20 +0000
committerEric Wong <e@80x24.org>2023-03-25 09:37:44 +0000
commit72dfac803728571c30e7ab8caf005229bc1f39f8 (patch)
treec0a48173585b85ae484764cfc4d911509fe805f6 /lib/PublicInbox/TestCommon.pm
parent4f7ee209e1e840d8ae3af24eab886d42edb55d91 (diff)
downloadpublic-inbox-72dfac803728571c30e7ab8caf005229bc1f39f8.tar.gz
stat(2) may fail and set `$!', too, so we must stash it, first.
Diffstat (limited to 'lib/PublicInbox/TestCommon.pm')
-rw-r--r--lib/PublicInbox/TestCommon.pm6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm
index 5807105a..ed28ac48 100644
--- a/lib/PublicInbox/TestCommon.pm
+++ b/lib/PublicInbox/TestCommon.pm
@@ -709,9 +709,9 @@ sub create_inbox ($$;@) {
         my ($db) = (PublicInbox::Import::default_branch() =~ m!([^/]+)\z!);
         my $dir = "t/data-gen/$base.$ident-$db";
         my $new = !-d $dir;
-        if ($new) {
-                mkdir $dir; # may race
-                -d $dir or BAIL_OUT "$dir could not be created: $!";
+        if ($new && !mkdir($dir)) {
+                my $err = $!;
+                -d $dir or xbail "mkdir($dir): $err";
         }
         my $lk = bless { lock_path => "$dir/creat.lock" }, 'PublicInbox::Lock';
         $opt{inboxdir} = File::Spec->rel2abs($dir);