public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH] containers/netns/: fix kernel supporting check
@ 2015-09-15 11:16 Guangwen Feng
  2015-09-17  8:29 ` Jan Stancek
  0 siblings, 1 reply; 6+ messages in thread
From: Guangwen Feng @ 2015-09-15 11:16 UTC (permalink / raw)
  To: ltp

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>
---
 testcases/kernel/containers/netns/netns_helper.sh | 8 +++++++-
 testcases/kernel/containers/netns/netns_sysfs.sh  | 9 ++++++++-
 testcases/kernel/containers/share/ns_exec.c       | 6 ++----
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/testcases/kernel/containers/netns/netns_helper.sh b/testcases/kernel/containers/netns/netns_helper.sh
index cea1541..f9d6cba 100755
--- a/testcases/kernel/containers/netns/netns_helper.sh
+++ b/testcases/kernel/containers/netns/netns_helper.sh
@@ -188,8 +188,14 @@ netns_ns_exec_setup()
 		tst_brkm TBROK "unable to create a new network namespace"
 	fi
 
-	$NS_EXEC $NS_HANDLE0 ip link add veth0 type veth peer name veth1 || \
+	$NS_EXEC $NS_HANDLE0 ip link add veth0 type veth peer name veth1
+	if [ $? -eq 32 ]; then
+		tst_brkm TCONF "setns not supported"
+	fi
+
+	if [ $? -ne 0 ]; then
 		tst_brkm TBROK "unable to create veth pair devices"
+	fi
 
 	$NS_EXEC $NS_HANDLE0 ns_ifmove veth1 $NS_HANDLE1
 	if [ $? -eq 0 ]; then
diff --git a/testcases/kernel/containers/netns/netns_sysfs.sh b/testcases/kernel/containers/netns/netns_sysfs.sh
index c10fa36..6c95a7d 100755
--- a/testcases/kernel/containers/netns/netns_sysfs.sh
+++ b/testcases/kernel/containers/netns/netns_sysfs.sh
@@ -43,8 +43,15 @@ TST_CLEANUP=cleanup
 ls /sys/class/net >sysfs_before
 
 
-ns_exec $NS_HANDLE ip link add dummy0 type dummy || \
+ns_exec $NS_HANDLE ip link add dummy0 type dummy
+if [ $? -eq 32 ]; then
+	tst_brkm TCONF "setns not supported"
+fi
+
+if [ $? -ne 0 ]; then
 	tst_brkm TBROK "failed to add a new dummy device"
+fi
+
 ns_exec $NS_HANDLE mount -t sysfs none /sys 2>/dev/null
 
 ns_exec $NS_HANDLE test -d /sys/class/net/dummy0
diff --git a/testcases/kernel/containers/share/ns_exec.c b/testcases/kernel/containers/share/ns_exec.c
index e2f068c..9148b46 100644
--- a/testcases/kernel/containers/share/ns_exec.c
+++ b/testcases/kernel/containers/share/ns_exec.c
@@ -86,10 +86,8 @@ int main(int argc, char *argv[])
 	int i, rv, pid;
 
 	rv = syscall(__NR_setns, -1, 0);
-	if (rv == -1 && errno == ENOSYS) {
-		tst_resm(TINFO, "setns is not supported in the kernel");
-		return 1;
-	}
+	if (rv == -1 && errno == ENOSYS)
+		tst_brkm(TCONF, NULL, "setns is not supported in the kernel");
 
 	if (argc < 3) {
 		tst_resm(TINFO, "%s <NS_PID> <PROGRAM> [ARGS]\n", argv[0]);
-- 
1.8.4.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH] containers/netns/: fix kernel supporting check
  2015-09-15 11:16 [LTP] [PATCH] containers/netns/: fix kernel supporting check Guangwen Feng
@ 2015-09-17  8:29 ` Jan Stancek
  2015-09-17 10:44   ` Guangwen Feng
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Stancek @ 2015-09-17  8:29 UTC (permalink / raw)
  To: ltp



----- Original Message -----
> From: "Guangwen Feng" <fenggw-fnst@cn.fujitsu.com>
> To: ltp@lists.linux.it
> Sent: Tuesday, 15 September, 2015 1:16:31 PM
> Subject: [LTP] [PATCH] 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>
> ---
>  testcases/kernel/containers/netns/netns_helper.sh | 8 +++++++-
>  testcases/kernel/containers/netns/netns_sysfs.sh  | 9 ++++++++-
>  testcases/kernel/containers/share/ns_exec.c       | 6 ++----
>  3 files changed, 17 insertions(+), 6 deletions(-)
> 
> diff --git a/testcases/kernel/containers/netns/netns_helper.sh
> b/testcases/kernel/containers/netns/netns_helper.sh
> index cea1541..f9d6cba 100755
> --- a/testcases/kernel/containers/netns/netns_helper.sh
> +++ b/testcases/kernel/containers/netns/netns_helper.sh
> @@ -188,8 +188,14 @@ netns_ns_exec_setup()
>  		tst_brkm TBROK "unable to create a new network namespace"
>  	fi
>  
> -	$NS_EXEC $NS_HANDLE0 ip link add veth0 type veth peer name veth1 || \
> +	$NS_EXEC $NS_HANDLE0 ip link add veth0 type veth peer name veth1
> +	if [ $? -eq 32 ]; then
> +		tst_brkm TCONF "setns not supported"
> +	fi
> +
> +	if [ $? -ne 0 ]; then
>  		tst_brkm TBROK "unable to create veth pair devices"
> +	fi

I'd suggest putting setns() check in a separate function, which we
then call as part of setup for these testcases.

netns_setup() already makes couple checks, can it check for setns()
availability too at the beginning of the test?

netns_sysfs.sh is not using netns_helper.sh helper, so it would need
to call that function too as part of its setup.

Regards,
Jan

>  
>  	$NS_EXEC $NS_HANDLE0 ns_ifmove veth1 $NS_HANDLE1
>  	if [ $? -eq 0 ]; then
> diff --git a/testcases/kernel/containers/netns/netns_sysfs.sh
> b/testcases/kernel/containers/netns/netns_sysfs.sh
> index c10fa36..6c95a7d 100755
> --- a/testcases/kernel/containers/netns/netns_sysfs.sh
> +++ b/testcases/kernel/containers/netns/netns_sysfs.sh
> @@ -43,8 +43,15 @@ TST_CLEANUP=cleanup
>  ls /sys/class/net >sysfs_before
>  
>  
> -ns_exec $NS_HANDLE ip link add dummy0 type dummy || \
> +ns_exec $NS_HANDLE ip link add dummy0 type dummy
> +if [ $? -eq 32 ]; then
> +	tst_brkm TCONF "setns not supported"
> +fi
> +
> +if [ $? -ne 0 ]; then
>  	tst_brkm TBROK "failed to add a new dummy device"
> +fi
> +
>  ns_exec $NS_HANDLE mount -t sysfs none /sys 2>/dev/null
>  
>  ns_exec $NS_HANDLE test -d /sys/class/net/dummy0
> diff --git a/testcases/kernel/containers/share/ns_exec.c
> b/testcases/kernel/containers/share/ns_exec.c
> index e2f068c..9148b46 100644
> --- a/testcases/kernel/containers/share/ns_exec.c
> +++ b/testcases/kernel/containers/share/ns_exec.c
> @@ -86,10 +86,8 @@ int main(int argc, char *argv[])
>  	int i, rv, pid;
>  
>  	rv = syscall(__NR_setns, -1, 0);
> -	if (rv == -1 && errno == ENOSYS) {
> -		tst_resm(TINFO, "setns is not supported in the kernel");
> -		return 1;
> -	}
> +	if (rv == -1 && errno == ENOSYS)
> +		tst_brkm(TCONF, NULL, "setns is not supported in the kernel");
>  
>  	if (argc < 3) {
>  		tst_resm(TINFO, "%s <NS_PID> <PROGRAM> [ARGS]\n", argv[0]);
> --
> 1.8.4.2
> 
> 
> --
> Mailing list info: http://lists.linux.it/listinfo/ltp
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [LTP] [PATCH] containers/netns/: fix kernel supporting check
  2015-09-17  8:29 ` Jan Stancek
@ 2015-09-17 10:44   ` Guangwen Feng
  2015-09-21  2:01     ` [LTP] [PATCH v2] " Guangwen Feng
  0 siblings, 1 reply; 6+ messages in thread
From: Guangwen Feng @ 2015-09-17 10:44 UTC (permalink / raw)
  To: ltp

Hi!
Thanks for your reply!

On 2015/09/17 16:29, Jan Stancek wrote:
> 
> 
> ----- Original Message -----
>> From: "Guangwen Feng" <fenggw-fnst@cn.fujitsu.com>
>> To: ltp@lists.linux.it
>> Sent: Tuesday, 15 September, 2015 1:16:31 PM
>> Subject: [LTP] [PATCH] 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>
>> ---
>>  testcases/kernel/containers/netns/netns_helper.sh | 8 +++++++-
>>  testcases/kernel/containers/netns/netns_sysfs.sh  | 9 ++++++++-
>>  testcases/kernel/containers/share/ns_exec.c       | 6 ++----
>>  3 files changed, 17 insertions(+), 6 deletions(-)
>>
>> diff --git a/testcases/kernel/containers/netns/netns_helper.sh
>> b/testcases/kernel/containers/netns/netns_helper.sh
>> index cea1541..f9d6cba 100755
>> --- a/testcases/kernel/containers/netns/netns_helper.sh
>> +++ b/testcases/kernel/containers/netns/netns_helper.sh
>> @@ -188,8 +188,14 @@ netns_ns_exec_setup()
>>  		tst_brkm TBROK "unable to create a new network namespace"
>>  	fi
>>  
>> -	$NS_EXEC $NS_HANDLE0 ip link add veth0 type veth peer name veth1 || \
>> +	$NS_EXEC $NS_HANDLE0 ip link add veth0 type veth peer name veth1
>> +	if [ $? -eq 32 ]; then
>> +		tst_brkm TCONF "setns not supported"
>> +	fi
>> +
>> +	if [ $? -ne 0 ]; then
>>  		tst_brkm TBROK "unable to create veth pair devices"
>> +	fi
> 
> I'd suggest putting setns() check in a separate function, which we
> then call as part of setup for these testcases.
> 
> netns_setup() already makes couple checks, can it check for setns()
> availability too at the beginning of the test?
> 
> netns_sysfs.sh is not using netns_helper.sh helper, so it would need
> to call that function too as part of its setup.
> 

OK, thanks!
I will rewrite the patch according to your suggestion.

Best Regards,
Guangwen Feng

> Regards,
> Jan
> 
>>  
>>  	$NS_EXEC $NS_HANDLE0 ns_ifmove veth1 $NS_HANDLE1
>>  	if [ $? -eq 0 ]; then
>> diff --git a/testcases/kernel/containers/netns/netns_sysfs.sh
>> b/testcases/kernel/containers/netns/netns_sysfs.sh
>> index c10fa36..6c95a7d 100755
>> --- a/testcases/kernel/containers/netns/netns_sysfs.sh
>> +++ b/testcases/kernel/containers/netns/netns_sysfs.sh
>> @@ -43,8 +43,15 @@ TST_CLEANUP=cleanup
>>  ls /sys/class/net >sysfs_before
>>  
>>  
>> -ns_exec $NS_HANDLE ip link add dummy0 type dummy || \
>> +ns_exec $NS_HANDLE ip link add dummy0 type dummy
>> +if [ $? -eq 32 ]; then
>> +	tst_brkm TCONF "setns not supported"
>> +fi
>> +
>> +if [ $? -ne 0 ]; then
>>  	tst_brkm TBROK "failed to add a new dummy device"
>> +fi
>> +
>>  ns_exec $NS_HANDLE mount -t sysfs none /sys 2>/dev/null
>>  
>>  ns_exec $NS_HANDLE test -d /sys/class/net/dummy0
>> diff --git a/testcases/kernel/containers/share/ns_exec.c
>> b/testcases/kernel/containers/share/ns_exec.c
>> index e2f068c..9148b46 100644
>> --- a/testcases/kernel/containers/share/ns_exec.c
>> +++ b/testcases/kernel/containers/share/ns_exec.c
>> @@ -86,10 +86,8 @@ int main(int argc, char *argv[])
>>  	int i, rv, pid;
>>  
>>  	rv = syscall(__NR_setns, -1, 0);
>> -	if (rv == -1 && errno == ENOSYS) {
>> -		tst_resm(TINFO, "setns is not supported in the kernel");
>> -		return 1;
>> -	}
>> +	if (rv == -1 && errno == ENOSYS)
>> +		tst_brkm(TCONF, NULL, "setns is not supported in the kernel");
>>  
>>  	if (argc < 3) {
>>  		tst_resm(TINFO, "%s <NS_PID> <PROGRAM> [ARGS]\n", argv[0]);
>> --
>> 1.8.4.2
>>
>>
>> --
>> Mailing list info: http://lists.linux.it/listinfo/ltp
>>
> .
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [LTP] [PATCH v2] containers/netns/: fix kernel supporting check
  2015-09-17 10:44   ` Guangwen Feng
@ 2015-09-21  2:01     ` Guangwen Feng
  2015-09-21 14:00       ` Jan Stancek
  0 siblings, 1 reply; 6+ messages in thread
From: Guangwen Feng @ 2015-09-21  2:01 UTC (permalink / raw)
  To: ltp

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>
---
 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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH v2] containers/netns/: fix kernel supporting check
  2015-09-21  2:01     ` [LTP] [PATCH v2] " Guangwen Feng
@ 2015-09-21 14:00       ` Jan Stancek
  2015-09-22  7:32         ` Guangwen Feng
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Stancek @ 2015-09-21 14:00 UTC (permalink / raw)
  To: ltp





----- 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.

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
> 
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [LTP] [PATCH v2] containers/netns/: fix kernel supporting check
  2015-09-21 14:00       ` Jan Stancek
@ 2015-09-22  7:32         ` Guangwen Feng
  0 siblings, 0 replies; 6+ messages in thread
From: Guangwen Feng @ 2015-09-22  7:32 UTC (permalink / raw)
  To: ltp

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
>>
>>
> .
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-09-22  7:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-15 11:16 [LTP] [PATCH] containers/netns/: fix kernel supporting check Guangwen Feng
2015-09-17  8:29 ` Jan Stancek
2015-09-17 10:44   ` Guangwen Feng
2015-09-21  2:01     ` [LTP] [PATCH v2] " Guangwen Feng
2015-09-21 14:00       ` Jan Stancek
2015-09-22  7:32         ` Guangwen Feng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox