From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id C2E4AC2FE for ; Fri, 5 Feb 2016 16:02:25 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP; 05 Feb 2016 07:02:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,401,1449561600"; d="scan'208";a="741154575" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 05 Feb 2016 07:02:24 -0800 Received: from fmsmsx114.amr.corp.intel.com (10.18.116.8) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Fri, 5 Feb 2016 07:02:24 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX114.amr.corp.intel.com (10.18.116.8) with Microsoft SMTP Server (TLS) id 14.3.248.2; Fri, 5 Feb 2016 07:02:23 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.172]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.117]) with mapi id 14.03.0248.002; Fri, 5 Feb 2016 23:02:21 +0800 From: "Xu, Qian Q" To: "Liu, Yong" Thread-Topic: [dts] [PATCH 3/3] tests: add vf jumbo frame suite Thread-Index: AQHRYCUyb7CIiXGN7ES/YQqjlKxr3p8djCNt Date: Fri, 5 Feb 2016 15:02:21 +0000 Message-ID: References: <1454684041-31420-1-git-send-email-yong.liu@intel.com>, <1454684041-31420-3-git-send-email-yong.liu@intel.com> In-Reply-To: <1454684041-31420-3-git-send-email-yong.liu@intel.com> Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dts@dpdk.org" Subject: Re: [dts] [PATCH 3/3] tests: add vf jumbo frame 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: , X-List-Received-Date: Fri, 05 Feb 2016 15:02:27 -0000 cXVpY2sgY29tbWVudHM6IHRoZSBjbGFzcyBuYW1lIGlzIHZsYW4sbmVlZCB1cGRhdGUNCg0Kt6LX 1M7StcQgaVBob25lDQoNCj4g1NogMjAxNsTqMtTCNcjVo6zPws7nMTA6NTWjrFlvbmcgTGl1IDx5 b25nLmxpdUBpbnRlbC5jb20+INC0tcCjug0KPiANCj4gVGhpcyBzdWl0ZSB2YWxpZGF0ZWQgVkYg ZGV2aWNlIGp1bWJvIGZyYW1lIGZlYXR1cmUsIG1vcmUgZGV0YWlsDQo+IGluZm9ybWF0aW9ucyBj YW4gYmUgZm91bmQgaW4gdGVzdCBwbGFuLg0KPiBCeSBub3cganVtYm8gZnJhbWUgc3VpdGUgc3Vw cG9ydCBpeGdiZXZmIGFuZCBpNDBldmYgdGhlc2UgdHdvIHZpcnR1YWwNCj4gZGV2aWNlcy4NCj4g DQo+IFNpZ25lZC1vZmYtYnk6IE1hcnZpbiBMaXUgPHlvbmcubGl1QGludGVsLmNvbT4NCj4gDQo+ IGRpZmYgLS1naXQgYS90ZXN0cy9UZXN0U3VpdGVfdmZfanVtYm9mcmFtZS5weSBiL3Rlc3RzL1Rl c3RTdWl0ZV92Zl9qdW1ib2ZyYW1lLnB5DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAuLjQyNTNhZmQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi90ZXN0cy9UZXN0U3Vp dGVfdmZfanVtYm9mcmFtZS5weQ0KPiBAQCAtMCwwICsxLDMzMCBAQA0KPiArIyA8Q09QWVJJR0hU X1RBRz4NCj4gKw0KPiAraW1wb3J0IHJlDQo+ICtpbXBvcnQgdGltZQ0KPiArDQo+ICtpbXBvcnQg ZHRzDQo+ICtmcm9tIHFlbXVfa3ZtIGltcG9ydCBRRU1VS3ZtDQo+ICtmcm9tIHRlc3RfY2FzZSBp bXBvcnQgVGVzdENhc2UNCj4gK2Zyb20gcG1kX291dHB1dCBpbXBvcnQgUG1kT3V0cHV0DQo+ICtm cm9tIHNldHRpbmdzIGltcG9ydCBIRUFERVJfU0laRQ0KPiArZnJvbSBwYWNrZXQgaW1wb3J0IFBh Y2tldA0KPiArZnJvbSB1dGlscyBpbXBvcnQgUkVEDQo+ICsNCj4gK1ZNX0NPUkVTX01BU0sgPSAn YWxsJw0KPiArDQo+ICtFVEhFUl9TVEFOREFSRF9NVFUgPSAxNTE4DQo+ICtFVEhFUl9KVU1CT19G UkFNRV9NVFUgPSA5MDAwDQo+ICsNCj4gKw0KPiArY2xhc3MgVGVzdFZmVmxhbihUZXN0Q2FzZSk6 DQo+ICsNCj4gKyAgICBkZWYgc2V0X3VwX2FsbChzZWxmKToNCj4gKw0KPiArICAgICAgICBzZWxm LmR1dF9wb3J0cyA9IHNlbGYuZHV0LmdldF9wb3J0cyhzZWxmLm5pYykNCj4gKyAgICAgICAgc2Vs Zi52ZXJpZnkobGVuKHNlbGYuZHV0X3BvcnRzKSA+PSAxLCAiSW5zdWZmaWNpZW50IHBvcnRzIikN Cj4gKyAgICAgICAgc2VsZi52bTAgPSBOb25lDQo+ICsgICAgICAgIHNlbGYuZW52X2RvbmUgPSBG YWxzZQ0KPiArDQo+ICsgICAgICAgIHNlbGYucG9ydCA9IHNlbGYuZHV0X3BvcnRzWzBdDQo+ICsg ICAgICAgIHNlbGYudm1fcG9ydCA9IDANCj4gKyAgICAgICAgY29yZXMgPSBzZWxmLmR1dC5nZXRf Y29yZV9saXN0KCIxUy8xQy8xVCIpDQo+ICsgICAgICAgIHNlbGYucG9ydF9tYXNrID0gZHRzLmNy ZWF0ZV9tYXNrKFtzZWxmLnBvcnRdKQ0KPiArICAgICAgICANCj4gKyAgICAgICAgIyBlbmFibGUg dGVzdGVyIG10dQ0KPiArICAgICAgICB0ZXN0ZXJfcG9ydCA9IHNlbGYudGVzdGVyLmdldF9sb2Nh bF9wb3J0KHNlbGYucG9ydCkNCj4gKyAgICAgICAgc2VsZi5uZXRvYmogPSBzZWxmLnRlc3Rlci5w b3J0c19pbmZvW3Rlc3Rlcl9wb3J0XVsncG9ydCddDQo+ICsgICAgICAgIHNlbGYubmV0b2JqLmVu YWJsZV9qdW1ibyhmcmFtZXNpemU9RVRIRVJfSlVNQk9fRlJBTUVfTVRVICsgMTAwKQ0KPiArDQo+ ICsNCj4gKyAgICBkZWYgc2V0X3VwKHNlbGYpOg0KPiArICAgICAgICBzZWxmLnNldHVwX3ZtX2Vu digpDQo+ICsNCj4gKyAgICBkZWYgYmluZF9uaWNfZHJpdmVyKHNlbGYsIHBvcnRzLCBkcml2ZXI9 IiIpOg0KPiArICAgICAgICAjIG1vZHByb2JlIHZmaW8gZHJpdmVyDQo+ICsgICAgICAgIGlmIGRy aXZlciA9PSAidmZpby1wY2kiOg0KPiArICAgICAgICAgICAgZm9yIHBvcnQgaW4gcG9ydHM6DQo+ ICsgICAgICAgICAgICAgICAgbmV0ZGV2ID0gc2VsZi5kdXQucG9ydHNfaW5mb1twb3J0XVsncG9y dCddDQo+ICsgICAgICAgICAgICAgICAgZHJpdmVyID0gbmV0ZGV2LmdldF9uaWNfZHJpdmVyKCkN Cj4gKyAgICAgICAgICAgICAgICBpZiBkcml2ZXIgIT0gJ3ZmaW8tcGNpJzoNCj4gKyAgICAgICAg ICAgICAgICAgICAgbmV0ZGV2LmJpbmRfZHJpdmVyKGRyaXZlcj0ndmZpby1wY2knKQ0KPiArDQo+ ICsgICAgICAgIGVsaWYgZHJpdmVyID09ICJpZ2JfdWlvIjoNCj4gKyAgICAgICAgICAgICMgaWdi X3VpbyBzaG91bGQgaW5zbW9kIGFzIGRlZmF1bHQsIG5vIG5lZWQgdG8gY2hlY2sNCj4gKyAgICAg ICAgICAgIGZvciBwb3J0IGluIHBvcnRzOg0KPiArICAgICAgICAgICAgICAgIG5ldGRldiA9IHNl bGYuZHV0LnBvcnRzX2luZm9bcG9ydF1bJ3BvcnQnXQ0KPiArICAgICAgICAgICAgICAgIGRyaXZl ciA9IG5ldGRldi5nZXRfbmljX2RyaXZlcigpDQo+ICsgICAgICAgICAgICAgICAgaWYgZHJpdmVy ICE9ICdpZ2JfdWlvJzoNCj4gKyAgICAgICAgICAgICAgICAgICAgbmV0ZGV2LmJpbmRfZHJpdmVy KGRyaXZlcj0naWdiX3VpbycpDQo+ICsgICAgICAgIGVsc2U6DQo+ICsgICAgICAgICAgICBmb3Ig cG9ydCBpbiBwb3J0czoNCj4gKyAgICAgICAgICAgICAgICBuZXRkZXYgPSBzZWxmLmR1dC5wb3J0 c19pbmZvW3BvcnRdWydwb3J0J10NCj4gKyAgICAgICAgICAgICAgICBkcml2ZXJfbm93ID0gbmV0 ZGV2LmdldF9uaWNfZHJpdmVyKCkNCj4gKyAgICAgICAgICAgICAgICBpZiBkcml2ZXIgPT0gIiI6 DQo+ICsgICAgICAgICAgICAgICAgICAgIGRyaXZlciA9IG5ldGRldi5kZWZhdWx0X2RyaXZlcg0K PiArICAgICAgICAgICAgICAgIGlmIGRyaXZlciAhPSBkcml2ZXJfbm93Og0KPiArICAgICAgICAg ICAgICAgICAgICBuZXRkZXYuYmluZF9kcml2ZXIoZHJpdmVyPWRyaXZlcikNCj4gKw0KPiArICAg IGRlZiBzZXR1cF92bV9lbnYoc2VsZiwgZHJpdmVyPSdkZWZhdWx0Jyk6DQo+ICsgICAgICAgICIi Ig0KPiArICAgICAgICBDcmVhdGUgdGVzdGluZyBlbnZpcm9ubWVudCB3aXRoIDFWRiBnZW5lcmF0 ZWQgZnJvbSAxUEYNCj4gKyAgICAgICAgIiIiDQo+ICsgICAgICAgIGlmIHNlbGYuZW52X2RvbmU6 DQo+ICsgICAgICAgICAgICByZXR1cm4NCj4gKw0KPiArICAgICAgICAjIGJpbmQgdG8gZGVmYXVs dCBkcml2ZXINCj4gKyAgICAgICAgc2VsZi5iaW5kX25pY19kcml2ZXIoc2VsZi5kdXRfcG9ydHNb OjFdLCBkcml2ZXI9IiIpDQo+ICsNCj4gKyAgICAgICAgc2VsZi51c2VkX2R1dF9wb3J0ID0gc2Vs Zi5kdXRfcG9ydHNbMF0NCj4gKyAgICAgICAgc2VsZi5ob3N0X2ludGYgPSBzZWxmLmR1dC5wb3J0 c19pbmZvW3NlbGYudXNlZF9kdXRfcG9ydF1bJ2ludGYnXQ0KPiArICAgICAgICB0ZXN0ZXJfcG9y dCA9IHNlbGYudGVzdGVyLmdldF9sb2NhbF9wb3J0KHNlbGYudXNlZF9kdXRfcG9ydCkNCj4gKyAg ICAgICAgc2VsZi50ZXN0ZXJfaW50ZiA9IHNlbGYudGVzdGVyLmdldF9pbnRlcmZhY2UodGVzdGVy X3BvcnQpDQo+ICsNCj4gKyAgICAgICAgc2VsZi5kdXQuZ2VuZXJhdGVfc3Jpb3ZfdmZzX2J5X3Bv cnQoDQo+ICsgICAgICAgICAgICBzZWxmLnVzZWRfZHV0X3BvcnQsIDEsIGRyaXZlcj1kcml2ZXIp DQo+ICsgICAgICAgIHNlbGYuc3Jpb3ZfdmZzX3BvcnQgPSBzZWxmLmR1dC5wb3J0c19pbmZvWw0K PiArICAgICAgICAgICAgc2VsZi51c2VkX2R1dF9wb3J0XVsndmZzX3BvcnQnXQ0KPiArICAgICAg ICBzZWxmLnZmX21hYyA9ICIwMDoxMDowMDowMDowMDowMCINCj4gKyAgICAgICAgc2VsZi5kdXQu c2VuZF9leHBlY3QoImlwIGxpbmsgc2V0ICVzIHZmIDAgbWFjICVzIiAlDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzZWxmLmhvc3RfaW50Ziwgc2VsZi52Zl9tYWMpLCAiIyAiKQ0K PiArDQo+ICsgICAgICAgIHRyeToNCj4gKw0KPiArICAgICAgICAgICAgZm9yIHBvcnQgaW4gc2Vs Zi5zcmlvdl92ZnNfcG9ydDoNCj4gKyAgICAgICAgICAgICAgICBwb3J0LmJpbmRfZHJpdmVyKCdw Y2ktc3R1YicpDQo+ICsNCj4gKyAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkNCj4gKyAgICAgICAg ICAgIHZmX3BvcHQgPSB7J29wdF9ob3N0Jzogc2VsZi5zcmlvdl92ZnNfcG9ydFswXS5wY2l9DQo+ ICsNCj4gKyAgICAgICAgICAgICMgc2V0IHVwIFZNIEVOVg0KPiArICAgICAgICAgICAgc2VsZi52 bSA9IFFFTVVLdm0oc2VsZi5kdXQsICd2bTAnLCAndmZfdmxhbicpDQo+ICsgICAgICAgICAgICBz ZWxmLnZtLnNldF92bV9kZXZpY2UoZHJpdmVyPSdwY2ktYXNzaWduJywgKip2Zl9wb3B0KQ0KPiAr ICAgICAgICAgICAgc2VsZi52bV9kdXQgPSBzZWxmLnZtLnN0YXJ0KCkNCj4gKyAgICAgICAgICAg IGlmIHNlbGYudm1fZHV0IGlzIE5vbmU6DQo+ICsgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0 aW9uKCJTZXQgdXAgVk0gRU5WIGZhaWxlZCEiKQ0KPiArDQo+ICsgICAgICAgICAgICBURVNUUE1E X01BSU4gPSAiYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYyINCj4gKyAgICAgICAgICAgIGlmIHNlbGYu a2RyaXZlciA9PSAiaXhnYmUiOg0KPiArICAgICAgICAgICAgICAgIHNlbGYudm1fZHV0LnNlbmRf ZXhwZWN0KCJzZWQgLWkgLWUgJ3MvLmp1bWJvX2ZyYW1lICAgID0gLiokLy5qdW1ib19mcmFtZSA9 IDEsL2cnICVzIiAlIFRFU1RQTURfTUFJTiwgIiMgIikNCj4gKyAgICAgICAgICAgICAgICBzZWxm LnZtX2R1dC5idWlsZF9pbnN0YWxsX2RwZGsoc2VsZi50YXJnZXQpDQo+ICsNCj4gKyAgICAgICAg ICAgIHNlbGYudm1fdGVzdHBtZCA9IFBtZE91dHB1dChzZWxmLnZtX2R1dCkNCj4gKw0KPiArICAg ICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6DQo+ICsgICAgICAgICAgICBzZWxmLmRlc3Ryb3lf dm1fZW52KCkNCj4gKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbihlKQ0KPiArDQo+ICsgICAg ICAgIHNlbGYuZW52X2RvbmUgPSBUcnVlDQo+ICsNCj4gKyAgICBkZWYgZGVzdHJveV92bV9lbnYo c2VsZik6DQo+ICsgICAgICAgIGlmIGdldGF0dHIoc2VsZiwgJ3ZtJywgTm9uZSk6DQo+ICsgICAg ICAgICAgICBzZWxmLnZtX2R1dC5raWxsX2FsbCgpDQo+ICsgICAgICAgICAgICBzZWxmLnZtX3Rl c3RwbWQgPSBOb25lDQo+ICsgICAgICAgICAgICBzZWxmLnZtX2R1dF9wb3J0cyA9IE5vbmUNCj4g KyAgICAgICAgICAgICMgZGVzdHJveSB2bTANCj4gKyAgICAgICAgICAgIHNlbGYudm0uc3RvcCgp DQo+ICsgICAgICAgICAgICBzZWxmLnZtID0gTm9uZQ0KPiArDQo+ICsgICAgICAgIGlmIGdldGF0 dHIoc2VsZiwgJ3VzZWRfZHV0X3BvcnQnLCBOb25lKToNCj4gKyAgICAgICAgICAgIHNlbGYuZHV0 LmRlc3Ryb3lfc3Jpb3ZfdmZzX2J5X3BvcnQoc2VsZi51c2VkX2R1dF9wb3J0KQ0KPiArICAgICAg ICAgICAgc2VsZi51c2VkX2R1dF9wb3J0ID0gTm9uZQ0KPiArDQo+ICsgICAgICAgIHNlbGYuYmlu ZF9uaWNfZHJpdmVyKHNlbGYuZHV0X3BvcnRzWzoxXSwgZHJpdmVyPSJpZ2JfdWlvIikNCj4gKw0K PiArICAgICAgICBzZWxmLmVudl9kb25lID0gRmFsc2UNCj4gKw0KPiArDQo+ICsgICAgZGVmIGp1 bWJvZnJhbWVzX2dldF9zdGF0KHNlbGYsIHBvcnRpZCwgcnhfdHgpOg0KPiArICAgICAgICAiIiIN Cj4gKyAgICAgICAgR2V0IHBhY2tldHMgbnVtYmVyIGZyb20gcG9ydCBzdGF0aXN0aWMNCj4gKyAg ICAgICAgIiIiDQo+ICsgICAgICAgIHN0YXRzID0gc2VsZi52bV90ZXN0cG1kLmdldF9wbWRfc3Rh dHMocG9ydGlkKQ0KPiArICAgICAgICBpZiByeF90eCA9PSAicngiOg0KPiArICAgICAgICAgICAg cmV0dXJuIFtzdGF0c1snUlgtcGFja2V0cyddLCBzdGF0c1snUlgtZXJyb3JzJ10sIHN0YXRzWydS WC1ieXRlcyddXQ0KPiArICAgICAgICBlbGlmIHJ4X3R4ID09ICJ0eCI6DQo+ICsgICAgICAgICAg ICByZXR1cm4gW3N0YXRzWydUWC1wYWNrZXRzJ10sIHN0YXRzWydUWC1lcnJvcnMnXSwgc3RhdHNb J1RYLWJ5dGVzJ11dDQo+ICsgICAgICAgIGVsc2U6DQo+ICsgICAgICAgICAgICByZXR1cm4gTm9u ZQ0KPiArDQo+ICsgICAgZGVmIGp1bWJvZnJhbWVzX3NlbmRfcGFja2V0KHNlbGYsIHBrdHNpemUs IHJlY2VpdmVkPVRydWUpOg0KPiArICAgICAgICAiIiINCj4gKyAgICAgICAgU2VuZCAxIHBhY2tl dCB0byBwb3J0aWQNCj4gKyAgICAgICAgIiIiDQo+ICsgICAgICAgIHR4X3BrdHNfb3JpLCBfLCB0 eF9ieXRlc19vcmkgPSBbaW50KF8pIGZvciBfIGluIHNlbGYuanVtYm9mcmFtZXNfZ2V0X3N0YXQo c2VsZi52bV9wb3J0LCAidHgiKV0NCj4gKyAgICAgICAgcnhfcGt0c19vcmksIHJ4X2Vycl9vcmks IHJ4X2J5dGVzX29yaSA9IFtpbnQoXykgZm9yIF8gaW4gc2VsZi5qdW1ib2ZyYW1lc19nZXRfc3Rh dChzZWxmLnZtX3BvcnQsICJyeCIpXQ0KPiArDQo+ICsgICAgICAgIG1hYyA9IHNlbGYudm1fZHV0 LmdldF9tYWNfYWRkcmVzcyhzZWxmLnZtX3BvcnQpDQo+ICsNCj4gKyAgICAgICAgcGt0ID0gUGFj a2V0KHBrdF90eXBlPSdVRFAnLCBwa3RfbGVuPXBrdHNpemUpDQo+ICsgICAgICAgIHBrdC5jb25m aWdfbGF5ZXIoJ2V0aGVyJywgeydkc3QnOiBtYWN9KQ0KPiArICAgICAgICBwa3Quc2VuZF9wa3Qo dHhfcG9ydD1zZWxmLnRlc3Rlcl9pbnRmKQ0KPiArDQo+ICsgICAgICAgIHRpbWUuc2xlZXAoMSkN Cj4gKw0KPiArICAgICAgICB0eF9wa3RzLCBfLCB0eF9ieXRlcyA9IFtpbnQoXykgZm9yIF8gaW4g c2VsZi5qdW1ib2ZyYW1lc19nZXRfc3RhdChzZWxmLnBvcnQsICJ0eCIpXQ0KPiArICAgICAgICBy eF9wa3RzLCByeF9lcnIsIHJ4X2J5dGVzID0gW2ludChfKSBmb3IgXyBpbiBzZWxmLmp1bWJvZnJh bWVzX2dldF9zdGF0KHNlbGYudm1fcG9ydCwgInJ4IildDQo+ICsNCj4gKyAgICAgICAgdHhfcGt0 cyAtPSB0eF9wa3RzX29yaQ0KPiArICAgICAgICB0eF9ieXRlcyAtPSB0eF9ieXRlc19vcmkNCj4g KyAgICAgICAgcnhfcGt0cyAtPSByeF9wa3RzX29yaQ0KPiArICAgICAgICByeF9ieXRlcyAtPSBy eF9ieXRlc19vcmkNCj4gKyAgICAgICAgcnhfZXJyIC09IHJ4X2Vycl9vcmkNCj4gKw0KPiArICAg ICAgICBpZiByZWNlaXZlZDoNCj4gKyAgICAgICAgICAgIHNlbGYudmVyaWZ5KChyeF9wa3RzID09 IDEpIGFuZCAodHhfcGt0cyA9PSAxKSwgInBhY2tldCBwYXNzIGFzc2VydCBlcnJvciIpDQo+ICsg ICAgICAgICAgICBpZiBzZWxmLmtkcml2ZXIgPT0gIml4Z2JlIjoNCj4gKyAgICAgICAgICAgICAg ICBzZWxmLnZlcmlmeSgocnhfYnl0ZXMgKyA0KSA9PSBwa3RzaXplLCAiUmVjZXZpZSBwYWNrZXQg c2l6ZSBzaG91bGQgYmUgcGFja2V0IHNpemUgLSA0IikNCj4gKyAgICAgICAgICAgIGVsc2U6DQo+ ICsgICAgICAgICAgICAgICAgc2VsZi52ZXJpZnkocnhfYnl0ZXMgPT0gcGt0c2l6ZSwgIlRyYW5z bWl0IHBhY2tldCBzaXplIHNob3VsZCBiZSBlcXVhbCB0byBwYWNrZXQgc2l6ZSIpDQo+ICsgICAg ICAgICAgICBzZWxmLnZlcmlmeSgodHhfYnl0ZXMgKyA0KSA9PSBwa3RzaXplLCAiVHJhbnNtaXQg cGFja2V0IHNpemUgc2hvdWxkIGJlIHBhY2tldCBzaXplIC0gNCIpDQo+ICsgICAgICAgIGVsc2U6 DQo+ICsgICAgICAgICAgICBzZWxmLnZlcmlmeShyeF9lcnIgPT0gMSBvciB0eF9wa3RzID09IDAs ICJwYWNrZXQgZHJvcCBhc3NlcnQgZXJyb3IiKQ0KPiArDQo+ICsgICAgZGVmIHRlc3RfdmZfbm9y bWFsX25vanVtYm8oc2VsZik6DQo+ICsgICAgICAgICIiIg0KPiArICAgICAgICBUaGlzIGNhc2Ug YWltcyB0byB0ZXN0IHRyYW5zbWl0dGluZyBub3JtYWwgc2l6ZSBwYWNrZXQgd2l0aG91dCBqdW1i byBlbmFibGUNCj4gKyAgICAgICAgIiIiDQo+ICsgICAgICAgICMgc2hvdWxkIGVuYWJsZSBqdW1i byBvbiBob3N0DQo+ICsgICAgICAgIGlmIHNlbGYua2RyaXZlciA9PSAiaXhnYmUiOg0KPiArICAg ICAgICAgICAgc2VsZi5kdXRvYmogPSBzZWxmLmR1dC5wb3J0c19pbmZvW3NlbGYucG9ydF1bJ3Bv cnQnXQ0KPiArICAgICAgICAgICAgc2VsZi5kdXRvYmouZW5hYmxlX2p1bWJvKGZyYW1lc2l6ZT1F VEhFUl9TVEFOREFSRF9NVFUpDQo+ICsgICAgICAgICAgICB0aW1lLnNsZWVwKDIpDQo+ICsNCj4g KyAgICAgICAgc2VsZi52bV90ZXN0cG1kLnN0YXJ0X3Rlc3RwbWQoIkRlZmF1bHQiLCAiLS1tYXgt cGt0LWxlbj0lZCAtLXBvcnQtdG9wb2xvZ3k9bG9vcCAtLXR4cWZsYWdzPTB4MCIgJSAoRVRIRVJf U1RBTkRBUkRfTVRVKSkNCj4gKyAgICAgICAgaWYgc2VsZi5rZHJpdmVyID09ICJpNDBlIjoNCj4g KyAgICAgICAgICAgICMgZm9ydmlsbGUgdmYgY3JjIHNldHRpbmcgYWxpYXMgd2l0aCBob3N0DQo+ ICsgICAgICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInBvcnQgc3RvcCBhbGwi KQ0KPiArICAgICAgICAgICAgc2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21kKCJwb3J0IGNvbmZp ZyBhbGwgY3JjLXN0cmlwIG9uIikNCj4gKyAgICAgICAgICAgIHNlbGYudm1fdGVzdHBtZC5leGVj dXRlX2NtZCgicG9ydCBzdGFydCBhbGwiKQ0KPiArDQo+ICsgICAgICAgIHNlbGYudm1fdGVzdHBt ZC5leGVjdXRlX2NtZCgic2V0IGZ3ZCBtYWMiKQ0KPiArICAgICAgICBzZWxmLnZtX3Rlc3RwbWQu ZXhlY3V0ZV9jbWQoInN0YXJ0IikNCj4gKw0KPiArICAgICAgICBzZWxmLmp1bWJvZnJhbWVzX3Nl bmRfcGFja2V0KEVUSEVSX1NUQU5EQVJEX01UVSAtIDEpDQo+ICsgICAgICAgIHNlbGYuanVtYm9m cmFtZXNfc2VuZF9wYWNrZXQoRVRIRVJfU1RBTkRBUkRfTVRVKQ0KPiArDQo+ICsgICAgICAgIHNl bGYudm1fdGVzdHBtZC5leGVjdXRlX2NtZCgic3RvcCIpDQo+ICsgICAgICAgIHNlbGYudm1fdGVz dHBtZC5xdWl0KCkNCj4gKw0KPiArICAgIGRlZiB0ZXN0X3ZmX25vcm1hbF93aXRoanVtYm8oc2Vs Zik6DQo+ICsgICAgICAgICIiIg0KPiArICAgICAgICBXaGVuIGp1bWJvIGZyYW1lIHN1cHBvcnRl ZCwgdGhpcyBjYXNlIGlzIHRvIHZlcmlmeSB0aGF0IHRoZSBub3JtYWwgc2l6ZQ0KPiArICAgICAg ICBwYWNrZXQgZm9yd3JkaW5nIHNob3VsZCBiZSBzdXBwb3J0IGNvcnJlY3QuDQo+ICsgICAgICAg ICIiIg0KPiArICAgICAgICAjIHNob3VsZCBlbmFibGUganVtYm8gb24gaG9zdA0KPiArICAgICAg ICBpZiBzZWxmLmtkcml2ZXIgPT0gIml4Z2JlIjoNCj4gKyAgICAgICAgICAgIHNlbGYuZHV0b2Jq ID0gc2VsZi5kdXQucG9ydHNfaW5mb1tzZWxmLnBvcnRdWydwb3J0J10NCj4gKyAgICAgICAgICAg IHNlbGYuZHV0b2JqLmVuYWJsZV9qdW1ibyhmcmFtZXNpemU9RVRIRVJfSlVNQk9fRlJBTUVfTVRV KQ0KPiArICAgICAgICAgICAgdGltZS5zbGVlcCgyKQ0KPiArDQo+ICsgICAgICAgIHNlbGYudm1f dGVzdHBtZC5zdGFydF90ZXN0cG1kKCJEZWZhdWx0IiwgIi0tbWF4LXBrdC1sZW49JXMgLS1wb3J0 LXRvcG9sb2d5PWxvb3AgLS10eHFmbGFncz0weDAiICUgKEVUSEVSX0pVTUJPX0ZSQU1FX01UVSkp DQo+ICsgICAgICAgIGlmIHNlbGYua2RyaXZlciA9PSAiaTQwZSI6DQo+ICsgICAgICAgICAgICAj IGZvcnZpbGxlIHZmIGNyYyBzZXR0aW5nIGFsaWFzIHdpdGggaG9zdA0KPiArICAgICAgICAgICAg c2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21kKCJwb3J0IHN0b3AgYWxsIikNCj4gKyAgICAgICAg ICAgIHNlbGYudm1fdGVzdHBtZC5leGVjdXRlX2NtZCgicG9ydCBjb25maWcgYWxsIGNyYy1zdHJp cCBvbiIpDQo+ICsgICAgICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInBvcnQg c3RhcnQgYWxsIikNCj4gKw0KPiArICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQo InNldCBmd2QgbWFjIikNCj4gKyAgICAgICAgc2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21kKCJz dGFydCIpDQo+ICsNCj4gKyAgICAgICAgc2VsZi5qdW1ib2ZyYW1lc19zZW5kX3BhY2tldChFVEhF Ul9TVEFOREFSRF9NVFUgLSAxKQ0KPiArICAgICAgICBzZWxmLmp1bWJvZnJhbWVzX3NlbmRfcGFj a2V0KEVUSEVSX1NUQU5EQVJEX01UVSkNCj4gKw0KPiArICAgICAgICBzZWxmLnZtX3Rlc3RwbWQu ZXhlY3V0ZV9jbWQoInN0b3AiKQ0KPiArICAgICAgICBzZWxmLnZtX3Rlc3RwbWQucXVpdCgpDQo+ ICsNCj4gKyAgICBkZWYgdGVzdF92Zl9qdW1ib19ub2p1bWJvKHNlbGYpOg0KPiArICAgICAgICAi IiINCj4gKyAgICAgICAgVGhpcyBjYXNlIGFpbXMgdG8gdGVzdCB0cmFuc21pdHRpbmcganVtYm8g ZnJhbWUgcGFja2V0IG9uIHRlc3RwbWQgd2l0aG91dA0KPiArICAgICAgICBqdW1ibyBmcmFtZSBz dXBwb3J0Lg0KPiArICAgICAgICAiIiINCj4gKyAgICAgICAgIyBzaG91bGQgZW5hYmxlIGp1bWJv IG9uIGhvc3QNCj4gKyAgICAgICAgaWYgc2VsZi5rZHJpdmVyID09ICJpeGdiZSI6DQo+ICsgICAg ICAgICAgICBzZWxmLmR1dG9iaiA9IHNlbGYuZHV0LnBvcnRzX2luZm9bc2VsZi5wb3J0XVsncG9y dCddDQo+ICsgICAgICAgICAgICBzZWxmLmR1dG9iai5lbmFibGVfanVtYm8oZnJhbWVzaXplPUVU SEVSX1NUQU5EQVJEX01UVSkNCj4gKyAgICAgICAgICAgIHRpbWUuc2xlZXAoMikNCj4gKw0KPiAr ICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuc3RhcnRfdGVzdHBtZCgiRGVmYXVsdCIsICItLXBvcnQt dG9wb2xvZ3k9bG9vcCAtLXR4cWZsYWdzPTB4MCIpDQo+ICsgICAgICAgIGlmIHNlbGYua2RyaXZl ciA9PSAiaTQwZSI6DQo+ICsgICAgICAgICAgICAjIGZvcnZpbGxlIHZmIGNyYyBzZXR0aW5nIGFs aWFzIHdpdGggaG9zdA0KPiArICAgICAgICAgICAgc2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21k KCJwb3J0IHN0b3AgYWxsIikNCj4gKyAgICAgICAgICAgIHNlbGYudm1fdGVzdHBtZC5leGVjdXRl X2NtZCgicG9ydCBjb25maWcgYWxsIGNyYy1zdHJpcCBvbiIpDQo+ICsgICAgICAgICAgICBzZWxm LnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInBvcnQgc3RhcnQgYWxsIikNCj4gKw0KPiArICAgICAg ICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInNldCBmd2QgbWFjIikNCj4gKyAgICAgICAg c2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21kKCJzdGFydCIpDQo+ICsNCj4gKyAgICAgICAgc2Vs Zi5qdW1ib2ZyYW1lc19zZW5kX3BhY2tldChFVEhFUl9TVEFOREFSRF9NVFUgKyAxLCBGYWxzZSkN Cj4gKw0KPiArICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInN0b3AiKQ0KPiAr ICAgICAgICBzZWxmLnZtX3Rlc3RwbWQucXVpdCgpDQo+ICsNCj4gKyAgICBkZWYgdGVzdF92Zl9q dW1ib193aXRoanVtYm8oc2VsZik6DQo+ICsgICAgICAgICIiIg0KPiArICAgICAgICBXaGVuIGp1 bWJvIGZyYW1lIHN1cHBvcnRlZCwgdGhpcyBjYXNlIGlzIHRvIHZlcmlmeSB0aGF0IGp1bWJvIGZy YW1lDQo+ICsgICAgICAgIHBhY2tldCBjYW4gYmUgZm9yd2FyZGVkIGNvcnJlY3QuDQo+ICsgICAg ICAgICIiIg0KPiArICAgICAgICAjIHNob3VsZCBlbmFibGUganVtYm8gb24gaG9zdA0KPiArICAg ICAgICBpZiBzZWxmLmtkcml2ZXIgPT0gIml4Z2JlIjoNCj4gKyAgICAgICAgICAgIHNlbGYuZHV0 b2JqID0gc2VsZi5kdXQucG9ydHNfaW5mb1tzZWxmLnBvcnRdWydwb3J0J10NCj4gKyAgICAgICAg ICAgIHNlbGYuZHV0b2JqLmVuYWJsZV9qdW1ibyhmcmFtZXNpemU9RVRIRVJfSlVNQk9fRlJBTUVf TVRVKQ0KPiArICAgICAgICAgICAgdGltZS5zbGVlcCgyKQ0KPiArDQo+ICsgICAgICAgIHNlbGYu dm1fdGVzdHBtZC5zdGFydF90ZXN0cG1kKCJEZWZhdWx0IiwgIi0tbWF4LXBrdC1sZW49JXMgLS1w b3J0LXRvcG9sb2d5PWxvb3AgLS10eHFmbGFncz0weDAiICUgKEVUSEVSX0pVTUJPX0ZSQU1FX01U VSkpDQo+ICsgICAgICAgIGlmIHNlbGYua2RyaXZlciA9PSAiaTQwZSI6DQo+ICsgICAgICAgICAg ICAjIGZvcnZpbGxlIHZmIGNyYyBzZXR0aW5nIGFsaWFzIHdpdGggaG9zdA0KPiArICAgICAgICAg ICAgc2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21kKCJwb3J0IHN0b3AgYWxsIikNCj4gKyAgICAg ICAgICAgIHNlbGYudm1fdGVzdHBtZC5leGVjdXRlX2NtZCgicG9ydCBjb25maWcgYWxsIGNyYy1z dHJpcCBvbiIpDQo+ICsgICAgICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInBv cnQgc3RhcnQgYWxsIikNCj4gKw0KPiArICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9j bWQoInNldCBmd2QgbWFjIikNCj4gKyAgICAgICAgc2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21k KCJzdGFydCIpDQo+ICsNCj4gKyAgICAgICAgc2VsZi5qdW1ib2ZyYW1lc19zZW5kX3BhY2tldChF VEhFUl9TVEFOREFSRF9NVFUgKyAxKQ0KPiArICAgICAgICBzZWxmLmp1bWJvZnJhbWVzX3NlbmRf cGFja2V0KEVUSEVSX0pVTUJPX0ZSQU1FX01UVSAtIDEpDQo+ICsgICAgICAgIHNlbGYuanVtYm9m cmFtZXNfc2VuZF9wYWNrZXQoRVRIRVJfSlVNQk9fRlJBTUVfTVRVKQ0KPiArDQo+ICsgICAgICAg IHNlbGYudm1fdGVzdHBtZC5leGVjdXRlX2NtZCgic3RvcCIpDQo+ICsgICAgICAgIHNlbGYudm1f dGVzdHBtZC5xdWl0KCkNCj4gKw0KPiArICAgIGRlZiB0ZXN0X3ZmX2p1bWJvX292ZXJqdW1ibyhz ZWxmKToNCj4gKyAgICAgICAgIiIiDQo+ICsgICAgICAgIFdoZW4gdGhlIGp1Ym1vIGZyYW1lIE1U VSBzZXQgYXMgOTAwMCwgdGhpcyBjYXNlIGlzIHRvIHZlcmlmeSB0aGF0IHRoZQ0KPiArICAgICAg ICBwYWNrZXQgd2hpY2ggdGhlIGxlbmd0aCBiaWdnZXIgdGhhbiBNVFUgY2FuIG5vdCBiZSBmb3J3 YXJkZWQuDQo+ICsgICAgICAgICIiIg0KPiArICAgICAgICAjIHNob3VsZCBlbmFibGUganVtYm8g b24gaG9zdA0KPiArICAgICAgICBpZiBzZWxmLmtkcml2ZXIgPT0gIml4Z2JlIjoNCj4gKyAgICAg ICAgICAgIHNlbGYuZHV0b2JqID0gc2VsZi5kdXQucG9ydHNfaW5mb1tzZWxmLnBvcnRdWydwb3J0 J10NCj4gKyAgICAgICAgICAgIHNlbGYuZHV0b2JqLmVuYWJsZV9qdW1ibyhmcmFtZXNpemU9RVRI RVJfSlVNQk9fRlJBTUVfTVRVKQ0KPiArICAgICAgICAgICAgdGltZS5zbGVlcCgyKQ0KPiArDQo+ ICsgICAgICAgIHNlbGYudm1fdGVzdHBtZC5zdGFydF90ZXN0cG1kKCJEZWZhdWx0IiwgIi0tbWF4 LXBrdC1sZW49JXMgLS1wb3J0LXRvcG9sb2d5PWxvb3AgLS10eHFmbGFncz0weDAiICUgKEVUSEVS X0pVTUJPX0ZSQU1FX01UVSkpDQo+ICsgICAgICAgIGlmIHNlbGYua2RyaXZlciA9PSAiaTQwZSI6 DQo+ICsgICAgICAgICAgICAjIGZvcnZpbGxlIHZmIGNyYyBzZXR0aW5nIGFsaWFzIHdpdGggaG9z dA0KPiArICAgICAgICAgICAgc2VsZi52bV90ZXN0cG1kLmV4ZWN1dGVfY21kKCJwb3J0IHN0b3Ag YWxsIikNCj4gKyAgICAgICAgICAgIHNlbGYudm1fdGVzdHBtZC5leGVjdXRlX2NtZCgicG9ydCBj b25maWcgYWxsIGNyYy1zdHJpcCBvbiIpDQo+ICsgICAgICAgICAgICBzZWxmLnZtX3Rlc3RwbWQu ZXhlY3V0ZV9jbWQoInBvcnQgc3RhcnQgYWxsIikNCj4gKw0KPiArICAgICAgICBzZWxmLnZtX3Rl c3RwbWQuZXhlY3V0ZV9jbWQoInNldCBmd2QgbWFjIikNCj4gKyAgICAgICAgc2VsZi52bV90ZXN0 cG1kLmV4ZWN1dGVfY21kKCJzdGFydCIpDQo+ICsNCj4gKyAgICAgICAgc2VsZi5qdW1ib2ZyYW1l c19zZW5kX3BhY2tldChFVEhFUl9KVU1CT19GUkFNRV9NVFUgKyAxLCBGYWxzZSkNCj4gKw0KPiAr ICAgICAgICBzZWxmLnZtX3Rlc3RwbWQuZXhlY3V0ZV9jbWQoInN0b3AiKQ0KPiArICAgICAgICBz ZWxmLnZtX3Rlc3RwbWQucXVpdCgpDQo+ICsNCj4gKyAgICBkZWYgdGVhcl9kb3duKHNlbGYpOg0K PiArICAgICAgICAiIiINCj4gKyAgICAgICAgUnVuIGFmdGVyIGVhY2ggdGVzdCBjYXNlLg0KPiAr ICAgICAgICAiIiINCj4gKyAgICAgICAgc2VsZi52bV9kdXQua2lsbF9hbGwoKQ0KPiArICAgICAg ICBwYXNzDQo+ICsNCj4gKyAgICBkZWYgdGVhcl9kb3duX2FsbChzZWxmKToNCj4gKyAgICAgICAg IiIiDQo+ICsgICAgICAgIFdoZW4gdGhlIGNhc2Ugb2YgdGhpcyB0ZXN0IHN1aXRlIGZpbmlzaGVk LCB0aGUgZW52aXJvbWVudCBzaG91bGQNCj4gKyAgICAgICAgY2xlYXIgdXAuDQo+ICsgICAgICAg ICIiIg0KPiArICAgICAgICBzZWxmLmRlc3Ryb3lfdm1fZW52KCkNCj4gKyAgICAgICAgc2VsZi5u ZXRvYmouZW5hYmxlX2p1bWJvKGZyYW1lc2l6ZT1FVEhFUl9TVEFOREFSRF9NVFUpDQo+ICsNCj4g LS0gDQo+IDEuOS4zDQo+IA0K