* [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
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).