[LTP] [PATCH v2] containers/netns/: fix kernel supporting check
Guangwen Feng
fenggw-fnst@cn.fujitsu.com
Tue Sep 22 09:32:54 CEST 2015
Hi!
On 2015/09/21 22:00, Jan Stancek wrote:
>
>
>
>
> ----- Original Message -----
>> From: "Guangwen Feng" <fenggw-fnst@cn.fujitsu.com>
>> To: jstancek@redhat.com
>> Cc: ltp@lists.linux.it, "Guangwen Feng" <fenggw-fnst@cn.fujitsu.com>
>> Sent: Monday, 21 September, 2015 4:01:14 AM
>> Subject: [PATCH v2] containers/netns/: fix kernel supporting check
>>
>> On RHEL5.11GA, test result should be TCONF but not TFAIL since
>> setns() is not supported, so fix this.
>>
>> Signed-off-by: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
>
> I slightly modified description, added setns_check to .gitignore,
> tested on RHEL5.6 and pushed.
>
Many thanks!
Best Regards,
Guangwen Feng
> Thanks,
> Jan
>
>> ---
>> testcases/kernel/containers/netns/netns_helper.sh | 4 +++
>> testcases/kernel/containers/netns/netns_sysfs.sh | 5 ++++
>> testcases/kernel/containers/share/setns_check.c | 32
>> +++++++++++++++++++++++
>> 3 files changed, 41 insertions(+)
>> create mode 100644 testcases/kernel/containers/share/setns_check.c
>>
>> diff --git a/testcases/kernel/containers/netns/netns_helper.sh
>> b/testcases/kernel/containers/netns/netns_helper.sh
>> index cea1541..ac08125 100755
>> --- a/testcases/kernel/containers/netns/netns_helper.sh
>> +++ b/testcases/kernel/containers/netns/netns_helper.sh
>> @@ -110,6 +110,10 @@ netns_setup()
>>
>> case "$1" in
>> ns_exec)
>> + setns_check
>> + if [ $? -eq 32 ]; then
>> + tst_brkm TCONF "setns not supported"
>> + fi
>> netns_ns_exec_setup
>> TST_CLEANUP=netns_ns_exec_cleanup
>> ;;
>> diff --git a/testcases/kernel/containers/netns/netns_sysfs.sh
>> b/testcases/kernel/containers/netns/netns_sysfs.sh
>> index c10fa36..06de00f 100755
>> --- a/testcases/kernel/containers/netns/netns_sysfs.sh
>> +++ b/testcases/kernel/containers/netns/netns_sysfs.sh
>> @@ -26,6 +26,11 @@ TCID="netns_sysfs"
>> TST_TOTAL=2
>> . test.sh
>>
>> +setns_check
>> +if [ $? -eq 32 ]; then
>> + tst_brkm TCONF "setns not supported"
>> +fi
>> +
>> cleanup()
>> {
>> tst_rmdir
>> diff --git a/testcases/kernel/containers/share/setns_check.c
>> b/testcases/kernel/containers/share/setns_check.c
>> new file mode 100644
>> index 0000000..7ba891c
>> --- /dev/null
>> +++ b/testcases/kernel/containers/share/setns_check.c
>> @@ -0,0 +1,32 @@
>> +/* Copyright (c) 2015 Fujitsu Ltd.
>> + * Author: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
>> + *
>> + * This program is free software: you can redistribute it and/or modify
>> + * it under the terms of version 2 the GNU General Public License as
>> + * published by the Free Software Foundation.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
>> + *
>> + ***********************************************************************
>> + * Check for setns() availability, should be called before ns_exec.
>> + *
>> + */
>> +
>> +#include "test.h"
>> +#include "linux_syscall_numbers.h"
>> +
>> +char *TCID = "setns_check";
>> +
>> +int main(void)
>> +{
>> + if (syscall(__NR_setns, -1, 0) == -1 && errno == ENOSYS)
>> + tst_brkm(TCONF, NULL, "setns is not supported in the kernel");
>> + else
>> + return 0;
>> +}
>> --
>> 1.8.4.2
>>
>>
> .
>
More information about the Ltp
mailing list