t/qspawn.t | 10 +++++++++-
diff --git a/t/qspawn.t b/t/qspawn.t
index 170e4d7f4e8d4e66276846d1720402df1c562a3b..745ec4d8134cf6c3662d2596fa6e9abf4bf29e04 100644
--- a/t/qspawn.t
+++ b/t/qspawn.t
@@ -1,7 +1,15 @@
-# Copyright (C) 2016-2018 all contributors
+# Copyright (C) 2016-2019 all contributors
# License: AGPL-3.0+
use Test::More;
use_ok 'PublicInbox::Qspawn';
+
+{
+ my $cmd = [qw(sh -c), 'echo >&2 err; echo out'];
+ my $qsp = PublicInbox::Qspawn->new($cmd, {}, { 2 => 1 });
+ my $res;
+ $qsp->psgi_qx({}, undef, sub { $res = ${$_[0]} });
+ is($res, "err\nout\n", 'captured stderr and stdout');
+}
my $limiter = PublicInbox::Qspawn::Limiter->new(1);
{