Change check_iproute() behavior in order to improve
its expansibility.

Signed-off-by: Xing Gu <gux.f...@cn.fujitsu.com>
---
 testcases/kernel/containers/netns/netns_crtchild.c          |  4 +++-
 testcases/kernel/containers/netns/netns_crtchild_delchild.c |  4 +++-
 testcases/kernel/containers/netns/netns_helper.h            | 13 ++++++++-----
 testcases/kernel/containers/netns/netns_par_chld_ftp.c      |  4 +++-
 testcases/kernel/containers/netns/netns_par_chld_ipv6.c     |  3 ++-
 testcases/kernel/containers/netns/netns_two_children_ns.c   |  4 +++-
 6 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/testcases/kernel/containers/netns/netns_crtchild.c 
b/testcases/kernel/containers/netns/netns_crtchild.c
index 3b5a696..8d9b68f 100644
--- a/testcases/kernel/containers/netns/netns_crtchild.c
+++ b/testcases/kernel/containers/netns/netns_crtchild.c
@@ -29,12 +29,14 @@
 #include "common.h"
 #include "netns_helper.h"
 
+#define IPROUTE_MIN_VER 80725
+
 const char *TCID = "netns_crtchild";
 
 static void setup(void)
 {
        tst_require_root(NULL);
-       check_iproute();
+       check_iproute(IPROUTE_MIN_VER);
        check_netns();
 }
 
diff --git a/testcases/kernel/containers/netns/netns_crtchild_delchild.c 
b/testcases/kernel/containers/netns/netns_crtchild_delchild.c
index 3235990..f46f2b3 100644
--- a/testcases/kernel/containers/netns/netns_crtchild_delchild.c
+++ b/testcases/kernel/containers/netns/netns_crtchild_delchild.c
@@ -33,12 +33,14 @@
 #include "common.h"
 #include "netns_helper.h"
 
+#define IPROUTE_MIN_VER 80725
+
 const char *TCID = "netns_crtchild_delchild";
 
 static void setup(void)
 {
        tst_require_root(NULL);
-       check_iproute();
+       check_iproute(IPROUTE_MIN_VER);
        check_netns();
 }
 
diff --git a/testcases/kernel/containers/netns/netns_helper.h 
b/testcases/kernel/containers/netns/netns_helper.h
index 7f301ce..3399a2f 100644
--- a/testcases/kernel/containers/netns/netns_helper.h
+++ b/testcases/kernel/containers/netns/netns_helper.h
@@ -33,9 +33,7 @@
 #define CLONE_NEWNS -1
 #endif
 
-#define IPROUTE_MIN_VER 80725
-
-static void check_iproute(void)
+static void check_iproute(int spe_ipver)
 {
        FILE *ipf;
        int n;
@@ -47,9 +45,14 @@ static void check_iproute(void)
                                "Failed while opening pipe for iproute check");
 
        n = fscanf(ipf, "ip utility, iproute2-ss%u", &ipver);
-       if (n < 1 || ipver < IPROUTE_MIN_VER)
+       if (n < 1) {
                tst_brkm(TCONF, NULL,
-                       "iproute tools do not support setting network 
namespaces");
+                       "Failed while obtaining version for iproute check");
+       }
+       if (ipver < spe_ipver) {
+               tst_brkm(TCONF, NULL, "The commands in iproute tools do "
+                       "not support required objects");
+       }
 
        pclose(ipf);
 }
diff --git a/testcases/kernel/containers/netns/netns_par_chld_ftp.c 
b/testcases/kernel/containers/netns/netns_par_chld_ftp.c
index 97411f7..d88780c 100644
--- a/testcases/kernel/containers/netns/netns_par_chld_ftp.c
+++ b/testcases/kernel/containers/netns/netns_par_chld_ftp.c
@@ -30,12 +30,14 @@
 #include "common.h"
 #include "netns_helper.h"
 
+#define IPROUTE_MIN_VER 80725
+
 const char *TCID = "netns_par_chld_ftp";
 
 static void setup(void)
 {
        tst_require_root(NULL);
-       check_iproute();
+       check_iproute(IPROUTE_MIN_VER);
        check_netns();
 }
 
diff --git a/testcases/kernel/containers/netns/netns_par_chld_ipv6.c 
b/testcases/kernel/containers/netns/netns_par_chld_ipv6.c
index 1e50f24..96d00c5 100644
--- a/testcases/kernel/containers/netns/netns_par_chld_ipv6.c
+++ b/testcases/kernel/containers/netns/netns_par_chld_ipv6.c
@@ -50,13 +50,14 @@
 char *TCID = "netns_ipv6";
 int TST_TOTAL = 1;
 
+#define IPROUTE_MIN_VER 80725
 #define PARENT_SCRIPT "netns_paripv6.sh"
 #define CHILD_SCRIPT "netns_childipv6.sh"
 
 static void setup(void)
 {
        tst_require_root(NULL);
-       check_iproute();
+       check_iproute(IPROUTE_MIN_VER);
        check_netns();
 }
 
diff --git a/testcases/kernel/containers/netns/netns_two_children_ns.c 
b/testcases/kernel/containers/netns/netns_two_children_ns.c
index 0a032d0..a8a36d2 100644
--- a/testcases/kernel/containers/netns/netns_two_children_ns.c
+++ b/testcases/kernel/containers/netns/netns_two_children_ns.c
@@ -49,13 +49,15 @@
 #include "common.h"
 #include "netns_helper.h"
 
+#define IPROUTE_MIN_VER 80725
+
 char *TCID = "netns_2children";
 int TST_TOTAL = 1;
 
 static void setup(void)
 {
        tst_require_root(NULL);
-       check_iproute();
+       check_iproute(IPROUTE_MIN_VER);
        check_netns();
 }
 
-- 
1.9.3


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to