diff --git a/src/ipc.c b/src/ipc.c index dc34b7ed..0ffdfebf 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1655,7 +1655,7 @@ void ipc_send_binding_event(const char *event_type, Binding *bind) { */ void ipc_confirm_restart(ipc_client *client) { DLOG("ipc_confirm_restart(fd %d)\n", client->fd); - static const char *reply = "{\"success\":true}"; + static const char *reply = "[{\"success\":true}]"; ipc_send_client_message( client, strlen(reply), I3_IPC_REPLY_TYPE_COMMAND, (const uint8_t *)reply); diff --git a/testcases/t/305-restart-reply.t b/testcases/t/305-restart-reply.t new file mode 100644 index 00000000..0493d4ff --- /dev/null +++ b/testcases/t/305-restart-reply.t @@ -0,0 +1,25 @@ +#!perl +# vim:ts=4:sw=4:expandtab +# +# Please read the following documents before working on tests: +# • https://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • https://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • https://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) +# +# Verify that restart produces a reply. +# Ticket: #3565 +# Bug still in: 4.16-143-gca82f958 +use i3test; + +my $reply = cmd('restart'); +ok($reply->[0]->{success}, 'restart reply received'); + +done_testing;