]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
test_common: create_inbox: use `$!' properly on mkdir failure
authorEric Wong <e@80x24.org>
Tue, 21 Mar 2023 23:07:20 +0000 (23:07 +0000)
committerEric Wong <e@80x24.org>
Sat, 25 Mar 2023 09:37:44 +0000 (09:37 +0000)
stat(2) may fail and set `$!', too, so we must stash it, first.

lib/PublicInbox/TestCommon.pm

index 5807105aeafe4078cf362268554f01383175595f..ed28ac4852ec23ec05661ae6194090432a1dd5b7 100644 (file)
@@ -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);