From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id B3E68108A for ; Wed, 8 Mar 2017 07:00:41 +0100 (CET) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Mar 2017 22:00:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,262,1486454400"; d="scan'208";a="65346097" Received: from npg-joey-devtop.sh.intel.com ([10.239.66.47]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2017 22:00:39 -0800 From: "Chen, Zhaoyan" To: dts@dpdk.org Cc: "Chen, Zhaoyan" Date: Wed, 8 Mar 2017 14:00:11 +0800 Message-Id: <20170308060011.16793-1-zhaoyan.chen@intel.com> X-Mailer: git-send-email 2.9.3 Subject: [dts] [PATCH v1] Enhance Test App building and installation 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: Wed, 08 Mar 2017 06:00:42 -0000 - 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