From: Eric Wong Date: Fri, 10 Sep 2021 09:15:36 +0000 (+0000) Subject: lei add-external --mirror: quiet unlink error on ENOENT X-Git-Tag: v1.7.0~417 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=9fefe38c7415a00fe7f73bf77096ebeacd0e1150;p=public-inbox.git lei add-external --mirror: quiet unlink error on ENOENT If the mirror.done file doesn't exist for unlink, it's because we already got another error, so don't confuse users by noting an unlink error since the ENOENT is expected in the face of other errors. --- diff --git a/lib/PublicInbox/LeiMirror.pm b/lib/PublicInbox/LeiMirror.pm index fca11ccf..638add42 100644 --- a/lib/PublicInbox/LeiMirror.pm +++ b/lib/PublicInbox/LeiMirror.pm @@ -16,7 +16,7 @@ sub do_finish_mirror { # dwaitpid callback if ($?) { $lei->child_error($?); } elsif (!unlink($f)) { - $lei->err("unlink($f): $!"); + $lei->err("unlink($f): $!") unless $!{ENOENT}; } else { $lei->add_external_finish($mrr->{dst}); $lei->qerr("# mirrored $mrr->{src} => $mrr->{dst}"); diff --git a/t/lei-mirror.t b/t/lei-mirror.t index 65b6068c..a61a7565 100644 --- a/t/lei-mirror.t +++ b/t/lei-mirror.t @@ -47,6 +47,14 @@ test_lei({ tmpdir => $tmpdir }, sub { lei_ok('add-external', "$t1-pfx", '--mirror', "$http/pfx/t1/", \'--mirror v1 w/ PSGI prefix'); + my $d = "$home/404"; + ok(!lei(qw(add-external --mirror), "$http/404", $d), 'mirror 404'); + unlike($lei_err, qr!unlink.*?404/mirror\.done!, + 'no unlink failure message'); + ok(!-d $d, "`404' dir not created"); + lei_ok('ls-external'); + unlike($lei_out, qr!\Q$d\E!s, 'not added to ls-external'); + my %phail = ( HTTPS => 'https://public-inbox.org/' . 'phail', ONION =>