From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 2CC0FB565 for ; Sun, 15 Feb 2015 07:43:15 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 14 Feb 2015 22:43:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,580,1418112000"; d="scan'208";a="678159995" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by fmsmga002.fm.intel.com with ESMTP; 14 Feb 2015 22:43:12 -0800 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t1F6hA9f011962; Sun, 15 Feb 2015 14:43:10 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t1F6h7iC006128; Sun, 15 Feb 2015 14:43:10 +0800 Received: (from dayuqiu@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t1F6h7w5006124; Sun, 15 Feb 2015 14:43:07 +0800 From: Michael Qiu To: dts@dpdk.org Date: Sun, 15 Feb 2015 14:43:03 +0800 Message-Id: <1423982583-6086-2-git-send-email-michael.qiu@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1423982583-6086-1-git-send-email-michael.qiu@intel.com> References: <1423982583-6086-1-git-send-email-michael.qiu@intel.com> Subject: [dts] [PATCH 2/2] framework: make option -d to absolute path X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Feb 2015 06:43:15 -0000 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 --- 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