// SPDX-License-Identifier: GPL-2.0-or-later /* * Copyright (c) 2014 Fujitsu Ltd. * Author: Zeng Linggang * Copyright (c) 2018 Cyril Hrubis */ /* * DESCRIPTION * msgctl13 - test for IPC_RMID */ #include #include "tst_test.h" #include "tst_safe_sysv_ipc.h" #include "libnewipc.h" static void verify_msgctl(void) { struct msqid_ds buf; int msg_q; msg_q = SAFE_MSGGET(IPC_PRIVATE, MSG_RW); TEST(msgctl(msg_q, IPC_RMID, NULL)); if (TST_RET != 0) { tst_res(TFAIL | TTERRNO, "msgctl(IPC_RMID) failed"); return; } tst_res(TPASS, "msgctl(IPC_RMID)"); TEST(msgctl(msg_q, IPC_STAT, &buf)); if (TST_ERR == EINVAL) { tst_res(TPASS | TTERRNO, "msgctl(IPC_STAT)"); } else { tst_res(TFAIL | TTERRNO, "msgctl(IPC_STAT) returned %li", TST_RET); } } static struct tst_test test = { .test_all = verify_msgctl, .needs_tmpdir = 1 };