test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH V2 1/2] tests/shutdown_api:add asan test case
@ 2022-01-13 11:35 Zhimin Huang
  2022-01-13 11:35 ` [dts] [PATCH V2 2/2] test_plans/shutdown_api_test_plan:add case in plan Zhimin Huang
  0 siblings, 1 reply; 2+ messages in thread
From: Zhimin Huang @ 2022-01-13 11:35 UTC (permalink / raw)
  To: dts; +Cc: Zhimin Huang

add asan build test case.

v2:
- fix plan format issue

---
 tests/TestSuite_shutdown_api.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tests/TestSuite_shutdown_api.py b/tests/TestSuite_shutdown_api.py
index 9f40d232..50f40330 100644
--- a/tests/TestSuite_shutdown_api.py
+++ b/tests/TestSuite_shutdown_api.py
@@ -798,6 +798,17 @@ class TestShutdownApi(TestCase):
                 "Bad arguments" not in out and "Invalid queueid" not in out,
                 "TX descriptor status is not supported")
 
+    def test_asan_build_test(self):
+        self.dut.build_install_dpdk(target=self.target, extra_options="-Dbuildtype=debug -Db_lundef=false -Db_sanitize=address")
+        self.pmdout.start_testpmd(param="--portmask={} --port-topology=loop".format(utils.create_mask(self.ports)))
+        cmd = "ps -aux | grep testpmd | grep -v grep"
+        out = self.dut.send_expect(cmd, "#", 15, alt_session=True)
+        if "testpmd" not in out:
+            self.verify("After build dpdk with ASan, start testpmd failed")
+        self.pmdout.execute_cmd("set fwd mac")
+        self.pmdout.execute_cmd("start")
+        self.check_forwarding()
+
     def tear_down(self):
         """
         Run after each test case.
@@ -805,6 +816,8 @@ class TestShutdownApi(TestCase):
         if self._suite_result.test_case == "test_change_linkspeed_vf":
             self.destroy_vm_env()
         self.dut.kill_all()
+        if self.running_case == 'test_asan_build_test':
+            self.dut.build_install_dpdk(self.target)
         self.pmdout.start_testpmd("Default", "--portmask=%s --port-topology=loop" % utils.create_mask(self.ports),
                                   socket=self.ports_socket)
         ports_num = len(self.ports)
-- 
2.17.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [dts] [PATCH V2 2/2] test_plans/shutdown_api_test_plan:add case in plan
  2022-01-13 11:35 [dts] [PATCH V2 1/2] tests/shutdown_api:add asan test case Zhimin Huang
@ 2022-01-13 11:35 ` Zhimin Huang
  0 siblings, 0 replies; 2+ messages in thread
From: Zhimin Huang @ 2022-01-13 11:35 UTC (permalink / raw)
  To: dts; +Cc: Zhimin Huang

add asan build test case in plan.

v2:
- fix plan format issue

---
 test_plans/shutdown_api_test_plan.rst | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/test_plans/shutdown_api_test_plan.rst b/test_plans/shutdown_api_test_plan.rst
index 5a44b78d..c1a7abae 100644
--- a/test_plans/shutdown_api_test_plan.rst
+++ b/test_plans/shutdown_api_test_plan.rst
@@ -254,3 +254,17 @@ Test Case: RX/TX descriptor status
 3. Check rx descriptor status can be ``AVAILABLE``, ``DONE`` or ``UNAVAILABLE``.
 4. Run ``show port 0 txq * desc * status`` to check tx descriptor status.
 5. Check tx descriptor status can be ``FULL``, ``DONE`` or ``UNAVAILABLE``.
+
+Test Case: RX/TX test with ASan enable
+--------------------------------------
+
+1. `AddressSanitizer<https://github.com/google/sanitizers/wiki/AddressSanitizer>`
+
+(ASan) is a widely-used debugging tool to detect memory access errors.
+Add "-Dbuildtype=debug -Db_lundef=false -Db_sanitize=address" in meson build system to enable ASan tool::
+
+   CC=gcc meson -Denable_kmods=True -Dlibdir=lib -Dbuildtype=debug -Db_lundef=false -Db_sanitize=address --default-library=static x86_64-native-linuxapp-gcc
+   ninja -C x86_64-native-linuxapp-gcc -j 70
+
+2. Launch testpmd and check testpmd status
+3. Send packet and check testpmd forward packet successfully
-- 
2.17.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-13  3:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-13 11:35 [dts] [PATCH V2 1/2] tests/shutdown_api:add asan test case Zhimin Huang
2022-01-13 11:35 ` [dts] [PATCH V2 2/2] test_plans/shutdown_api_test_plan:add case in plan Zhimin Huang

test suite reviews and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dts/0 dts/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dts dts/ http://inbox.dpdk.org/dts \
		dts@dpdk.org
	public-inbox-index dts

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dts


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git