test suite reviews and discussions
 help / color / mirror / Atom feed
From: "Chen, Zhaoyan" <zhaoyan.chen@intel.com>
To: dts@dpdk.org
Cc: "Chen, Zhaoyan" <zhaoyan.chen@intel.com>
Subject: [dts] [PATCH v1] Enhance Test App building and installation
Date: Wed,  8 Mar 2017 14:00:11 +0800	[thread overview]
Message-ID: <20170308060011.16793-1-zhaoyan.chen@intel.com> (raw)

- Refactor Test App building and installation to a new function
- Add Test App building and installation in retry step
  (which build dpdk without -j option), so that fix sometime
  retry building successfully, but test app miss

---
 framework/project_dpdk.py | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
index 3b91dd6..a0cb4c2 100644
--- a/framework/project_dpdk.py
+++ b/framework/project_dpdk.py
@@ -185,19 +185,17 @@ class DPDKdut(Dut):
         out = self.send_expect("make -j install T=%s %s" % (target, extra_options), "# ", build_time)
         #should not check test app compile status, because if test compile fail,
         #all unit test can't exec, but others case will exec sucessfull 
-        self.send_expect("make -j -C test/", "# ", build_time)
-        app_list = ['./test/test/test', './test/test-acl/testacl', './test/test-pipeline/testpipeline', './test/cmdline_test/cmdline_test']
-        for app in app_list:
-            self.send_expect('cp  %s ./%s/app' % (app, target), "# ", 30)
-          
+        self.build_install_dpdk_test_app(target, build_time)
 
         if("Error" in out or "No rule to make" in out):
             self.logger.error("ERROR - try without '-j'")
             # if Error try to execute make without -j option
             out = self.send_expect("make install T=%s %s" % (target, extra_options), "# ", 120)
+            self.build_install_dpdk_test_app(target, build_time)
 
         assert ("Error" not in out), "Compilation error..."
         assert ("No rule to make" not in out), "No rule to make error..."
+
     def build_install_dpdk_freebsd(self, target, extra_options):
         """
         Build DPDK source code on Freebsd with specified target.
@@ -214,21 +212,28 @@ class DPDKdut(Dut):
                                "#", build_time)
         #should not check test app compile status, because if test compile fail,
         #all unit test can't exec, but others case will exec sucessfull 
-        self.send_expect("make -j -C test/ CC=gcc48", "# ", build_time)
-        
-        app_list = ['./test/test/test', './test/test-acl/testacl', './test/test-pipeline/testpipeline', './test/cmdline_test/cmdline_test']
-        for app in app_list:
-            self.send_expect('cp -f %s ./%s/app' % (app, target), "# ", 30)
+        self.build_install_dpdk_test_app(target, build_time, os_type="freebsd")
 
         if("Error" in out or "No rule to make" in out):
             self.logger.error("ERROR - try without '-j'")
             # if Error try to execute make without -j option
             out = self.send_expect("make install T=%s CC=gcc48" % target,
                                    "#", build_time)
+            self.build_install_dpdk_test_app(target, build_time, os_type="freebsd")
 
         assert ("Error" not in out), "Compilation error..."
         assert ("No rule to make" not in out), "No rule to make error..."
 
+    def build_install_dpdk_test_app(self, target, build_time, os_type="linux"):
+        cmd_build_test = "make -j -C test/"
+        if os_type == "freebsd":
+            cmd_build_test = "make -j -C test/ CC=gcc48"
+
+        self.send_expect(cmd_build_test, "# ", build_time)
+        app_list = ['./test/test/test', './test/test-acl/testacl', './test/test-pipeline/testpipeline', './test/cmdline_test/cmdline_test']
+        for app in app_list:
+            self.send_expect('cp -f %s ./%s/app' % (app, target), "# ", 30)
+         
     def prepare_package(self):
         if not self.skip_setup:
             assert (os.path.isfile(self.package) is True), "Invalid package"
-- 
1.9.3

             reply	other threads:[~2017-03-08  6:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-08  6:00 Chen, Zhaoyan [this message]
2017-03-08  7:06 ` Liu, Yong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170308060011.16793-1-zhaoyan.chen@intel.com \
    --to=zhaoyan.chen@intel.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).