Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/106476/?format=api
https://patches.dpdk.org/api/patches/106476/?format=api", "web_url": "https://patches.dpdk.org/project/dts/patch/20220125083836.2354-3-junx.dong@intel.com/", "project": { "id": 3, "url": "https://patches.dpdk.org/api/projects/3/?format=api", "name": "DTS", "link_name": "dts", "list_id": "dts.dpdk.org", "list_email": "dts@dpdk.org", "web_url": "", "scm_url": "git://dpdk.org/tools/dts", "webscm_url": "http://git.dpdk.org/tools/dts/", "list_archive_url": "https://inbox.dpdk.org/dts", "list_archive_url_format": "https://inbox.dpdk.org/dts/{}", "commit_url_format": "" }, "msgid": "<20220125083836.2354-3-junx.dong@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20220125083836.2354-3-junx.dong@intel.com", "date": "2022-01-25T08:38:36", "name": "[V2,2/2] doc/*: Add ASan test user guide", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "73c7eff8d4f989042d2f4799e86080e7126d24ce", "submitter": { "id": 2237, "url": "https://patches.dpdk.org/api/people/2237/?format=api", "name": "Jun Dong", "email": "junx.dong@intel.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dts/patch/20220125083836.2354-3-junx.dong@intel.com/mbox/", "series": [ { "id": 21351, "url": "https://patches.dpdk.org/api/series/21351/?format=api", "web_url": "https://patches.dpdk.org/project/dts/list/?series=21351", "date": "2022-01-25T08:38:34", "name": "Add function to support ASan test", "version": 2, "mbox": "https://patches.dpdk.org/series/21351/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/106476/comments/", "check": "fail", "checks": "https://patches.dpdk.org/api/patches/106476/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dts-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 77A13A04A9;\n\tTue, 25 Jan 2022 09:38:48 +0100 (CET)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7371041C27;\n\tTue, 25 Jan 2022 09:38:48 +0100 (CET)", "from mga12.intel.com (mga12.intel.com [192.55.52.136])\n by mails.dpdk.org (Postfix) with ESMTP id 28A874013F\n for <dts@dpdk.org>; Tue, 25 Jan 2022 09:38:46 +0100 (CET)", "from fmsmga003.fm.intel.com ([10.253.24.29])\n by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 25 Jan 2022 00:38:45 -0800", "from shwdenpg197.ccr.corp.intel.com ([10.253.109.35])\n by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 25 Jan 2022 00:38:44 -0800" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1643099926; x=1674635926;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=XdRHi2QwQnDqjdt5VUrbKt/eyFtXG8L7O26FLR+4bTI=;\n b=oCz/e2ooecPMQFVHUMiP+PKnP8CBb1k1IWEW90aTnvHXu/yH0f9dxEDt\n 4ys7SY5L2I+QDhkrM+4VHIZIY8/3w8C7ovgh8RjO23o5kw6CAYEmwgpg1\n B60bFn1DrWX3xAnnTFrbLO+3P2fw6EMBjAqKfbYgHKMnMDSuhi7JtaFAS\n tJPhFabTfWz0xC+uS2m5IQ1yWCJ3qhyfaUog2ImFP72jFl4nUlmqMAzPD\n oKeIPzsiuCpWT/aBOIzTT5dABA03PhPnTNoy2GmAXZqEmoz8pf96wi7/9\n IESQTLLvuPaBFqrX8+YBYIj4yuoHMFygBs2UkoUG2TORSi0qR7rH1TjKa Q==;", "X-IronPort-AV": [ "E=McAfee;i=\"6200,9189,10237\"; a=\"226232177\"", "E=Sophos;i=\"5.88,314,1635231600\"; d=\"scan'208\";a=\"226232177\"", "E=Sophos;i=\"5.88,314,1635231600\"; d=\"scan'208\";a=\"617542714\"" ], "From": "DongJunX <junx.dong@intel.com>", "To": "dts@dpdk.org", "Cc": "lijuan.tu@intel.com,\n\tqingx.sun@intel.com,\n\tjunx.dong@intel.com", "Subject": "[DTS][V2 2/2] doc/*: Add ASan test user guide", "Date": "Tue, 25 Jan 2022 16:38:36 +0800", "Message-Id": "<20220125083836.2354-3-junx.dong@intel.com>", "X-Mailer": "git-send-email 2.33.1.windows.1", "In-Reply-To": "<20220125083836.2354-1-junx.dong@intel.com>", "References": "<20220125083836.2354-1-junx.dong@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dts@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "test suite reviews and discussions <dts.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dts/>", "List-Post": "<mailto:dts@dpdk.org>", "List-Help": "<mailto:dts-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>", "Errors-To": "dts-bounces@dpdk.org" }, "content": "Signed-off-by: DongJunX <junx.dong@intel.com>\n---\n doc/dts_gsg/usr_guide/asan_test.rst | 67 +++++++++++++++++++++++++++++\n 1 file changed, 67 insertions(+)\n create mode 100644 doc/dts_gsg/usr_guide/asan_test.rst", "diff": "diff --git a/doc/dts_gsg/usr_guide/asan_test.rst b/doc/dts_gsg/usr_guide/asan_test.rst\nnew file mode 100644\nindex 00000000..8852ac6a\n--- /dev/null\n+++ b/doc/dts_gsg/usr_guide/asan_test.rst\n@@ -0,0 +1,67 @@\n+About ASan\n+===========\n+\n+AddressSanitizer a.k.a. ASan is a widely-used debugging tool to detect memory access errors.\n+It helps to detect issues like use-after-free, various kinds of buffer overruns in C/C++\n+programs, and other similar errors, as well as printing out detailed debug information whenever\n+an error is detected.\n+\n+ASan is integrated with gcc and clang and can be enabled via a meson option: -Db_sanitize=address,\n+See the documentation for details (especially regarding clang).\n+\n+About ASan test\n+===============\n+\n+DTS adds one parameter named asan to control ASan test, support through added asan parameter,\n+otherwise not support. It contains three steps on the whole:\n+\n+ - Append ASan build parameters to meson build options. this may open the function of ASan detect\n+ memory access errors. if occuring memory access errors, the stack info will recorded in DTS log\n+\n+ - After all cases tested finish, analyze DTS log and redefine case test result according to whether\n+ case log contain memory access error info. modify the result to failed if contain otherwise inherit\n+ the original result.\n+\n+ - Generate ASan report to distinguish it from the original report.\n+\n+The detail of ASan test way as follow.\n+\n+Check ASan test config\n+----------------------\n+\n+ASan config file is placed in conf/asan.cfg\n+\n+Firstly, check the log filter bounds pairs, customer can modify the pairs if need, and use colon split\n+bounds, use comma split pairs, there are two pairs key word default as follow:\n+\n+ - filter_bounds=LeakSanitizer:SUMMARY,AddressSanitizer:SUMMARY\n+\n+Secondly, check the meson build parameter options pair, there is a list of parameters default as follow:\n+\n+ - build_param=-Dbuildtype=debug -Db_lundef=false -Db_sanitize=address\n+\n+Launch DTS\n+----------\n+\n+ ./dts --asan\n+\n+When launch DTS, there are two parameters need attention:\n+ - provide --asan parameter, means support ASan test.\n+ - Don't provide -s parameter to skip build DPDK package. ASan test need rebuild DPDK package.\n+\n+Obtain the ASan test report\n+---------------------------\n+\n+ASan report located at DTS output directory also, and provided three format as follow:\n+ - Json format named asan_test_results.json\n+ - Excel format named asan_test_results.xls\n+ - Statistics information of txt format named asan_statistics.txt\n+\n+(optional scene) Manual generate ASan report\n+--------------------------------------------\n+\n+In some scene, we need analyze special filter bounds and generate new report after DTS execute finished.\n+\n+ - Modify ASan config file as above.\n+ - Run asan_test module in DTS root path: python3 ./framework/asan_test.py\n+ - Obtain ASan test report as above.\n\\ No newline at end of file\n", "prefixes": [ "V2", "2/2" ] }{ "id": 106476, "url": "