From 99eaad164ac2d7565ba61d6ebe9f95b37aa478ca Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 10 Nov 2023 22:26:33 +0000 Subject: t/lei-import: skip strace for restricted systems Systems with Yama can restrict ptrace(2) (the underlying syscall used by strace(1)) and make it difficult to test error handling via error injection. Just skip the tests on such systems since it's probably not worth the effort to start using prctl(2) to enable the test on such systems. --- t/lei-import.t | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 't') diff --git a/t/lei-import.t b/t/lei-import.t index 6ad4c97b..1edd607d 100644 --- a/t/lei-import.t +++ b/t/lei-import.t @@ -155,19 +155,18 @@ do { like($lei_out, qr/\bbin\b/, 'commit-delay eventually commits'); SKIP: { - my $strace = strace_inject; # skips if strace is old or non-Linux + my $strace = strace_inject(1); # skips if strace is old or non-Linux my $tmpdir = tmpdir; my $tr = "$tmpdir/tr"; - my $cmd = [ $strace, "-o$tr", '-f', + my $cmd = [ $strace, '-q', "-o$tr", '-f', "-P", File::Spec->rel2abs('t/plack-qp.eml'), '-e', 'inject=readv,read:error=EIO']; lei_ok qw(daemon-pid); chomp(my $daemon_pid = $lei_out); push @$cmd, '-p', $daemon_pid; - my $strace_opt = { 1 => \my $out, 2 => \my $err }; require PublicInbox::Spawn; require PublicInbox::AutoReap; - my $pid = PublicInbox::Spawn::spawn($cmd, \%ENV, $strace_opt); + my $pid = PublicInbox::Spawn::spawn($cmd, \%ENV); my $ar = PublicInbox::AutoReap->new($pid); tick; # wait for strace to attach ok(!lei(qw(import -F eml t/plack-qp.eml)), -- cgit v1.2.3-24-ge0c7