From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 813571F5B9 for ; Fri, 15 Nov 2019 09:51:03 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 15/29] t/purge: convert to run_script Date: Fri, 15 Nov 2019 09:50:46 +0000 Message-Id: <20191115095100.25633-16-e@80x24.org> In-Reply-To: <20191115095100.25633-1-e@80x24.org> References: <20191115095100.25633-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: This nets us another sizeable speedup. --- t/purge.t | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/t/purge.t b/t/purge.t index 67c4e58d..bcdbad52 100644 --- a/t/purge.t +++ b/t/purge.t @@ -6,12 +6,12 @@ use Test::More; use File::Temp qw/tempdir/; require './t/common.perl'; require_git(2.6); -my @mods = qw(IPC::Run DBI DBD::SQLite); +my @mods = qw(DBI DBD::SQLite); foreach my $mod (@mods) { eval "require $mod"; plan skip_all => "missing $mod for t/purge.t" if $@; }; -use Cwd qw(abs_path); +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); use_ok 'PublicInbox::V2Writable'; @@ -47,16 +47,16 @@ $v2w->done; # failing cases, first: my $in = "$raw\nMOAR\n"; my ($out, $err) = ('', ''); -ok(IPC::Run::run([$purge, '-f', $inboxdir], \$in, \$out, \$err), - 'purge -f OK'); +my $opt = { 0 => \$in, 1 => \$out, 2 => \$err }; +ok(run_script([$purge, '-f', $inboxdir], undef, $opt), 'purge -f OK'); $out = $err = ''; -ok(!IPC::Run::run([$purge, $inboxdir], \$in, \$out, \$err), - 'mismatch fails without -f'); +ok(!run_script([$purge, $inboxdir], undef, $opt), 'mismatch fails without -f'); is($? >> 8, 1, 'missed purge exits with 1'); # a successful case: -ok(IPC::Run::run([$purge, $inboxdir], \$raw, \$out, \$err), 'match OK'); +$opt->{0} = \$raw; +ok(run_script([$purge, $inboxdir], undef, $opt), 'match OK'); like($out, qr/\b[a-f0-9]{40,}/m, 'removed commit noted'); # add (old) vger filter to config file @@ -83,13 +83,13 @@ EOF $out = $err = ''; ok(chdir('/'), "chdir / OK for --all test"); -ok(IPC::Run::run([$purge, '--all'], \$pre_scrub, \$out, \$err), - 'scrub purge OK'); +$opt->{0} = \$pre_scrub; +ok(run_script([$purge, '--all'], undef, $opt), 'scrub purge OK'); like($out, qr/\b[a-f0-9]{40,}/m, 'removed commit noted'); # diag "out: $out"; diag "err: $err"; $out = $err = ''; -ok(!IPC::Run::run([$purge, '--all' ], \$pre_scrub, \$out, \$err), +ok(!run_script([$purge, '--all' ], undef, $opt), 'scrub purge not idempotent without -f'); # diag "out: $out"; diag "err: $err";