test suite reviews and discussions
 help / color / mirror / Atom feed
From: Michael Qiu <michael.qiu@intel.com>
To: dts@dpdk.org
Subject: [dts] [PATCH 2/2] framework: make option -d to absolute path
Date: Sun, 15 Feb 2015 14:43:03 +0800	[thread overview]
Message-ID: <1423982583-6086-2-git-send-email-michael.qiu@intel.com> (raw)
In-Reply-To: <1423982583-6086-1-git-send-email-michael.qiu@intel.com>

Option -d is used for dpdk directory name, which is not suitable.

Meanwhile, dts need make dpdk location in DUT more flexable.

Specify the absolute path with -d option to solve the issue.

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
---
 framework/main.py           |  2 +-
 framework/project_dpdk.py   | 25 ++++++++++++++++++++-----
 framework/ssh_connection.py |  2 +-
 3 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/framework/main.py b/framework/main.py
index 0223f57..fe456ea 100755
--- a/framework/main.py
+++ b/framework/main.py
@@ -110,7 +110,7 @@ parser.add_argument('-t', '--test-cases',
                     help='executes only the followings test cases')
 
 parser.add_argument('-d', '--dir',
-                    default='dpdk',
+                    default='dep/dpdk',
                     help='Output directory where dpdk package is extracted')
 
 parser.add_argument('-v', '--verbose',
diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
index 8448a61..1044cbe 100644
--- a/framework/project_dpdk.py
+++ b/framework/project_dpdk.py
@@ -198,10 +198,17 @@ class DPDKdut(Dut):
         if not self.skip_setup:
             assert (os.path.isfile(pkgName) is True), "Invalid package"
 
-            self.session.copy_file_to(pkgName)
+            p_dir, _ = os.path.split(self.base_dir)
+            # ToDo: make this configurable
+            patch_dir = p_dir + '/patches/'
+            self.send_expect("mkdir -p %s && mkdir -p %s && cd %s" %
+                             (p_dir, patch_dir, p_dir), "#")
+            self.session.copy_file_to(pkgName, p_dir)
+
+            # put patches to p_dir/patches/
             if (patch is not None):
                 for p in patch:
-                    self.session.copy_file_to('../' + p)
+                    self.session.copy_file_to('dep/' + p, patch_dir)
 
             self.kill_all()
 
@@ -216,13 +223,21 @@ class DPDKdut(Dut):
             self.send_expect("rm -rf %s" % self.base_dir, "#")
 
             # unpack dpdk
-            out = self.send_expect("tar zxf " + pkgName.split('/')[-1], "# ", 20)
+            out = self.send_expect("tar zxf %s -C %s" %
+                                   (pkgName.split('/')[-1], p_dir), "# ", 20)
             assert "Error" not in out
 
+            # check dpdk dir name is expect
+            out = self.send_expect("ls %s" % self.base_dir,
+                                   "# ", 20, verify = True)
+            if out == -1:
+                raise ValueError("dpdk dir %s mismatch, please check params -d"
+                                  % self.base_dir)
+
             if (patch is not None):
                 for p in patch:
-                    out = self.send_expect("patch -d %s -p1 < ../%s" %
-                                           (self.base_dir, p), "# ")
+                    out = self.send_expect("patch -d %s -p1 < %s" %
+                                           (self.base_dir, patch_dir + p), "# ")
                     assert "****" not in out
 
         self.dut_prerequisites()
diff --git a/framework/ssh_connection.py b/framework/ssh_connection.py
index f3debc1..d1075b5 100644
--- a/framework/ssh_connection.py
+++ b/framework/ssh_connection.py
@@ -51,7 +51,7 @@ class SSHConnection(object):
 
     def send_expect(self, cmds, expected, timeout=15, verify=False):
         self.logger.info(cmds)
-        out = self.session.send_expect(cmds, expected, timeout, verify=False)
+        out = self.session.send_expect(cmds, expected, timeout, verify)
         self.logger.debug(out)
         return out
 
-- 
1.9.3

  reply	other threads:[~2015-02-15  6:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-15  6:43 [dts] [PATCH 1/2] framework: Move tgen and tclclient to dep Michael Qiu
2015-02-15  6:43 ` Michael Qiu [this message]
2015-02-15  8:03   ` [dts] [PATCH 2/2] framework: make option -d to absolute path Liu, Yong
2015-02-15  7:13 ` [dts] [PATCH 1/2] framework: Move tgen and tclclient to dep Michael Qiu
2015-02-15  8:41 ` [dts] [PATCH 2/2 v2] framework: make option -d to absolute path Michael Qiu
2015-02-15  8:53   ` 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=1423982583-6086-2-git-send-email-michael.qiu@intel.com \
    --to=michael.qiu@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).