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 207E8A04F5; Fri, 19 Jun 2020 08:20:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 100805681; Fri, 19 Jun 2020 08:20:03 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id A4BC4E07 for ; Fri, 19 Jun 2020 08:20:00 +0200 (CEST) IronPort-SDR: PQK5Q2T0LgBIDkOxIMrTmdzbzn4CK5LZJpLq3C83sJWDjqCI8WCkr5WUn+aqYRCfZjcTD0Tnvz 92lNYYmNIwzw== X-IronPort-AV: E=McAfee;i="6000,8403,9656"; a="204352352" X-IronPort-AV: E=Sophos;i="5.75,253,1589266800"; d="scan'208";a="204352352" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2020 23:19:59 -0700 IronPort-SDR: 32w9OCUK+IrimnHb2u2ij8UD/jg6kHeXtQusQuvFm+GpbYCdbOTc7b5+5L7w8Gb13gW3GZkmJr A7EB8IMEKMEA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,253,1589266800"; d="scan'208";a="262225848" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga007.fm.intel.com with ESMTP; 18 Jun 2020 23:19:59 -0700 Received: from fmsmsx151.amr.corp.intel.com (10.18.125.4) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 18 Jun 2020 23:19:59 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX151.amr.corp.intel.com (10.18.125.4) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 18 Jun 2020 23:19:58 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.85]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.208]) with mapi id 14.03.0439.000; Fri, 19 Jun 2020 14:19:56 +0800 From: "Tu, Lijuan" To: Owen Hilyard , "dts@dpdk.org" CC: "dpdklab@iol.unh.edu" Thread-Topic: [dts] [PATCH] added status checks test plan and test suite Thread-Index: AQHWRCTQZ8rJ23CJxkujtFUmDE/QoKjfewDQ Date: Fri, 19 Jun 2020 06:19:55 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BC5FD6E@SHSMSX101.ccr.corp.intel.com> References: <20200616212542.38170-1-ohilyard@iol.unh.edu> In-Reply-To: <20200616212542.38170-1-ohilyard@iol.unh.edu> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dts] [PATCH] added status checks test plan and test suite 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" QXBwbGllZCwgdGhhbmtzDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBkdHMg PGR0cy1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgT3dlbiBIaWx5YXJkDQpTZW50OiAy MDIw5bm0NuaciDE35pelIDU6MjYNClRvOiBkdHNAZHBkay5vcmcNCkNjOiBkcGRrbGFiQGlvbC51 bmguZWR1OyBvaGlseWFyZEBpb2wudW5oLmVkdQ0KU3ViamVjdDogW2R0c10gW1BBVENIXSBhZGRl ZCBzdGF0dXMgY2hlY2tzIHRlc3QgcGxhbiBhbmQgdGVzdCBzdWl0ZQ0KDQphZGQgc3RhdHVzIGNo ZWNrcyB0ZXN0IHBsYW4NCmFkZCBzdGF0dXMgY2hlY2tzIHRlc3Qgc3VpdGUNCg0KU2lnbmVkLW9m Zi1ieTogT3dlbiBIaWx5YXJkIDxvaGlseWFyZEBpb2wudW5oLmVkdT4NCi0tLQ0KIHRlc3RfcGxh bnMvc3RhdHNfY2hlY2tzX3Rlc3RfcGxhbi5yc3QgfCAxMTkgKysrKysrKysrKysrKysrKw0KIHRl c3RzL1Rlc3RTdWl0ZV9zdGF0c19jaGVja3MucHkgICAgICAgfCAxOTYgKysrKysrKysrKysrKysr KysrKysrKysrKysNCiAyIGZpbGVzIGNoYW5nZWQsIDMxNSBpbnNlcnRpb25zKCspDQogY3JlYXRl IG1vZGUgMTAwNjQ0IHRlc3RfcGxhbnMvc3RhdHNfY2hlY2tzX3Rlc3RfcGxhbi5yc3QNCiBjcmVh dGUgbW9kZSAxMDA2NDQgdGVzdHMvVGVzdFN1aXRlX3N0YXRzX2NoZWNrcy5weQ0KDQpkaWZmIC0t Z2l0IGEvdGVzdF9wbGFucy9zdGF0c19jaGVja3NfdGVzdF9wbGFuLnJzdCBiL3Rlc3RfcGxhbnMv c3RhdHNfY2hlY2tzX3Rlc3RfcGxhbi5yc3QNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwLi5lYzU4ODA0DQotLS0gL2Rldi9udWxsDQorKysgYi90ZXN0X3BsYW5zL3N0YXRzX2No ZWNrc190ZXN0X3BsYW4ucnN0DQpAQCAtMCwwICsxLDExOSBAQA0KKy4uICMgQlNEIExJQ0VOU0UN CisgICAgIw0KKyAgICAjIENvcHlyaWdodChjKSAyMDEwLTIwMTQgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICAgICMgQ29weXJpZ2h0IMKpIDIwMThbLCAyMDE5XSBU aGUgVW5pdmVyc2l0eSBvZiBOZXcgSGFtcHNoaXJlLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAg ICAjIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICAgICMNCisgICAgIyBSZWRpc3RyaWJ1dGlvbiBh bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCisgICAg IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnMNCisgICAgIyBhcmUgbWV0Og0KKyAgICAjDQorICAgICMgICAqIFJlZGlzdHJp YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQor ICAgICMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp bmcgZGlzY2xhaW1lci4NCisgICAgIyAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCisgICAgIyAgICAgbm90aWNlLCB0 aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluDQor ICAgICMgICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk ZWQgd2l0aCB0aGUNCisgICAgIyAgICAgZGlzdHJpYnV0aW9uLg0KKyAgICAjICAgKiBOZWl0aGVy IHRoZSBuYW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzDQorICAg ICMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv ZHVjdHMgZGVyaXZlZA0KKyAgICAjICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQorICAgICMNCisgICAgIyBUSElTIFNPRlRX QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT DQorICAgICMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ TkNMVURJTkcsIEJVVCBOT1QNCisgICAgIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1INCisgICAgIyBBIFBBUlRJQ1VM QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI VA0KKyAgICAjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs IElORElSRUNULCBJTkNJREVOVEFMLA0KKyAgICAjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCisgICAgIyBMSU1JVEVEIFRP LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT RSwNCisgICAgIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkNCisgICAgIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUDQorICAgICMgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU SEUgVVNFDQorICAgICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCisNCis9PT09PT09PT09PT09PT09PQ0KK1N0YXRz IENoZWNrIHRlc3RzDQorPT09PT09PT09PT09PT09PT0NCisNCitUaGUgc3VwcG9ydCBvZiBzdGF0 cyBjaGVja3MgYnkgUG9sbCBNb2RlIERyaXZlcnMgY29uc2lzdHMgb2YgdGhlIA0KK2FiaWxpdHkg b2YgdGhlIGRyaXZlciB0byBwcm9wZXJseSByZXBvcnQgc3RhdGlzdGljcyB1cG9uIHJlcXVlc3Qu IFN1Y2ggDQorc3RhdGlzdGljcyBzaG91bGQgaW5jbHVkZSBudW1iZXIgb2YgcGFja2V0cyBhbmQg Ynl0ZXMgc2VudCBhbmQgDQorcmVjaWV2ZWQsIGFzIHdlbGwgYXMgdGhlIG51bWJlciBvZiBkcm9w cGVkIHBhY2tldHMgYW5kIHRyYW5zbWlzc2lvbiBlcnJvcnMuDQorDQorLi4gbm90ZTo6DQorDQor ICAgTWF4aW11bSBQYWNrZXQgTGVuZ3RoID0gTVRVKE1heGltdW0gVHJhbnNtaXNzaW9uIFVuaXQp ICsgMTQoc3JjIG1hYyArIGRzdCBtYWMpICsgNChDUkMpDQorICAgZS5nLiwgMTUxOCA9IDE1MDAg KyAxNCArIDQNCisNCitQcmVyZXF1aXNpdGVzDQorPT09PT09PT09PT09PQ0KKw0KK0lmIHVzaW5n IHZmaW8gdGhlIGtlcm5lbCBtdXN0IGJlID49IDMuNisgYW5kIFZULWQgbXVzdCBiZSBlbmFibGVk IGluIA0KK2Jpb3MuV2hlbiB1c2luZyB2ZmlvLCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kcyB0 byBsb2FkIHRoZSB2ZmlvIA0KK2RyaXZlciBhbmQgYmluZCBpdCB0byB0aGUgZGV2aWNlIHVuZGVy IHRlc3Q6Og0KKw0KKyAgIG1vZHByb2JlIHZmaW8NCisgICBtb2Rwcm9iZSB2ZmlvLXBjaQ0KKyAg IHVzZXJ0b29scy9kcGRrLWRldmJpbmQucHkgLS1iaW5kPXZmaW8tcGNpIGRldmljZV9idXNfaWQN CisNCitBc3N1bWluZyB0aGF0IHBvcnRzIGBgMGBgIGFuZCBgYDFgYCBvZiB0aGUgdGVzdCB0YXJn ZXQgYXJlIGRpcmVjdGx5IA0KK2Nvbm5lY3RlZCB0byB0aGUgdHJhZmZpYyBnZW5lcmF0b3IsIGxh dW5jaCB0aGUgYGB0ZXN0cG1kYGAgYXBwbGljYXRpb24gDQord2l0aCB0aGUgZm9sbG93aW5nDQor YXJndW1lbnRzOjoNCisNCisgIC4vYnVpbGQvYXBwL3Rlc3RwbWQgLWMgZmZmZmZmIC1uIDYgLS0g LWkgLS1wb3J0bWFzaz0weDMgDQorIC0tbWF4LXBrdC1sZW49OTYwMCBcDQorICAtLXR4LW9mZmxv YWRzPTB4MDAwMDgwMDANCisNCitUaGUgLW4gY29tbWFuZCBpcyB1c2VkIHRvIHNlbGVjdCB0aGUg bnVtYmVyIG9mIG1lbW9yeSBjaGFubmVscy4gSXQgc2hvdWxkIG1hdGNoIHRoZSBudW1iZXIgb2Yg bWVtb3J5IGNoYW5uZWxzIG9uIHRoYXQgc2V0dXAuDQorDQorU2V0dGluZyB0eC1vZmZsb2FkIHRv IDB4ODAwMCBhbmQgdGhlIG1heGltdW0gcGFja2V0IGxlbmd0aCB0byA5NjAwIChDUkMgDQoraW5j bHVkZWQpIG1ha2VzIGlucHV0IEp1bWJvIEZyYW1lcyB0byBiZSBzdG9yZWQgaW4gbXVsdGlwbGUg YnVmZmVycyBieSANCit0aGUgaGFyZHdhcmUgUlggZW5naW5lLg0KKw0KK1N0YXJ0IHBhY2tldCBm b3J3YXJkaW5nIGluIHRoZSBgYHRlc3RwbWRgYCBhcHBsaWNhdGlvbiB3aXRoIHRoZSANCitgYHN0 YXJ0YGAgY29tbWFuZC4gVGhlbiwgZm9yIGVhY2ggcG9ydCBvbiB0aGUgdGFyZ2V0IG1ha2UgdGhl IFRyYWZmaWMgDQorR2VuZXJhdG9yIHRyYW5zbWl0IGEgcGFja2V0IHRvIHRoZSBwb3J0IG9mIGFy Yml0cmFyeSBzaXplIGxlc3MgdGhhbiB0aGUgDQorTVRVIG9mIHRoZSB0YXJnZXQgcG9ydCwgY2hl Y2tpbmcgdGhhdCB0aGUgc2FtZSBhbW91bnQgb2YgZnJhbWVzIGFuZCANCitieXRlcyBhcmUgcmVj ZWl2ZWQgYmFjayBieSB0aGUgVHJhZmZpYyBHZW5lcmF0b3IgZnJvbSB0aGUgcG9ydC4NCisNCitG dW5jdGlvbmFsIFRlc3RzIG9mIFN0YXR1cyBDaGVja3MNCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KKw0KK1Rlc3RpbmcgdGhlIHN1cHBvcnQgb2YgU3RhdHVzIENoZWNrcyBpbiBQ b2xsIE1vZGUgRHJpdmVycyBjb25zaXN0cyBvZiANCitjb25maWd1cmluZyB0aGUgZ2F0aGVyaW5n IHRoZSBpbml0aWFsIHN0YXR1cyBvZiBhIHBvcnQsIHNlbmRpbmcgYSANCitwYWNrZXQgdG8gdGhh dCBwb3J0LCBhbmQgY2hlY2tpbmcgdGhlIHN0YXR1cyBvZiB0aGUgcG9ydC4gVGhlIGluaXRpYWwg DQorc3RhdHVzIGFuZCB0aGUgbmV3IHN0YXR1cyBhcmUgdGhlbiBjb21wYXJlZCBmb3IgZXhwZWN0 ZWQgZGlmZmVyZW5jZXMuDQorVGhlIGZpZWxkcyBjaGVja2VkIGFyZSBSWC1wYWNrZXRzLCBSWC1i eXRlcywgUlgtZXJyb3JzLCBUWC1wYWNrZXRzLCANCitUWC1lcnJvcnMsIGFuZCBUWC1ieXRlcy4N CisNCitUZXN0IENhc2U6IFN0YXR1cyBDaGVja3MNCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorQ2hlY2sgdGhlIGluaXRpYWwgc3RhdGUg b2YgdGhlIHBvcnRzIChTaW5nbGUgZXhhbXBsZSBwb3J0IHNob3duKTo6DQorDQorICB0ZXN0cG1k PiBzaG93IHBvcnQgc3RhdHMgYWxsDQorICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBOSUMg c3RhdGlzdGljcyBmb3IgcG9ydCAwICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisgICAgUlgt cGFja2V0czogMCAgICAgICAgUlgtbWlzc2VkOiAwICAgICAgICAgUlgtYnl0ZXM6ICAwDQorICAg IFJYLWVycm9yczogMA0KKyAgICBSWC1ub21idWY6ICAwDQorICAgIFRYLXBhY2tldHM6IDAgICAg ICAgICAgVFgtZXJyb3JzOiAwICAgICAgICAgIFRYLWJ5dGVzOiAgMA0KKw0KKyAgICBUaHJvdWdo cHV0IChzaW5jZSBsYXN0IHNob3cpDQorICAgIFJ4LXBwczogICAgICAgICAgICAwDQorICAgIFR4 LXBwczogICAgICAgICAgICAwDQorICAgIA0KKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorICMjIyMjIw0KKw0K K1NlbmQgYSBwYWNrZXQgd2l0aCBzaXplIDUwIGJ5dGVzIChTaW5nbGUgZXhhbXBsZSBwb3J0IHNo b3cpIDo6DQorDQorICB0ZXN0cG1kPiBzaG93IHBvcnQgc3RhdHMgYWxsDQorICAgICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyBOSUMgc3RhdGlzdGljcyBmb3IgcG9ydCAwICAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMNCisgICAgUlgtcGFja2V0czogMSAgICAgICAgUlgtbWlzc2VkOiAwICAgICAg ICAgUlgtYnl0ZXM6ICA1MA0KKyAgICBSWC1lcnJvcnM6IDANCisgICAgUlgtbm9tYnVmOiAgMA0K KyAgICBUWC1wYWNrZXRzOiAwICAgICAgICAgIFRYLWVycm9yczogMCAgICAgICAgICBUWC1ieXRl czogIDANCisNCisgICAgVGhyb3VnaHB1dCAoc2luY2UgbGFzdCBzaG93KQ0KKyAgICBSeC1wcHM6 ICAgICAgICAgICAgMA0KKyAgICBUeC1wcHM6ICAgICAgICAgICAgMA0KKyAgICANCisgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIw0KKyAjIyMjIyMNCisNCisNCitWZXJpZnkgdGhhdCB0aGUgaW5jcmVhc2UgaW4gUlgt Ynl0ZXMgYW5kIFJYLXBhY2tldHMgaXMgYXMtZXhwZWN0ZWQsIGFuZCBubyBvdGhlciBpbmZvcm1h dGlvbiBjaGFuZ2VkLg0KZGlmZiAtLWdpdCBhL3Rlc3RzL1Rlc3RTdWl0ZV9zdGF0c19jaGVja3Mu cHkgYi90ZXN0cy9UZXN0U3VpdGVfc3RhdHNfY2hlY2tzLnB5IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 IGluZGV4IDAwMDAwMDAuLmUxYzQ0M2INCi0tLSAvZGV2L251bGwNCisrKyBiL3Rlc3RzL1Rlc3RT dWl0ZV9zdGF0c19jaGVja3MucHkNCkBAIC0wLDAgKzEsMTk2IEBADQorIyBCU0QgTElDRU5TRQ0K KyMNCisjIENvcHlyaWdodChjKSAyMDEwLTIwMTQgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuDQorIyBDb3B5cmlnaHQgwqkgMjAxOFssIDIwMTldIFRoZSBVbml2ZXJzaXR5 IG9mIE5ldyBIYW1wc2hpcmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorIyBBbGwgcmlnaHRzIHJl c2VydmVkLg0KKyMNCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCAjIA0KK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyAjIA0KK2FyZSBtZXQ6DQor Iw0KKyMgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg YWJvdmUgY29weXJpZ2h0DQorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KKyMgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorIyAgICAgbm90 aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy IGluDQorIyAgICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92 aWRlZCB3aXRoIHRoZQ0KKyMgICAgIGRpc3RyaWJ1dGlvbi4NCisjICAgKiBOZWl0aGVyIHRoZSBu YW1lIG9mIEludGVsIENvcnBvcmF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzDQorIyAgICAgY29u dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp dmVkDQorIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp dHRlbiBwZXJtaXNzaW9uLg0KKyMNCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIyANCisiQVMgSVMiIEFORCBBTlkg RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCAjIA0KK0xJ TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG SVRORVNTIEZPUiAjIA0KK0EgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUICMgDQorT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsICMgDQorU1BFQ0lB TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P VCAjIA0KK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS VklDRVM7IExPU1MgT0YgVVNFLCAjIA0KK0RBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSAjIA0KK1RIRU9SWSBPRiBMSUFC SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgIyAN CisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg T1VUIE9GIFRIRSBVU0UgIyANCitPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KKw0KKyIiIg0KK0RQREsgVGVzdCBzdWl0 ZS4NCitTdGF0cyBDaGVja3MgZXhhbXBsZS4NCisiIiINCitmcm9tIHRpbWUgaW1wb3J0IHNsZWVw DQorZnJvbSB0eXBpbmcgaW1wb3J0IExpc3QsIEl0ZXJhdG9yLCBUdXBsZQ0KKw0KK2ltcG9ydCB1 dGlscw0KK2Zyb20gcG1kX291dHB1dCBpbXBvcnQgUG1kT3V0cHV0DQorDQorZnJvbSBwb3J0IGlt cG9ydCBQb3J0DQorDQorZnJvbSB0ZXN0X2Nhc2UgaW1wb3J0IFRlc3RDYXNlDQorDQorRVRIRVJf SEVBREVSX0xFTiA9IDE4DQorSVBfSEVBREVSX0xFTiA9IDIwDQorRVRIRVJfU1RBTkRBUkRfTVRV ID0gMTUxOA0KKw0KKw0KK2NsYXNzIFRlc3RTdGF0c0NoZWNrcyhUZXN0Q2FzZSk6DQorICAgICMN CisgICAgIw0KKyAgICAjIEhlbHBlciBtZXRob2RzIGFuZCBzZXR1cCBtZXRob2RzLg0KKyAgICAj DQorICAgICMgU29tZSBvZiB0aGVzZSBtZXRob2RzIG1heSBub3QgYmUgdXNlZCBiZWNhdXNlIHRo ZXkgd2VyZSBpbmxpbmVkIGZyb20gYSBjaGlsZA0KKyAgICAjIG9mIFRlc3RDYXNlLiBUaGlzIHdh cyBkb25lIGJlY2F1c2UgdGhlIGN1cnJlbnQgdGVzdCBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0DQor ICAgICMgaW5oZXJpdGFuY2UuDQorICAgICMNCisgICAgZGVmIHRlYXJfZG93bihzZWxmKToNCisg ICAgICAgICIiIg0KKyAgICAgICAgUnVuIGFmdGVyIGVhY2ggdGVzdCBjYXNlLg0KKyAgICAgICAg IiIiDQorICAgICAgICBzZWxmLmR1dC5raWxsX2FsbCgpDQorDQorICAgIGRlZiB0ZWFyX2Rvd25f YWxsKHNlbGYpOg0KKyAgICAgICAgIiIiDQorICAgICAgICBXaGVuIHRoZSBjYXNlIG9mIHRoaXMg dGVzdCBzdWl0ZSBmaW5pc2hlZCwgdGhlIGVudmlyb25tZW50IHNob3VsZA0KKyAgICAgICAgY2xl YXIgdXAuDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYudGVzdGVyLnNlbmRfZXhwZWN0KGYi aWZjb25maWcge3NlbGYudGVzdGVyLmdldF9pbnRlcmZhY2Uoc2VsZi50ZXN0ZXIuZ2V0X2xvY2Fs X3BvcnQoc2VsZi5yeF9wb3J0KSl9ICIgKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZiJtdHUge0VUSEVSX1NUQU5EQVJEX01UVX0iLCAiIyAiKQ0KKyAgICAgICAgc3VwZXIoKS50 ZWFyX2Rvd25fYWxsKCkNCisNCisgICAgZGVmIGV4ZWMoc2VsZiwgY29tbWFuZDogc3RyKSAtPiBz dHI6DQorICAgICAgICAiIiINCisgICAgICAgIEFuIGFic3RyYWN0aW9uIHRvIHJlbW92ZSByZXBl YXRlZCBjb2RlIHRocm91Z2hvdXQgdGhlIHN1YmNsYXNzZXMgb2YgdGhpcyBjbGFzcw0KKyAgICAg ICAgIiIiDQorICAgICAgICByZXR1cm4gc2VsZi5kdXQuc2VuZF9leHBlY3QoY29tbWFuZCwgInRl c3RwbWQ+IikNCisNCisgICAgZGVmIGdldF9tYWNfYWRkcmVzc19mb3JfcG9ydChzZWxmLCBwb3J0 X2lkOiBpbnQpIC0+IHN0cjoNCisgICAgICAgIHJldHVybiBzZWxmLmR1dC5nZXRfbWFjX2FkZHJl c3MocG9ydF9pZCkNCisNCisgICAgZGVmIHNlbmRfc2NhcHlfcGFja2V0KHNlbGYsIHBvcnRfaWQ6 IGludCwgcGFja2V0OiBzdHIpOg0KKyAgICAgICAgaXRmID0gc2VsZi50ZXN0ZXIuZ2V0X2ludGVy ZmFjZShwb3J0X2lkKQ0KKw0KKyAgICAgICAgc2VsZi50ZXN0ZXIuc2NhcHlfZm9yZWdyb3VuZCgp DQorICAgICAgICBtYWMgPSBzZWxmLmR1dC5nZXRfbWFjX2FkZHJlc3MocG9ydF9pZCkNCisgICAg ICAgIHNlbGYudGVzdGVyLnNjYXB5X2FwcGVuZChmJ2R1dG1hYz0ie21hY30iJykNCisgICAgICAg IHNlbGYudGVzdGVyLnNjYXB5X2FwcGVuZChmJ3NlbmRwKHtwYWNrZXR9LCBpZmFjZT0ie2l0Zn0i KScpDQorICAgICAgICByZXR1cm4gc2VsZi50ZXN0ZXIuc2NhcHlfZXhlY3V0ZSgpDQorDQorICAg IGRlZiBzZW5kX3BhY2tldF9vZl9zaXplX3RvX3BvcnQoc2VsZiwgcG9ydF9pZDogaW50LCBwa3Rz aXplOiBpbnQpOg0KKw0KKyAgICAgICAgIyBUaGUgcGFja2V0IHRvdGFsIHNpemUgaW5jbHVkZSBl dGhlcm5ldCBoZWFkZXIsIGlwIGhlYWRlciwgYW5kIHBheWxvYWQuDQorICAgICAgICAjIGV0aGVy bmV0IGhlYWRlciBsZW5ndGggaXMgMTggYnl0ZXMsIGlwIHN0YW5kYXJkIGhlYWRlciBsZW5ndGgg aXMgMjAgYnl0ZXMuDQorICAgICAgICAjIHBrdGxlbiA9IHBrdHNpemUgLSBFVEhFUl9IRUFERVJf TEVODQorICAgICAgICBwYWRkaW5nID0gcGt0c2l6ZSAtIElQX0hFQURFUl9MRU4NCisgICAgICAg IG91dCA9IHNlbGYuc2VuZF9zY2FweV9wYWNrZXQocG9ydF9pZCwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZidFdGhlcihkc3Q9ZHV0bWFjLCBzcmM9IjUyOjAwOjAwOjAw OjAwOjAwIikvSVAoKS9SYXcobG9hZD0iXHg1MCIqe3BhZGRpbmd9KScpDQorICAgICAgICByZXR1 cm4gb3V0DQorDQorICAgIGRlZiBzZW5kX3BhY2tldF9vZl9zaXplX3RvX3R4X3BvcnQoc2VsZiwg cGt0c2l6ZSwgcmVjZWl2ZWQ9VHJ1ZSk6DQorICAgICAgICAiIiINCisgICAgICAgIFNlbmQgMSBw YWNrZXQgdG8gcG9ydGlkDQorICAgICAgICAiIiINCisgICAgICAgIHR4X3BrdHNfb3JpLCB0eF9l cnJfb3JpLCB0eF9ieXRlc19vcmkgPSBbaW50KF8pIGZvciBfIGluIHNlbGYuZ2V0X3BvcnRfc3Rh dHVzX3J4KHNlbGYudHhfcG9ydCldDQorICAgICAgICByeF9wa3RzX29yaSwgcnhfZXJyX29yaSwg cnhfYnl0ZXNfb3JpID0gW2ludChfKSBmb3IgXyBpbiANCisgc2VsZi5nZXRfcG9ydF9zdGF0dXNf dHgoc2VsZi5yeF9wb3J0KV0NCisNCisgICAgICAgIG91dCA9IHNlbGYuc2VuZF9wYWNrZXRfb2Zf c2l6ZV90b19wb3J0KHNlbGYudHhfcG9ydCwgcGt0c2l6ZSkNCisNCisgICAgICAgIHNsZWVwKDUp DQorDQorICAgICAgICB0eF9wa3RzLCB0eF9lcnIsIHR4X2J5dGVzID0gW2ludChfKSBmb3IgXyBp biBzZWxmLmdldF9wb3J0X3N0YXR1c19yeChzZWxmLnR4X3BvcnQpXQ0KKyAgICAgICAgcnhfcGt0 cywgcnhfZXJyLCByeF9ieXRlcyA9IFtpbnQoXykgZm9yIF8gaW4gDQorIHNlbGYuZ2V0X3BvcnRf c3RhdHVzX3R4KHNlbGYucnhfcG9ydCldDQorDQorICAgICAgICB0eF9wa3RzX2RpZmZlcmVuY2Ug PSB0eF9wa3RzIC0gdHhfcGt0c19vcmkNCisgICAgICAgIHR4X2Vycl9kaWZmZXJlbmNlID0gdHhf ZXJyIC0gdHhfZXJyX29yaQ0KKyAgICAgICAgdHhfYnl0ZXNfZGlmZmVyZW5jZSA9IHR4X2J5dGVz IC0gdHhfYnl0ZXNfb3JpDQorICAgICAgICByeF9wa3RzX2RpZmZlcmVuY2UgPSByeF9wa3RzIC0g cnhfcGt0c19vcmkNCisgICAgICAgIHJ4X2Vycl9kaWZmZXJlbmNlID0gcnhfZXJyIC0gcnhfZXJy X29yaQ0KKyAgICAgICAgcnhfYnl0ZXNfZGlmZmVyZW5jZSA9IHJ4X2J5dGVzIC0gcnhfYnl0ZXNf b3JpDQorDQorICAgICAgICBpZiByZWNlaXZlZDoNCisgICAgICAgICAgICBzZWxmLnZlcmlmeSh0 eF9wa3RzX2RpZmZlcmVuY2UgPj0gMSwgIk5vIHBhY2tldCB3YXMgc2VudCIpDQorICAgICAgICAg ICAgc2VsZi52ZXJpZnkodHhfYnl0ZXNfZGlmZmVyZW5jZSA9PSBwa3RzaXplICsgRVRIRVJfSEVB REVSX0xFTikNCisgICAgICAgICAgICBzZWxmLnZlcmlmeSh0eF9wa3RzX2RpZmZlcmVuY2UgPT0g cnhfcGt0c19kaWZmZXJlbmNlLCAiZGlmZmVyZW50IG51bWJlcnMgb2YgcGFja2V0cyBzZW50IGFu ZCByZWNlaXZlZCIpDQorICAgICAgICAgICAgc2VsZi52ZXJpZnkodHhfYnl0ZXNfZGlmZmVyZW5j ZSA9PSByeF9ieXRlc19kaWZmZXJlbmNlLCAiZGlmZmVyZW50IG51bWJlciBvZiBieXRlcyBzZW50 IGFuZCByZWNlaXZlZCIpDQorICAgICAgICAgICAgc2VsZi52ZXJpZnkodHhfZXJyX2RpZmZlcmVu Y2UgPT0gMCwgInVuZXhwZWN0ZWQgdHggZXJyb3IiKQ0KKyAgICAgICAgICAgIHNlbGYudmVyaWZ5 KHJ4X2Vycl9kaWZmZXJlbmNlID09IDAsICJ1bmV4cGVjdGVkIHJ4IGVycm9yIikNCisgICAgICAg IGVsc2U6DQorICAgICAgICAgICAgc2VsZi52ZXJpZnkocnhfZXJyX2RpZmZlcmVuY2UgPT0gMSBv ciB0eF9wa3RzX2RpZmZlcmVuY2UgPT0gMCBvciB0eF9lcnJfZGlmZmVyZW5jZSA9PSAxLA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICJwYWNrZXQgdGhhdCBlaXRoZXIgc2hvdWxkIGhhdmUgZWl0 aGVyIGNhdXNlZCBhbiBlcnJvciAiICsNCisgICAgICAgICAgICAgICAgICAgICAgICAib3IgYmVl biByZWplY3RlZCBmb3IgdHJhbnNtaXNzaW9uIHdhcyBub3QiKQ0KKyAgICAgICAgcmV0dXJuIG91 dA0KKw0KKyAgICBkZWYgZ2V0X3BvcnRfc3RhdHVzX3J4KHNlbGYsIHBvcnRpZCkgLT4gVHVwbGVb c3RyLCBzdHIsIHN0cl06DQorICAgICAgICBzdGF0cyA9IHNlbGYucG1kb3V0LmdldF9wbWRfc3Rh dHMocG9ydGlkKQ0KKyAgICAgICAgcmV0dXJuIHN0YXRzWydSWC1wYWNrZXRzJ10sIHN0YXRzWydS WC1lcnJvcnMnXSwgDQorIHN0YXRzWydSWC1ieXRlcyddDQorDQorICAgIGRlZiBnZXRfcG9ydF9z dGF0dXNfdHgoc2VsZiwgcG9ydGlkKSAtPiBUdXBsZVtzdHIsIHN0ciwgc3RyXToNCisgICAgICAg IHN0YXRzID0gc2VsZi5wbWRvdXQuZ2V0X3BtZF9zdGF0cyhwb3J0aWQpDQorICAgICAgICByZXR1 cm4gc3RhdHNbJ1RYLXBhY2tldHMnXSwgc3RhdHNbJ1RYLWVycm9ycyddLCANCisgc3RhdHNbJ1RY LWJ5dGVzJ10NCisNCisgICAgZGVmIHNldF91cF9hbGwoc2VsZik6DQorICAgICAgICAiIiINCisg ICAgICAgIFByZXJlcXVpc2l0ZSBzdGVwcyBmb3IgZWFjaCB0ZXN0IHN1aXQuDQorICAgICAgICAi IiINCisgICAgICAgIHNlbGYuZHV0X3BvcnRzID0gc2VsZi5kdXQuZ2V0X3BvcnRzKCkNCisgICAg ICAgIHNlbGYudmVyaWZ5KGxlbihzZWxmLmR1dF9wb3J0cykgPj0gMiwgIkluc3VmZmljaWVudCBw b3J0cyIpDQorICAgICAgICBzZWxmLnJ4X3BvcnQgPSBzZWxmLmR1dF9wb3J0c1swXQ0KKyAgICAg ICAgc2VsZi50eF9wb3J0ID0gc2VsZi5kdXRfcG9ydHNbMV0NCisNCisgICAgICAgIGNvcmVzID0g c2VsZi5kdXQuZ2V0X2NvcmVfbGlzdCgiMVMvMkMvMVQiKQ0KKyAgICAgICAgc2VsZi5jb3JlbWFz ayA9IHV0aWxzLmNyZWF0ZV9tYXNrKGNvcmVzKQ0KKw0KKyAgICAgICAgc2VsZi5wb3J0X21hc2sg PSB1dGlscy5jcmVhdGVfbWFzayhbc2VsZi5yeF9wb3J0LCANCisgc2VsZi50eF9wb3J0XSkNCisN CisgICAgICAgIHNlbGYucG1kb3V0ID0gUG1kT3V0cHV0KHNlbGYuZHV0KQ0KKw0KKyAgICBkZWYg c2V0X3VwKHNlbGYpOg0KKyAgICAgICAgIiIiDQorICAgICAgICBUaGlzIGlzIHRvIGNsZWFyIHVw IGVudmlyb25tZW50IGJlZm9yZSB0aGUgY2FzZSBydW4uDQorICAgICAgICAiIiINCisgICAgICAg IHNlbGYuZHV0LmtpbGxfYWxsKCkNCisNCisgICAgZGVmIHRlYXJfZG93bihzZWxmKToNCisgICAg ICAgICIiIg0KKyAgICAgICAgUnVuIGFmdGVyIGVhY2ggdGVzdCBjYXNlLg0KKyAgICAgICAgIiIi DQorICAgICAgICBzZWxmLmR1dC5raWxsX2FsbCgpDQorDQorICAgIGRlZiB0ZWFyX2Rvd25fYWxs KHNlbGYpOg0KKyAgICAgICAgIiIiDQorICAgICAgICBXaGVuIHRoZSBjYXNlIG9mIHRoaXMgdGVz dCBzdWl0ZSBmaW5pc2hlZCwgdGhlIGVudmlyb25tZW50IHNob3VsZA0KKyAgICAgICAgY2xlYXIg dXAuDQorICAgICAgICAiIiINCisgICAgICAgIHNlbGYuZHV0LmtpbGxfYWxsKCkNCisNCisgICAg Iw0KKyAgICAjDQorICAgICMNCisgICAgIyBUZXN0IGNhc2VzLg0KKyAgICAjDQorDQorICAgIGRl ZiB0ZXN0X3N0YXRzX2NoZWNrcyhzZWxmKToNCisgICAgICAgIHNlbGYucG1kb3V0LnN0YXJ0X3Rl c3RwbWQoIkRlZmF1bHQiKQ0KKyAgICAgICAgc2VsZi5leGVjKCJwb3J0IHN0YXJ0IGFsbCIpDQor ICAgICAgICBzZWxmLmV4ZWMoInNldCBmd2QgbWFjIikNCisgICAgICAgIHNlbGYuZXhlYygic3Rh cnQiKQ0KKw0KKyAgICAgICAgc2VsZi5zZW5kX3BhY2tldF9vZl9zaXplX3RvX3R4X3BvcnQoNTAs IHJlY2VpdmVkPVRydWUpDQorDQorICAgICAgICBzZWxmLmV4ZWMoInN0b3AiKQ0KKyAgICAgICAg c2VsZi5wbWRvdXQucXVpdCgpDQotLQ0KMi4yNS4xDQoNCg==