[LTP] [PATCH v3 2/7] Refactor mqns_01 using new LTP API
Richard Palethorpe
rpalethorpe@suse.de
Fri Sep 2 11:05:29 CEST 2022
Hello,
Andrea Cervesato <andrea.cervesato@suse.com> writes:
> Hi!
>
> On 8/11/22 11:53, Richard Palethorpe wrote:
>> Hello,
>>
>> Andrea Cervesato via ltp <ltp@lists.linux.it> writes:
>>
>>> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
>>> ---
>>> runtest/containers | 3 +-
>>> testcases/kernel/containers/mqns/common.h | 101 +++++++++++
>>> testcases/kernel/containers/mqns/mqns_01.c | 193 +++++++--------------
>>> 3 files changed, 166 insertions(+), 131 deletions(-)
>>> create mode 100644 testcases/kernel/containers/mqns/common.h
>>>
>>> diff --git a/runtest/containers b/runtest/containers
>>> index 2637b62fe..863a964ad 100644
>>> --- a/runtest/containers
>>> +++ b/runtest/containers
>>> @@ -16,7 +16,8 @@ pidns31 pidns31
>>> pidns32 pidns32
>>> mqns_01 mqns_01
>>> -mqns_01_clone mqns_01 -clone
>>> +mqns_01_clone mqns_01 -m clone
>>> +mqns_01_unshare mqns_01 -m unshare
>>> mqns_02 mqns_02
>>> mqns_02_clone mqns_02 -clone
>>> mqns_03 mqns_03
>>> diff --git a/testcases/kernel/containers/mqns/common.h b/testcases/kernel/containers/mqns/common.h
>>> new file mode 100644
>>> index 000000000..92a77b566
>>> --- /dev/null
>>> +++ b/testcases/kernel/containers/mqns/common.h
>>> @@ -0,0 +1,101 @@
>>> +// SPDX-License-Identifier: GPL-2.0-or-later
>>> +/*
>>> + * Copyright (C) 2022 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
>>> + */
>>> +
>>> +#ifndef MQNS_H
>>> +#define MQNS_H
>>> +
>>> +#include <stdlib.h>
>>> +#include "lapi/namespaces_constants.h"
>>> +#include "tst_test.h"
>>> +#include "tst_safe_posix_ipc.h"
>>> +
>>> +enum {
>>> + T_CLONE,
>>> + T_UNSHARE,
>>> + T_NONE,
>>> +};
>>> +
>>> +static int dummy_child1(void *v)
>>> +{
>>> + (void)v;
>>> + return 0;
>>> +}
>>> +
>>> +static inline void check_newipc(void)
>>> +{
>>> + int pid, status;
>>> +
>>> + pid = ltp_clone_quick(CLONE_NEWIPC | SIGCHLD, dummy_child1,
>>> NULL);
>> ltp_clone_quick is still part of the old API and only uses clone2. I
>> think it should be replaced with tst_clone. This may require extending
>> tst_clone. In fact we probably need a test variant to switch between the
>> clone2 and clone3 syscalls when using tst_clone.
>>
>> I'll leave it to you whether you want to try that and rebase this patch
>> set on it.
>>
> I see ltp_clone_quick as wrapper of ltp_clone, since it's using
> ltp_alloc_stack without calling it explicitly all the times before
> ltp_clone.
ltp_clone is also part of the old API. At some point we should remove that.
--
Thank you,
Richard.
More information about the ltp
mailing list