From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 90172A00C2; Thu, 10 Feb 2022 03:50:02 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6074A410F0; Thu, 10 Feb 2022 03:50:02 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 43D0540041 for ; Thu, 10 Feb 2022 03:50:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644461400; x=1675997400; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=JbNDK//KpfVh3z0541ugzzcVam1mmc7U/X9Pon9fjrg=; b=bN0Roc6yOGWYgO6np7koiMwOaaWTX8ggi/c1+Nd0LBs19UeIZ9Pei/p8 a9qgpFS3Xv8H+bszxFZfGYKEgIQ6pXAknpBc08kncploi3XBMVGy41lJ+ ghKmaccAWevOwRJWXhKaeZwNQDtocWjelaYIherLbNG15VgRolACNrW+p iSMQsW7pshqeeNwa6Qlvp5mN31NNT+YBcy2Rvc302bDjSueFZuTS51bvg CPz5NjPdDOGjkN+bYiGQZpxWxEbEgl7/BkKg6Lt94dAZ483Qp1851SADs QPK2G6hkzVLpQq0my1MNK87Hqc2W7wGYYEcN7CVuQlkbykXu4lkdi6QCj w==; X-IronPort-AV: E=McAfee;i="6200,9189,10253"; a="232961533" X-IronPort-AV: E=Sophos;i="5.88,357,1635231600"; d="scan'208";a="232961533" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2022 18:49:59 -0800 X-IronPort-AV: E=Sophos;i="5.88,357,1635231600"; d="scan'208";a="629529163" Received: from shwdenpg197.ccr.corp.intel.com ([10.253.109.70]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2022 18:49:57 -0800 From: Jun Dong To: dts@dpdk.org Cc: lijuan.tu@intel.com, qingx.sun@intel.com, junx.dong@intel.com Subject: [dts][V3 0/2] Add function to support ASan test Date: Thu, 10 Feb 2022 10:49:50 +0800 Message-Id: <20220210024952.2876-1-junx.dong@intel.com> X-Mailer: git-send-email 2.33.1.windows.1 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org About ASan: AddressSanitizer a.k.a. ASan is a widely-used debugging tool to detect memory access errors. It helps to detect issues like use-after-free, various kinds of buffer overruns in C/C++ programs, and other similar errors, as well as printing out detailed debug information whenever an error is detected. ASan is integrated with gcc and clang and can be enabled via a meson option: -Db_sanitize=address, See the documentation for details (especially regarding clang). About ASan test: DTS adds one parameter named asan to control ASan test, It contains three steps: - Append ASan build parameters to meson build options. this may open the function of ASan detect memory access errors. if occuring memory access errors, the stack info will recorded in DTS log - After all cases tested finish, analyze DTS log and redefine case test result according to whether case log contain memory access error info. modify the result to failed if contain otherwise inherit the original result. - Generate ASan report to distinguish it from the original report. V3: framework/*: Add function to support ASan test doc/*: Add ASan test user guide conf/asan.cfg | 6 + doc/dts_gsg/usr_guide/asan_test.rst | 59 +++++ doc/dts_gsg/usr_guide/index.rst | 1 + framework/asan_test.py | 385 ++++++++++++++++++++++++++++ framework/dts.py | 14 +- main.py | 6 +- 6 files changed, 466 insertions(+), 5 deletions(-) create mode 100644 conf/asan.cfg create mode 100644 doc/dts_gsg/usr_guide/asan_test.rst create mode 100644 framework/asan_test.py -- 2.33.1.windows.1