From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id BC44EA04B1; Thu, 17 Sep 2020 03:53:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9CD7A1D41F; Thu, 17 Sep 2020 03:53:03 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id ED1041D41C for ; Thu, 17 Sep 2020 03:53:01 +0200 (CEST) IronPort-SDR: Z608TDPOBK/nnW7ar303T3sY2ePTL3Z8kRKRO+8/E5ZTCb8MEfdubyfljsu/g1eZPhTjDh/nOm P1hhA1FoZwNg== X-IronPort-AV: E=McAfee;i="6000,8403,9746"; a="139115466" X-IronPort-AV: E=Sophos;i="5.76,434,1592895600"; d="scan'208";a="139115466" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Sep 2020 18:53:00 -0700 IronPort-SDR: I67vk+ki/RGEkVhOHfWxU/I1R8bG26s1Gc4u/oU5fhcN3GOv81hEHX0FmA9crdXtzEZ3h+fxs8 MIkq8k/esCLw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,434,1592895600"; d="scan'208";a="320051039" Received: from unknown (HELO localhost.localdomain) ([10.240.183.222]) by orsmga002.jf.intel.com with ESMTP; 16 Sep 2020 18:52:59 -0700 From: lingwei To: dts@dpdk.org Cc: lingwei Date: Thu, 17 Sep 2020 09:46:31 +0000 Message-Id: <20200917094631.35461-1-weix.ling@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dts] [PATCH V1] tests/TestSuite_ptpclient:support meson build and restore systime form RTC time 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: , Errors-To: dts-bounces@dpdk.org Sender: "dts" 1.use app name to support meson build. 2.restore systime form RTC time in tear_down_all. Signed-off-by: lingwei --- tests/TestSuite_ptpclient.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tests/TestSuite_ptpclient.py b/tests/TestSuite_ptpclient.py index 5a524b9..63bef4f 100644 --- a/tests/TestSuite_ptpclient.py +++ b/tests/TestSuite_ptpclient.py @@ -50,19 +50,18 @@ class TestPtpClient(TestCase): self.verify("command not found" not in out, "ptp4l not install") dutPorts = self.dut.get_ports() self.verify(len(dutPorts) > 0, "No ports found for " + self.nic) - global default - default = self.dut.send_expect("cat config/common_base |grep IEEE1588=", "# ") # Change the config file to support IEEE1588 and recompile the package. - self.dut.send_expect("sed -i -e 's/%s$/CONFIG_RTE_LIBRTE_IEEE1588=y/' config/common_base" % default, "# ", 30) + self.dut.set_build_options({'RTE_LIBRTE_IEEE1588': 'y'}) self.dut.skip_setup = False self.dut.build_install_dpdk(self.target) # build sample app out = self.dut.build_dpdk_apps("examples/ptpclient") + self.app_ptpclient_path = self.dut.apps_name['ptpclient'] self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") - + self.app_name = self.app_ptpclient_path[self.app_ptpclient_path.rfind('/')+1:] port = self.tester.get_local_port(dutPorts[0]) self.itf0 = self.tester.get_interface(port) @@ -87,9 +86,9 @@ class TestPtpClient(TestCase): self.result_table_print() def kill_ptpclient(self): - out_ps = self.dut.send_expect("ps -C ptpclient -L -opid,args", "# ") - utils.regexp(out_ps, r'(\d+) ./examples/ptpclient') - pid = re.compile(r'(\d+) ./examples/ptpclient') + out_ps = self.dut.send_expect("ps -C %s -L -opid,args" % self.app_name, "# ") + utils.regexp(out_ps, r'(\d+) ./%s' % self.app_ptpclient_path) + pid = re.compile(r'(\d+) ./%s' % self.app_ptpclient_path) pid_num = list(set(pid.findall(out_ps))) out_ps = self.dut.send_expect("kill %s" % pid_num[0], "# ") @@ -104,7 +103,8 @@ class TestPtpClient(TestCase): self.tester.send_expect("ptp4l -i %s -2 -m -S &" % self.itf0, "ptp4l") # run ptpclient on the background - self.dut.send_expect("./examples/ptpclient/build/ptpclient -c f -n 3 -- -T 0 -p 0x1 " + "&", "Delta between master and slave", 60) + self.dut.send_expect("./%s -c f -n 3 -- -T 0 -p 0x1 " % self.app_ptpclient_path + "&", + "Delta between master and slave", 60) time.sleep(3) out = self.dut.get_session_output() self.kill_ptpclient() @@ -126,6 +126,7 @@ class TestPtpClient(TestCase): #set the dut system time self.dut.send_expect("date -s '2000-01-01 00:00:00'", "# ") d_time = self.dut.send_expect("date '+%Y-%m-%d %H:%M'","# ") + print("d_time: ", d_time) self.verify(d_time == '2000-01-01 00:00', "set the time error") if self.nic in ["cavium_a063", "cavium_a064"]: @@ -134,7 +135,8 @@ class TestPtpClient(TestCase): self.tester.send_expect("ptp4l -i %s -2 -m -S &" % self.itf0, "ptp4l") # run ptpclient on the background - self.dut.send_expect("./examples/ptpclient/build/ptpclient -c f -n 3 -- -T 1 -p 0x1" + "&", "Delta between master and slave", 60) + self.dut.send_expect("./%s -c f -n 3 -- -T 1 -p 0x1" % self.app_ptpclient_path + "&", + "Delta between master and slave", 60) time.sleep(3) out = self.dut.get_session_output() @@ -158,7 +160,7 @@ class TestPtpClient(TestCase): # the output will include kill process info, at that time need get system time again. if len(dut_out) != len(tester_out): dut_out = self.dut.send_expect("date -u '+%Y-%m-%d %H:%M'", "# ") - ## In rare cases minute may change while getting time. So get time again + # In rare cases minute may change while getting time. So get time again if dut_out != tester_out: tester_out = self.tester.send_expect("date -u '+%Y-%m-%d %H:%M'", "# ") dut_out = self.dut.send_expect("date -u '+%Y-%m-%d %H:%M'", "# ") @@ -175,6 +177,9 @@ class TestPtpClient(TestCase): """ Run after each test suite. """ + # Restore the systime from RTC time. + rtc_time = self.dut.send_expect("hwclock", "# ") + self.dut.send_command('date -s "%s"' % rtc_time, "# ") # Restore the config file and recompile the package. - self.dut.send_expect("sed -i -e 's/CONFIG_RTE_LIBRTE_IEEE1588=y$/%s/' config/common_base" % default, "# ", 30) + self.dut.set_build_options({'RTE_LIBRTE_IEEE1588': 'n'}) self.dut.build_install_dpdk(self.target) -- 2.17.1