From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH i-g-t] lib/igt_core.c: Expand --run-subtest functionality. Date: Wed, 27 Jan 2016 17:36:09 +0200 Message-ID: <20160127153609.GE23290@intel.com> References: <1453889156-24489-1-git-send-email-derek.j.morton@intel.com> <20160127123247.GA23290@intel.com> <2D016F5BA44C744783BA96B1D3EBC5BD13F11D2B@IRSMSX102.ger.corp.intel.com> <20160127143043.GB23290@intel.com> <2D016F5BA44C744783BA96B1D3EBC5BD13F11E48@IRSMSX102.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 92E7C6E2F8 for ; Wed, 27 Jan 2016 07:36:13 -0800 (PST) Content-Disposition: inline In-Reply-To: <2D016F5BA44C744783BA96B1D3EBC5BD13F11E48@IRSMSX102.ger.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Morton, Derek J" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKYW4gMjcsIDIwMTYgYXQgMDM6MDI6MTVQTSArMDAwMCwgTW9ydG9uLCBEZXJlayBK IHdyb3RlOgo+ID4KPiA+Cj4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPkZyb206IFZp bGxlIFN5cmrDpGzDpCBbbWFpbHRvOnZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tXSAKPiA+ U2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDI3LCAyMDE2IDI6MzEgUE0KPiA+VG86IE1vcnRvbiwg RGVyZWsgSgo+ID5DYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID5TdWJqZWN0 OiBSZTogW0ludGVsLWdmeF0gW1BBVENIIGktZy10XSBsaWIvaWd0X2NvcmUuYzogRXhwYW5kIC0t cnVuLXN1YnRlc3QgZnVuY3Rpb25hbGl0eS4KPiA+Cj4gPk9uIFdlZCwgSmFuIDI3LCAyMDE2IGF0 IDAxOjMwOjAxUE0gKzAwMDAsIE1vcnRvbiwgRGVyZWsgSiB3cm90ZToKPiA+PiA+Cj4gPj4gPgo+ ID4+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4+ID5Gcm9tOiBWaWxsZSBTeXJqw6Rs w6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbV0KPiA+PiA+U2VudDogV2Vk bmVzZGF5LCBKYW51YXJ5IDI3LCAyMDE2IDEyOjMzIFBNCj4gPj4gPlRvOiBNb3J0b24sIERlcmVr IEoKPiA+PiA+Q2M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+PiA+U3ViamVj dDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSCBpLWctdF0gbGliL2lndF9jb3JlLmM6IEV4cGFuZCAt LXJ1bi1zdWJ0ZXN0IGZ1bmN0aW9uYWxpdHkuCj4gPj4gPgo+ID4+ID5PbiBXZWQsIEphbiAyNywg MjAxNiBhdCAxMDowNTo1NkFNICswMDAwLCBEZXJlayBNb3J0b24gd3JvdGU6Cj4gPj4gPj4gQWRk ZWQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhcmJpdGFyeSBsaXN0cyBvZiBzdWJ0ZXN0cyB0byBy dW4gb3IgCj4gPj4gPj4gdG8gZXhjbHVkZSBmcm9tIGJlaW5nIHJ1biBieSB1c2luZyA6IG9yIF4g YXMgYSBzZXBlcmF0b3IuCj4gPj4gPj4gCj4gPj4gPj4gOnN1YnRlc3QxOnN1YnRlc3QyOiBXaWxs IHJ1biBzdWJ0ZXN0MSBhbmQgc3VidGVzdDIgCj4gPj4gPj4gXnN1YnRlc3QxXnN1YnRlc3QyXiB3 aWxsIHJ1biBhbGwgc3VidGVzdHMgZXhjZXB0IHN1YnRlc3QxIGFuZCAKPiA+PiA+PiBzdWJ0ZXN0 Mgo+ID4+ID4KPiA+PiA+SG1tLiBHZXR0aW5nIGEgYml0IGNvbXBsaWNhdGVkIHBlcmhhcHMuIFdv dWxkIGl0IGJlIHNpbXBsZXIgdG8ganVzdCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSAtLXIgb3B0aW9u IG11bHRpcGxlIHRpbWVzPyBTbyB3ZSdkIHN0YXJ0IHdpdGggdGhlIGZ1bGwgbGlzdCBvZiBzdWJ0 ZXN0cywgYW5kIGVhY2ggLS1yIG9wdGlvbiB3b3VsZCBmaWx0ZXIgdGhlIGxpc3QgaW4gc29tZSB3 YXk/Cj4gPj4gCj4gPj4gQnkgLXIgSSBhc3N1bWUgeW91IG1lYW4gLS1ydW4tc3VidGVzdD8gUnVu bmluZyBhIHRlc3Qgd2l0aCAtciA8c3VidGVzdD4ganVzdCBwcmludHMgdGhlIHVzYWdlIG9wdGlv bnMgYXQgdGhlIG1vbWVudC4KPiA+Cj4gPi0tciBub3QgLXIgOykKPiA+Cj4gPj4gQWxsb3dpbmcg aXQgdG8gYmUgYWRkZWQgbXVsdGlwbGUgdGltZXMgY291bGQgYmUgYSB3YXkgb2YgYnVpbGRpbmcg dXAgYSBsaXN0IG9mIHN1YnRlc3RzIHRvIHJ1biwgYnV0IGEgY29tcGxldGVseSBuZXcgY29tbWFu ZCBsaW5lIG9wdGlvbiB3b3VsZCBuZWVkIHRvIHRoZW4gYmUgYWRkZWQgKC0tc2tpcC1zdWJ0ZXN0 PykgdG8gYWxsb3cgYnVpbGRpbmcgdXAgYSBsaXN0IG9mIHN1YnRlc3RzIHRvIGJlIHNraXBwZWQu Cj4gPgo+ID5PciBjb3VsZCBiZSBzb21ldGhpbmcgbGlrZSAtLXIgIXN1YnRlc3QtbmFtZQo+ID4K PiA+PiBXaXRoIG15IGNoYW5nZSBhcyBpcywgaXQgYWxsb3dzIGEgc3RyaW5nIHRvIGJlIHBhc3Nl ZCB0byB0aGUgdGVzdCB3aGljaCBkZXRhaWxzIHdoaWNoIHN1YnRlc3RzIHNob3VsZCBiZSBydW4u IElmIGEgbmV3IHBhcmFtZXRlciBzdWNoIGFzIC0tc2tpcC1zdWJ0ZXN0IGlzIGFkZGVkIHRoZW4g aXQgd291bGQgcmVxdWlyZSBrbm93bGVkZ2Ugb2Ygd2hldGhlciB0aGUgc3RyaW5nIGNvbnRhaW5z IHN1YnRlc3RzIHRvIHJ1biBvciBub3QgdG8gcnVuLiBUaGF0IHdvdWxkIGNvbXBsaWNhdGUgYW55 IHNjcmlwdHMgdGhhdCB1c2UgdGhpcyB0byBhdXRvbWF0ZSB0ZXN0aW5nLgo+ID4+IEFsbG93aW5n IC0tcnVuLXN1YnRlc3QgKGFuZCAtLXNraXAtc3VidGVzdCkgdG8gYmUgc3BlY2lmaWVkIG11bHRp cGxlIHRpbWVzIHdpbGwgYWxzbyBjb21wbGljYXRlIHRoZSBjb2RlIGluIGlndF9jb3JlLmMuIEN1 cnJlbnRseSB0aGVyZSBpcyBhIHNpbXBsZSBjYWxsIHRvIHN0cmR1cCgpLiBJZiAtLXJ1bi1zdWJ0 ZXN0IGNhbiBiZSBzcGVjaWZpZWQgbXVsdGlwbGUgdGltZXMgdGhlIGNvZGUgd2lsbCBoYXZlIHRv IGRlYWwgd2l0aCBjb25jYXRlbmF0aW5nIHN0cmluZ3MgYW5kIGFueSBtZW1vcnkgcmVhbGxvY2F0 aW9uIHRoYXQgbmVlZHMuIEFsc28gaG93IHRvIGRlYWwgd2l0aCB0aGUgcG9zc2liaWxpdHkgb2Yg bXVsdGlwbGUgd2lsZGNhcmQgZXhwcmVzc2lvbnM/Cj4gPgo+ID5IbW0uIEkgc3VwcG9vc2UgbXkg b3JpZ2luYWwgaWRlYSBvZiBzdGFydCB3aXRoIGZ1bGwgbGlzdCBhbmQgZmlsdGVyIHN0dWZmIG91 dCBkb2Vzbid0IHdvcmsgZW50aXJlbHkgd2VsbC4gRWcuIC0tciBmb28gLS1yIGJhciB3b3VsZCBy dW4gbm90aGluZy4gU28gSSBndWVzcyB0aGUgb3B0aW9uIHdvdWxkIGhhdmUgdG8gYmUgYWJsZSB0 byBhZGQgdG8gdGhlIGxpc3QgYXMgd2VsbC4KPiA+Cj4gPlNvIEkgZ3Vlc3Mgd2UgY291bGQgbWFr ZSBpdCBzbyB0aGF0ICchJyByZW1vdmVzIHRoZSBzcGVjaWZpZWQgdGVzdChzKSwgbm8tJyEnIGFk ZHMgdGhlbSwgYW5kIGlmIHRoaXMgaXMgdGhlIGZpcnN0IC0tciBvcHRpb24gYW5kIHRoZXJlJ3Mg bm8gJyEnIHdlJ2QgY2xlYXIgdGhlIGxpc3QgZW50aXJlbHkgYmVmb3JlIGFkZGluZyB0aGUgc3Bl Y2lmaWVkIHRlc3QocykgdG8gaXQuCj4gPgo+ID4+IAo+ID4+IEkgdGhpbmsgdGhhdCB3aWxsIGp1 c3QgZW5kIHVwIG1vcmUgY29tcGxpY2F0ZWQgdGhhbiB0aGUgc2ltcGxlIHNlcGFyYXRlZCBsaXN0 IHNvbHV0aW9uIHRoaXMgcGF0Y2ggaW50cm9kdWNlcy4KPiA+Cj4gPkkgc3VwcG9zZS4gQnV0IGl0 IHdvdWxkIGF2b2lkIGFkZGluZyBhIG5ldyBsYW5ndWFnZSB3aGljaCBjYW4gbG9vayBhIGJpdCBs aWtlIGEgd2VpcmQgcmVnZXhwIGJ1dCBpc24ndC4KPiA+Cj4gPk1heWJlIGlmIHlvdSBqdXN0IHVz ZSAnLCcgdG8gc2VwYXJhdGUgdGhlIHN1YnRlc3RzIHNwZWNpZmljYXRpb25zLCBhbmQgJyEnIHRv IHNwZWNpZnkgdGhlIG5vdCBjb25kaXRpb24gdGhpbmdzIHdvdWxkIGxvb2sgYSBiaXQgbW9yZSBz dGFuZGFyZGlzaC4KPiAKPiBJIGNhbid0IHVzZSAhIGFzIHRoZSBzaGVsbCB1c2VzIGl0IGZvciBz b21lIGNvbW1hbmQgaGlzdG9yeSBzdWJzdGl0dXRpb24uIFRoYXQgaXMgd2h5IEkgY2hvc2UgXi4g VGhlcmUgYXJlIHZlcnkgZmV3IHNwZWNpYWwgY2hhcmFjdGVyIHRoZSBzaGVsbCBkb2VzIG5vdCBt ZXNzIHVwIDotKC4KCkEgYnVuY2ggb2Ygc3R1ZmYgdXNlcyAhIChlZy4gdGVzdCwgZmluZCwgZXRj LikuIFRoZSBzaGVsbCB3b24ndCBlYXQgaXQgaWYKdGhlcmUncyBhIHNwYWNlIGFmdGVyIGl0LCBv ciB5b3UgY291bGQgYWx3YXlzIGVzY2FwZSBpdC4gZ2V0b3B0IGRvZXNuJ3QKc3VwcG9ydCBpdCBu YXRpdmVseSBob3dldmVyIHNvIGl0IGNvdWxkIGEgcGFpbiB0byB1c2UgdGhlIHNwYWNlIHRyaWNr LgoKPiAKPiBIb3cgYWJvdXQgdGhlIGZvbGxvd2luZzoKPiAKPiBDb21tYSBzZXBhcmF0ZWQgbGlz dCBvZiBzdWJ0ZXN0cyB0byBzcGVjaWZ5IGEgbGlzdCBvZiBzdWJ0ZXN0cyB0byBydW4uCj4gUHJl cGVuZCBeIHRvIHRoZSBsaXN0IHRvIHNwZWNpZnkgYSBsaXN0IG9mIHN1YnRlc3RzIHRvIGV4Y2x1 ZGUuCj4gCj4gSSB3b3VsZCB0aGVuIGhhdmUgdG8gdXNlIHN0cnN0ciB0byBsb29rIGZvciBhIGNv bW1hIGluIHdoYXQgaXMgc3BlY2lmaWVkIHRvIC0tcnVuLXN1YnRlc3RzLiBJcyB0aGVyZSBhbnkg cmlzayBvZiBhIGNvbW1hIGluIGEgd2lsZGNhcmQgZXhwcmVzc2lvbj8gSSBmb3VuZCBzb21lIGNv ZGUgZm9yIGZubWF0Y2ggd2l0aCBnb29nbGUgYW5kIGl0IGxvb2tzIGxpa2UgaXQgaXMgc2ltcGx5 ID8qW10tIHdoaWNoIGlzIHRyZWF0ZWQgYXMgc3BlY2lhbCBjaGFyYWN0ZXJzLgo+IAo+IC8vRGVy ZWsgCj4gCj4gPgo+ID4+IAo+ID4+IC8vRGVyZWsKPiA+PiAKPiA+PiA+Cj4gPj4gPj4gCj4gPj4g Pj4gQW55IHN1YnRlc3Qgc3RyaW5nIG5vdCBzdGFydGluZyA6IG9yIF4gaXMgdHJlYXRlZCBhcyBh IG5vcm1hbCAKPiA+PiA+PiB3aWxkY2FyZCBleHByZXNzaW9uLgo+ID4+ID4+IAo+ID4+ID4+IFRo aXMgaXMgcmVxdWlyZWQgbWFpbmx5IG9uIGFuZHJvaWQgdG8gZXhjbHVkZSBzdWJ0ZXN0cyB0aGF0 IHRlc3QgCj4gPj4gPj4gZmVhdHVyZXMgdGhhdCBkbyBub3QgZXhpc3QgaW4gdGhlIGFuZHJvaWQg ZHJpdmVyIHdoaWxlIHN0aWxsIGJlaW5nIAo+ID4+ID4+IGFibGUgdG8gcnVuIG90aGVyIHN1YnRl c3RzIGluIHRoZSBiaW5hcnkgd2hlbiBhIHdpbGRjYXJkIGV4cHJlc3Npb24gCj4gPj4gPj4gaXMg aW5zdWZmaWNpZW50Lgo+ID4+ID4+IAo+ID4+ID4+IFNpZ25lZC1vZmYtYnk6IERlcmVrIE1vcnRv biA8ZGVyZWsuai5tb3J0b25AaW50ZWwuY29tPgo+ID4+ID4+IC0tLQo+ID4+ID4+ICBsaWIvaWd0 X2NvcmUuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ ID4+ID4+ICAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK PiA+PiA+PiAKPiA+PiA+PiBkaWZmIC0tZ2l0IGEvbGliL2lndF9jb3JlLmMgYi9saWIvaWd0X2Nv cmUuYyBpbmRleCA2YjY5YmI3Li5iOWU3NDcwCj4gPj4gPj4gMTAwNjQ0Cj4gPj4gPj4gLS0tIGEv bGliL2lndF9jb3JlLmMKPiA+PiA+PiArKysgYi9saWIvaWd0X2NvcmUuYwo+ID4+ID4+IEBAIC0y MDcsNyArMjA3LDE1IEBACj4gPj4gPj4gICAqIFRvIGRvIHRoYXQgb2J0YWluIHRoZSBsaXN0cyBv ZiBzdWJ0ZXN0cyB3aXRoICItLWxpc3Qtc3VidGVzdHMiLCB3aGljaCBjYW4gYmUKPiA+PiA+PiAg ICogcnVuIGFzIG5vbi1yb290IGFuZCBkb2Vzbid0IHJlcXVpcmUgdGhlIGk5MTUgZHJpdmVyIHRv IGJlIGxvYWRlZCAob3IgYW55Cj4gPj4gPj4gICAqIGludGVsIGdwdSB0byBiZSBwcmVzZW50KS4g VGhlbiBpbmRpdmlkdWFsIHN1YnRlc3RzIGNhbiBiZSBydW4gCj4gPj4gPj4gd2l0aAo+ID4+ID4+ IC0gKiAiLS1ydW4tc3VidGVzdCIuIFVzYWdlIGhlbHAgZm9yIHRlc3RzIHdpdGggc3VidGVzdHMg Y2FuIGJlIAo+ID4+ID4+IG9idGFpbmVkIHdpdGggdGhlCj4gPj4gPj4gKyAqICItLXJ1bi1zdWJ0 ZXN0Ii4gLS1ydW4tc3VidGVzdCBhY2NlcHRzIHdpbGRjYXJkIGNoYXJhY3RlcnMuIEEgCj4gPj4g Pj4gKyBsaXN0IG9mCj4gPj4gPj4gKyAqIHN1YnRlc3RzIHRvIHJ1biBtYXkgYmUgc3BlY2lmaWVk IGJ5IHVzaW5nIDogYXMgYSBzZXBlcmF0b3IuIEEgCj4gPj4gPj4gKyBsaXN0IG9mCj4gPj4gPj4g KyAqIHN1YnRlc3RzIHRvIGV4Y2x1ZGUgbWF5IGJlIHNwZWNpZmllZCB1c2luZyBeIGFzIGEgc2Vw ZXJhdG9yLgo+ID4+ID4+ICsgKgo+ID4+ID4+ICsgKiAtIC0tcnVuLXN1YnRlc3QgYmFzaWMqIHdp bGwgcnVuIGFsbCBzdWJ0ZXN0cyBzdGFydGluZyBiYXNpYy4KPiA+PiA+PiArICogLSAtLXJ1bi1z dWJ0ZXN0IDpzdWJ0ZXN0MTpzdWJ0ZXN0Mjogd2lsbCBydW4gb25seSBzdWJ0ZXN0MSBhbmQKPiA+ PiA+PiArIHN1YnRlc3QyCj4gPj4gPj4gKyAqIC0gLS1ydW4tc3VidGVzdCBec3VidGVzdDFec3Vi dGVzdDJeIHdpbGwgcnVuIGFsbCBleGNlcHQgCj4gPj4gPj4gKyBzdWJ0ZXN0MSBhbmQgc3VidGVz dDIKPiA+PiA+PiArICoKPiA+PiA+PiArICogVXNhZ2UgaGVscCBmb3IgdGVzdHMgd2l0aCBzdWJ0 ZXN0cyBjYW4gYmUgb2J0YWluZWQgd2l0aCB0aGUKPiA+PiA+PiAgICogIi0taGVscCIgY29tbWFu ZCBsaW5lIG9wdGlvbi4KPiA+PiA+PiAgICovCj4gPj4gPj4gIAo+ID4+ID4+IEBAIC03ODYsNiAr Nzk0LDM1IEBAIHZvaWQgaWd0X3NpbXBsZV9pbml0X3BhcnNlX29wdHMoaW50ICphcmdjLCBjaGFy ICoqYXJndiwKPiA+PiA+PiAgCQkgICAgZXh0cmFfb3B0X2hhbmRsZXIsIGhhbmRsZXJfZGF0YSk7 ICB9Cj4gPj4gPj4gIAo+ID4+ID4+ICtzdGF0aWMgYm9vbCBjaGVja190ZXN0bGlzdChjb25zdCBj aGFyICpzdWJ0ZXN0X25hbWUpIHsKPiA+PiA+PiArCWNoYXIgKnA7Cj4gPj4gPj4gKwo+ID4+ID4+ ICsJLyogUnVuIHN1YnRlc3RzIGluIGxpc3QKPiA+PiA+PiArCSAqIExvb2sgZm9yIHN1YnRlc3Rf bmFtZSBpbiBsaXN0IG9mIGZvcm0gOnN1YnRlc3QxOnN1YnRlc3QyOnN1YnRlc3QzOgo+ID4+ID4+ ICsJICogcmV0dXJuIHRydWUgaWYgZm91bmQuCj4gPj4gPj4gKwkgKi8KPiA+PiA+PiArCWlmIChy dW5fc2luZ2xlX3N1YnRlc3RbMF0gPT0gJzonKSB7Cj4gPj4gPj4gKwkJcCA9IHN0cnN0cihydW5f c2luZ2xlX3N1YnRlc3QsIHN1YnRlc3RfbmFtZSk7Cj4gPj4gPj4gKwkJaWYgKChwKSAmJiAoKihw LTEpID09ICc6JykgJiYgKCoocCtzdHJsZW4oc3VidGVzdF9uYW1lKSkgPT0gJzonICkpCj4gPj4g Pj4gKwkJCXJldHVybiB0cnVlOwo+ID4+ID4+ICsJfQo+ID4+ID4+ICsJLyogUnVuIHN1YnRlc3Rz IG5vdCBpbiBsaXN0Cj4gPj4gPj4gKwkgKiBMb29rIGZvciBzdWJ0ZXN0X25hbWUgaW4gbGlzdCBv ZiBmb3JtIF50ZXN0MV5zdWJ0ZXN0Ml5zdWJ0ZXN0M14KPiA+PiA+PiArCSAqIHJldHVybiB0cnVl IGlmIG5vdCBmb3VuZC4KPiA+PiA+PiArCSAqLwo+ID4+ID4+ICsJZWxzZSBpZiAocnVuX3Npbmds ZV9zdWJ0ZXN0WzBdID09ICdeJykgewo+ID4+ID4+ICsJCXAgPSBzdHJzdHIocnVuX3NpbmdsZV9z dWJ0ZXN0LCBzdWJ0ZXN0X25hbWUpOwo+ID4+ID4+ICsJCWlmICghKChwKSAmJiAoKihwLTEpID09 ICdeJykgJiYgKCoocCtzdHJsZW4oc3VidGVzdF9uYW1lKSkgPT0gJ14nICkpKQo+ID4+ID4+ICsJ CQlyZXR1cm4gdHJ1ZTsKPiA+PiA+PiArCX0KPiA+PiA+PiArCS8qIFJ1biBzdWJ0ZXN0cyB0aGF0 IG1hdGNoIHNoZWxsIHdpbGRjYXJkICovCj4gPj4gPj4gKwllbHNlIGlmIChmbm1hdGNoKHJ1bl9z aW5nbGVfc3VidGVzdCwgc3VidGVzdF9uYW1lLCAwKSA9PSAwKQo+ID4+ID4+ICsJCXJldHVybiB0 cnVlOwo+ID4+ID4+ICsKPiA+PiA+PiArCXJldHVybiBmYWxzZTsKPiA+PiA+PiArfQo+ID4+ID4+ ICsKPiA+PiA+PiAgLyoKPiA+PiA+PiAgICogTm90ZTogVGVzdGNhc2VzIHdoaWNoIHVzZSB0aGVz ZSBoZWxwZXJzIE1VU1QgTk9UIG91dHB1dCBhbnl0aGluZyB0byBzdGRvdXQKPiA+PiA+PiAgICog b3V0c2lkZSBvZiBwbGFjZXMgcHJvdGVjdGVkIGJ5IGlndF9ydW5fc3VidGVzdCBjaGVja3MgLSB0 aGUgCj4gPj4gPj4gcGlnbGl0IEBAIC04MTQsNyArODUxLDggQEAgYm9vbCBfX2lndF9ydW5fc3Vi dGVzdChjb25zdCBjaGFyICpzdWJ0ZXN0X25hbWUpCj4gPj4gPj4gIAl9Cj4gPj4gPj4gIAo+ID4+ ID4+ICAJaWYgKHJ1bl9zaW5nbGVfc3VidGVzdCkgewo+ID4+ID4+IC0JCWlmIChmbm1hdGNoKHJ1 bl9zaW5nbGVfc3VidGVzdCwgc3VidGVzdF9uYW1lLCAwKSAhPSAwKQo+ID4+ID4+ICsKPiA+PiA+ PiArCQlpZiAoY2hlY2tfdGVzdGxpc3Qoc3VidGVzdF9uYW1lKSA9PSBmYWxzZSkKPiA+PiA+PiAg CQkJcmV0dXJuIGZhbHNlOwo+ID4+ID4+ICAJCWVsc2UKPiA+PiA+PiAgCQkJcnVuX3NpbmdsZV9z dWJ0ZXN0X2ZvdW5kID0gdHJ1ZTsKPiA+PiA+PiAtLQo+ID4+ID4+IDEuOS4xCj4gPj4gPj4gCj4g Pj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ PiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4gPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+ID4+ID4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngKPiA+PiA+Cj4gPj4gPi0tCj4gPj4gPlZpbGxlIFN5cmrDpGzDpAo+ ID4+ID5JbnRlbCBPVEMKPiA+PiA+Cj4gPgo+ID4tLQo+ID5WaWxsZSBTeXJqw6Rsw6QKPiA+SW50 ZWwgT1RDCj4gPgoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK