From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2A97A89ECD for ; Fri, 16 Aug 2019 09:34:36 +0000 (UTC) From: Petri Latvala Date: Fri, 16 Aug 2019 12:34:25 +0300 Message-Id: <20190816093426.10644-10-petri.latvala@intel.com> In-Reply-To: <20190816093426.10644-1-petri.latvala@intel.com> References: <20190816093426.10644-1-petri.latvala@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 09/10] perf_pmu: Use dynamic subtests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Petri Latvala List-ID: SW5zdGVhZCBvZiBnZW5lcmF0aW5nIGEgc3VidGVzdCBmb3IgZWFjaCBlbmdpbmUgaW4gYSBzdGF0 aWMgbGlzdCwKY29udmVydCB0byBkeW5hbWljIHN1YnRlc3RzLCB3aXRoIG9uZSBkeW5hbWljIHN1 YnRlc3QgcGVyIGFjdHVhbGx5CnByZXNlbnQgcGh5c2ljYWwgZW5naW5lLgoKSW4gYWRkaXRpb24s IGNvbnZlcnQgY29tbWVudHMgdG8gaWd0X2Rlc2NyaWJlIGNhbGxzLgoKU2lnbmVkLW9mZi1ieTog UGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBpbnRlbC5jb20+Ci0tLQogdGVzdHMvcGVyZl9w bXUuYyB8IDIzOSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAxMzYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvdGVzdHMvcGVyZl9wbXUuYyBiL3Rlc3RzL3BlcmZfcG11LmMKaW5kZXggZDM5 MmE2N2QuLjljMzhlNjc1IDEwMDY0NAotLS0gYS90ZXN0cy9wZXJmX3BtdS5jCisrKyBiL3Rlc3Rz L3BlcmZfcG11LmMKQEAgLTI2Nyw3ICsyNjcsNyBAQCBzdGF0aWMgdm9pZCBlbmRfc3BpbihpbnQg ZmQsIGlndF9zcGluX3QgKnNwaW4sIHVuc2lnbmVkIGludCBmbGFncykKIH0KIAogc3RhdGljIHZv aWQKLXNpbmdsZShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2lu ZTIgKmUsIHVuc2lnbmVkIGludCBmbGFncykKK3NpbmdsZShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1 Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsIHVuc2lnbmVkIGludCBudW1fZW5naW5lcywg dW5zaWduZWQgaW50IGZsYWdzKQogewogCXVuc2lnbmVkIGxvbmcgc2xlcHQ7CiAJaWd0X3NwaW5f dCAqc3BpbjsKQEAgLTYwMyw3ICs2MDMsNyBAQCBhbGxfYnVzeV9jaGVja19hbGwoaW50IGdlbV9m ZCwgY29uc3QgdW5zaWduZWQgaW50IG51bV9lbmdpbmVzLAogfQogCiBzdGF0aWMgdm9pZAotbm9f c2VtYShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUs IHVuc2lnbmVkIGludCBmbGFncykKK25vX3NlbWEoaW50IGdlbV9mZCwgY29uc3Qgc3RydWN0IGlu dGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLCB1bnNpZ25lZCBpbnQgbnVtX2VuZ2luZXMsIHVuc2ln bmVkIGludCBmbGFncykKIHsKIAlpZ3Rfc3Bpbl90ICpzcGluOwogCXVpbnQ2NF90IHZhbFsyXVsy XTsKQEAgLTY0Myw3ICs2NDMsNyBAQCBub19zZW1hKGludCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBp bnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwgdW5zaWduZWQgaW50IGZsYWdzKQogCiBzdGF0aWMg dm9pZAogc2VtYV93YWl0KGludCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25f ZW5naW5lMiAqZSwKLQkgIHVuc2lnbmVkIGludCBmbGFncykKKwkgIHVuc2lnbmVkIGludCBudW1f ZW5naW5lcywgdW5zaWduZWQgaW50IGZsYWdzKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVs b2NhdGlvbl9lbnRyeSByZWxvY1syXSA9IHt9OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19v YmplY3QyIG9ialsyXSA9IHt9OwpAQCAtMTY3OSw2ICsxNjc5LDI2IEBAIGlndF9tYWluCiAJaW50 IGZkID0gLTE7CiAJc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCXVuc2lnbmVk IGludCBpOworCWNvbnN0IHVuc2lnbmVkIGludCBwY3RbXSA9IHsgMiwgNTAsIDk4IH07CisJc3Ry dWN0IHsKKwkJdm9pZCAoKmZ1bmMpKGludCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9l bmdpbmUyICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KTsKKwkJY29uc3QgY2hhciAqbmFt ZTsKKwkJdW5zaWduZWQgaW50IGZsYWdzOworCQljb25zdCBjaGFyICpkZXNjOworCX0gYnVzeWlk bGVfdGVzdHNbXSA9IHsKKwkJeyBzaW5nbGUsICJpZGxlIiwgMCwgIlRlc3QgdGhhdCBlbmdpbmVz IHNob3cgbm8gbG9hZCB3aGVuIGlkbGUuIiB9LAorCQl7IHNpbmdsZSwgImJ1c3kiLCBURVNUX0JV U1ksICJUZXN0IHRoYXQgYSBzaW5nbGUgZW5naW5lIHJlcG9ydHMgbG9hZCBjb3JyZWN0bHkuIiB9 LAorCQl7IHNpbmdsZSwgImJ1c3ktaWRsZSIsIFRFU1RfQlVTWSB8IFRFU1RfVFJBSUxJTkdfSURM RSwgIlRlc3QgdGhhdCBhIHNpbmdsZSBlbmdpbmUgcmVwb3J0cyBsb2FkIGNvcnJlY3RseS4iIH0s CisJCXsgYnVzeV9jaGVja19hbGwsICJidXN5LWNoZWNrLWFsbCIsIFRFU1RfQlVTWSwgIlRlc3Qg dGhhdCB3aGVuIG9uZSBlbmdpbmUgaXMgbG9hZGVkLCBvdGhlcnMgcmVwb3J0IG5vIGxvYWQuIiB9 LAorCQl7IGJ1c3lfY2hlY2tfYWxsLCAiYnVzeS1pZGxlLWNoZWNrLWFsbCIsIFRFU1RfQlVTWSB8 IFRFU1RfVFJBSUxJTkdfSURMRSwgIlRlc3QgdGhhdCBvbmUgb25lIGVuZ2luZSBpcyBsb2FkZWQs IG90aGVycyByZXBvcnQgbm8gbG9hZC4iIH0sCisJCXsgbW9zdF9idXN5X2NoZWNrX2FsbCwgIm1v c3QtYnVzeS1jaGVjay1hbGwiLCBURVNUX0JVU1ksICJUZXN0IHRoYXQgd2hlbiBhbGwgZXhjZXB0 IG9uZSBlbmdpbmUgYXJlIGxvYWRlZCBhbGwgbG9hZHMgYXJlIGNvcnJlY3RseSByZXBvcnRlZC4i IH0sCisJCXsgbW9zdF9idXN5X2NoZWNrX2FsbCwgIm1vc3QtYnVzeS1pZGxlLWNoZWNrLWFsbCIs IFRFU1RfQlVTWSB8IFRFU1RfVFJBSUxJTkdfSURMRSwgIlRlc3QgdGhhdCB3aGVuIGFsbCBleGNl cHQgb25lIGVuZ2luZSBhcmUgbG9hZGVkIGFsbCBsb2FkcyBhcmUgY29ycmVjdGx5IHJlcG9ydGVk LiIgfSwKKwkJeyBub19zZW1hLCAiaWRsZS1uby1zZW1hcGhvcmVzIiwgMCwgIlRlc3QgdGhhdCBz ZW1hcGhvcmUgY291bnRlcnMgcmVwb3J0IG5vIGFjdGl2aXR5IG9uIGlkbGUgZW5naW5lcy4iIH0s CisJCXsgbm9fc2VtYSwgImJ1c3ktbm8tc2VtYXBob3JlcyIsIFRFU1RfQlVTWSwgIlRlc3QgdGhh dCBzZW1hcGhvcmUgY291bnRlcnMgcmVwb3J0IG5vIGFjdGl2aXR5IG9uIGJ1c3kgZW5naW5lcy4i IH0sCisJCXsgbm9fc2VtYSwgImJ1c3ktaWRsZS1uby1zZW1hcGhvcmVzIiwgVEVTVF9CVVNZIHwg VEVTVF9UUkFJTElOR19JRExFLCAiVGVzdCB0aGF0IHNlbWFwaG9yZSBjb3VudGVycyByZXBvcnQg bm8gYWN0aXZpdHkgb24gaWRsZSBvciBidXN5IGVuZ2luZXMuIiB9LAorCQl7IHNlbWFfd2FpdCwg InNlbWFwaG9yZS13YWl0IiwgVEVTVF9CVVNZLCAiVGVzdCB0aGF0IHNlbWFwaG9yZSB3YWl0cyBh cmUgY29ycmVjdGx5IHJlcG9ydGVkLiIgfSwKKwkJeyBzZW1hX3dhaXQsICJzZW1hcGhvcmUtd2Fp dC1pZGxlIiwgVEVTVF9CVVNZIHwgVEVTVF9UUkFJTElOR19JRExFLCAiVGVzdCB0aGF0IHNlbWFw aG9yZSB3YWl0cyBhcmUgY29ycmVjdGx5IHJlcG9ydGVkLiIgfSwKKwl9OwogCiAJaWd0X2ZpeHR1 cmUgewogCQlmZCA9IGRybV9vcGVuX2RyaXZlcl9tYXN0ZXIoRFJJVkVSX0lOVEVMKTsKQEAgLTE2 OTAsMTQxICsxNzEwLDg5IEBAIGlndF9tYWluCiAJCQludW1fZW5naW5lcysrOwogCX0KIAotCS8q KgotCSAqIFRlc3QgaW52YWxpZCBhY2Nlc3MgdmlhIHBlcmYgQVBJIGlzIHJlamVjdGVkLgotCSAq LworCWlndF9kZXNjcmliZSgiVGVzdCB0aGF0IGludmFsaWQgYWNjZXNzIHZpYSBwZXJmIEFQSSBp cyByZWplY3RlZC4iKTsKIAlpZ3Rfc3VidGVzdCgiaW52YWxpZC1pbml0IikKIAkJaW52YWxpZF9p bml0KCk7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewotCQljb25zdCB1 bnNpZ25lZCBpbnQgcGN0W10gPSB7IDIsIDUwLCA5OCB9OwotCi0JCS8qKgotCQkgKiBUZXN0IHRo YXQgYSBzaW5nbGUgZW5naW5lIG1ldHJpYyBjYW4gYmUgaW5pdGlhbGl6ZWQgb3IgaXQKLQkJICog aXMgY29ycmVjdGx5IHJlamVjdGVkLgotCQkgKi8KLQkJaWd0X3N1YnRlc3RfZigiaW5pdC1idXN5 LSVzIiwgZS0+bmFtZSkKLQkJCWluaXQoZmQsIGUsIEk5MTVfU0FNUExFX0JVU1kpOwotCi0JCWln dF9zdWJ0ZXN0X2YoImluaXQtd2FpdC0lcyIsIGUtPm5hbWUpCi0JCQlpbml0KGZkLCBlLCBJOTE1 X1NBTVBMRV9XQUlUKTsKLQotCQlpZ3Rfc3VidGVzdF9mKCJpbml0LXNlbWEtJXMiLCBlLT5uYW1l KQotCQkJaW5pdChmZCwgZSwgSTkxNV9TQU1QTEVfU0VNQSk7Ci0KLQkJLyoqCi0JCSAqIFRlc3Qg dGhhdCBlbmdpbmVzIHNob3cgbm8gbG9hZCB3aGVuIGlkbGUuCi0JCSAqLwotCQlpZ3Rfc3VidGVz dF9mKCJpZGxlLSVzIiwgZS0+bmFtZSkKLQkJCXNpbmdsZShmZCwgZSwgMCk7Ci0KLQkJLyoqCi0J CSAqIFRlc3QgdGhhdCBhIHNpbmdsZSBlbmdpbmUgcmVwb3J0cyBsb2FkIGNvcnJlY3RseS4KLQkJ ICovCi0JCWlndF9zdWJ0ZXN0X2YoImJ1c3ktJXMiLCBlLT5uYW1lKQotCQkJc2luZ2xlKGZkLCBl LCBURVNUX0JVU1kpOwotCQlpZ3Rfc3VidGVzdF9mKCJidXN5LWlkbGUtJXMiLCBlLT5uYW1lKQot CQkJc2luZ2xlKGZkLCBlLCBURVNUX0JVU1kgfCBURVNUX1RSQUlMSU5HX0lETEUpOwotCi0JCS8q KgotCQkgKiBUZXN0IHRoYXQgd2hlbiBvbmUgZW5naW5lIGlzIGxvYWRlZCBvdGhlciByZXBvcnQg bm8KLQkJICogbG9hZC4KLQkJICovCi0JCWlndF9zdWJ0ZXN0X2YoImJ1c3ktY2hlY2stYWxsLSVz IiwgZS0+bmFtZSkKLQkJCWJ1c3lfY2hlY2tfYWxsKGZkLCBlLCBudW1fZW5naW5lcywgVEVTVF9C VVNZKTsKLQkJaWd0X3N1YnRlc3RfZigiYnVzeS1pZGxlLWNoZWNrLWFsbC0lcyIsIGUtPm5hbWUp Ci0JCQlidXN5X2NoZWNrX2FsbChmZCwgZSwgbnVtX2VuZ2luZXMsCi0JCQkJICAgICAgIFRFU1Rf QlVTWSB8IFRFU1RfVFJBSUxJTkdfSURMRSk7Ci0KLQkJLyoqCi0JCSAqIFRlc3QgdGhhdCB3aGVu IGFsbCBleGNlcHQgb25lIGVuZ2luZSBhcmUgbG9hZGVkIGFsbAotCQkgKiBsb2FkcyBhcmUgY29y cmVjdGx5IHJlcG9ydGVkLgotCQkgKi8KLQkJaWd0X3N1YnRlc3RfZigibW9zdC1idXN5LWNoZWNr LWFsbC0lcyIsIGUtPm5hbWUpCi0JCQltb3N0X2J1c3lfY2hlY2tfYWxsKGZkLCBlLCBudW1fZW5n aW5lcywKLQkJCQkJICAgIFRFU1RfQlVTWSk7Ci0JCWlndF9zdWJ0ZXN0X2YoIm1vc3QtYnVzeS1p ZGxlLWNoZWNrLWFsbC0lcyIsIGUtPm5hbWUpCi0JCQltb3N0X2J1c3lfY2hlY2tfYWxsKGZkLCBl LCBudW1fZW5naW5lcywKLQkJCQkJICAgIFRFU1RfQlVTWSB8Ci0JCQkJCSAgICBURVNUX1RSQUlM SU5HX0lETEUpOwotCi0JCS8qKgotCQkgKiBUZXN0IHRoYXQgc2VtcGhvcmUgY291bnRlcnMgcmVw b3J0IG5vIGFjdGl2aXR5IG9uCi0JCSAqIGlkbGUgb3IgYnVzeSBlbmdpbmVzLgotCQkgKi8KLQkJ aWd0X3N1YnRlc3RfZigiaWRsZS1uby1zZW1hcGhvcmVzLSVzIiwgZS0+bmFtZSkKLQkJCW5vX3Nl bWEoZmQsIGUsIDApOwotCi0JCWlndF9zdWJ0ZXN0X2YoImJ1c3ktbm8tc2VtYXBob3Jlcy0lcyIs IGUtPm5hbWUpCi0JCQlub19zZW1hKGZkLCBlLCBURVNUX0JVU1kpOwotCi0JCWlndF9zdWJ0ZXN0 X2YoImJ1c3ktaWRsZS1uby1zZW1hcGhvcmVzLSVzIiwgZS0+bmFtZSkKLQkJCW5vX3NlbWEoZmQs IGUsIFRFU1RfQlVTWSB8IFRFU1RfVFJBSUxJTkdfSURMRSk7Ci0KLQkJLyoqCi0JCSAqIFRlc3Qg dGhhdCBzZW1hcGhvcmUgd2FpdHMgYXJlIGNvcnJlY3RseSByZXBvcnRlZC4KLQkJICovCi0JCWln dF9zdWJ0ZXN0X2YoInNlbWFwaG9yZS13YWl0LSVzIiwgZS0+bmFtZSkKLQkJCXNlbWFfd2FpdChm ZCwgZSwgVEVTVF9CVVNZKTsKKwlpZ3RfZGVzY3JpYmUoIlRlc3QgdGhhdCBhIHNpbmdsZSBlbmdp bmUgbWV0cmljIGNhbiBiZSBpbml0aWFsaXplZCAiCisJCSAgICAgIm9yIGl0IGlzIGNvcnJlY3Rs eSByZWplY3RlZC4iKTsKKwlpZ3RfZHluYW1pY19zdWJ0ZXN0X2NvbnRhaW5lcigiaW5pdC1idXN5 IikKKwkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpCisJCQlpZ3RfZHluYW1pY19z dWJ0ZXN0X2YoIiVzIiwgZS0+bmFtZSkKKwkJCQlpbml0KGZkLCBlLCBJOTE1X1NBTVBMRV9CVVNZ KTsKIAotCQlpZ3Rfc3VidGVzdF9mKCJzZW1hcGhvcmUtd2FpdC1pZGxlLSVzIiwgZS0+bmFtZSkK LQkJCXNlbWFfd2FpdChmZCwgZSwKLQkJCQkgIFRFU1RfQlVTWSB8IFRFU1RfVFJBSUxJTkdfSURM RSk7CisJaWd0X2Rlc2NyaWJlKCJUZXN0IHRoYXQgYSBzaW5nbGUgZW5naW5lIG1ldHJpYyBjYW4g YmUgaW5pdGlhbGl6ZWQgIgorCQkgICAgICJvciBpdCBpcyBjb3JyZWN0bHkgcmVqZWN0ZWQuIik7 CisJaWd0X2R5bmFtaWNfc3VidGVzdF9jb250YWluZXIoImluaXQtd2FpdCIpCisJCV9fZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKQorCQkJaWd0X2R5bmFtaWNfc3VidGVzdF9mKCIlcyIs IGUtPm5hbWUpCisJCQkJaW5pdChmZCwgZSwgSTkxNV9TQU1QTEVfV0FJVCk7CiAKLQkJLyoqCi0J CSAqIENoZWNrIHRoYXQgdHdvIHBlcmYgY2xpZW50cyBkbyBub3QgaW5mbHVlbmNlIGVhY2gKLQkJ ICogb3RoZXJzIG9ic2VydmF0aW9ucy4KLQkJICovCi0JCWlndF9zdWJ0ZXN0X2YoIm11bHRpLWNs aWVudC0lcyIsIGUtPm5hbWUpCi0JCQltdWx0aV9jbGllbnQoZmQsIGUpOworCWlndF9kZXNjcmli ZSgiVGVzdCB0aGF0IGEgc2luZ2xlIGVuZ2luZSBtZXRyaWMgY2FuIGJlIGluaXRpYWxpemVkICIK KwkJICAgICAib3IgaXQgaXMgY29ycmVjdGx5IHJlamVjdGVkLiIpOworCWlndF9keW5hbWljX3N1 YnRlc3RfY29udGFpbmVyKCJpbml0LXNlbWEiKQorCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZSkKKwkJCWlndF9keW5hbWljX3N1YnRlc3RfZigiJXMiLCBlLT5uYW1lKQorCQkJCWlu aXQoZmQsIGUsIEk5MTVfU0FNUExFX1NFTUEpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ WkUoYnVzeWlkbGVfdGVzdHMpOyBpKyspIHsKKwkJaWd0X2Rlc2NyaWJlKGJ1c3lpZGxlX3Rlc3Rz W2ldLmRlc2MpOworCQlpZ3RfZHluYW1pY19zdWJ0ZXN0X2NvbnRhaW5lcihidXN5aWRsZV90ZXN0 c1tpXS5uYW1lKQorCQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpCisJCQkJaWd0 X2R5bmFtaWNfc3VidGVzdF9mKCIlcyIsIGUtPm5hbWUpCisJCQkJCWJ1c3lpZGxlX3Rlc3RzW2ld LmZ1bmMoZmQsIGUsIG51bV9lbmdpbmVzLCBidXN5aWRsZV90ZXN0c1tpXS5mbGFncyk7CisJfQog Ci0JCS8qKgotCQkgKiBDaGVjayB0aGF0IHJlcG9ydGVkIHVzYWdlIGlzIGNvcnJlY3Qgd2hlbiBQ TVUgaXMKLQkJICogZW5hYmxlZCBhZnRlciB0aGUgYmF0Y2ggaXMgcnVubmluZy4KLQkJICovCi0J CWlndF9zdWJ0ZXN0X2YoImJ1c3ktc3RhcnQtJXMiLCBlLT5uYW1lKQotCQkJYnVzeV9zdGFydChm ZCwgZSk7CisJaWd0X2Rlc2NyaWJlKCJDaGVjayB0aGF0IHR3byBwZXJmIGNsaWVudHMgZG8gbm90 IGluZmx1ZW5jZSBlYWNoIG90aGVyJ3Mgb2JzZXJ2YXRpb25zLiIpOworCWlndF9keW5hbWljX3N1 YnRlc3RfY29udGFpbmVyKCJtdWx0aS1jbGllbnQiKQorCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShmZCwgZSkKKwkJCWlndF9keW5hbWljX3N1YnRlc3RfZigiJXMiLCBlLT5uYW1lKQorCQkJ CW11bHRpX2NsaWVudChmZCwgZSk7CiAKLQkJLyoqCi0JCSAqIENoZWNrIHRoYXQgcmVwb3J0ZWQg dXNhZ2UgaXMgY29ycmVjdCB3aGVuIFBNVSBpcwotCQkgKiBlbmFibGVkIGFmdGVyIHR3byBiYXRj aGVzIGFyZSBydW5uaW5nLgotCQkgKi8KLQkJaWd0X3N1YnRlc3RfZigiYnVzeS1kb3VibGUtc3Rh cnQtJXMiLCBlLT5uYW1lKSB7Ci0JCQlnZW1fcmVxdWlyZV9jb250ZXh0cyhmZCk7Ci0JCQlidXN5 X2RvdWJsZV9zdGFydChmZCwgZSk7Ci0JCX0KKwlpZ3RfZGVzY3JpYmUoIkNoZWNrIHRoYXQgcmVw b3J0ZWQgdXNhZ2UgaXMgY29ycmVjdCB3aGVuIFBNVSBpcyBlbmFibGVkIGFmdGVyIHRoZSBiYXRj aCBpcyBydW5uaW5nLiIpOworCWlndF9keW5hbWljX3N1YnRlc3RfY29udGFpbmVyKCJidXN5LXN0 YXJ0IikKKwkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpCisJCQlpZ3RfZHluYW1p Y19zdWJ0ZXN0X2YoIiVzIiwgZS0+bmFtZSkKKwkJCQlidXN5X3N0YXJ0KGZkLCBlKTsKIAotCQkv KioKLQkJICogQ2hlY2sgdGhhdCB0aGUgUE1VIGNhbiBiZSBzYWZlbHkgZW5hYmxlZCBpbiBmYWNl IG9mCi0JCSAqIGludGVycnVwdC1oZWF2eSBlbmdpbmUgbG9hZC4KLQkJICovCi0JCWlndF9zdWJ0 ZXN0X2YoImVuYWJsZS1yYWNlLSVzIiwgZS0+bmFtZSkKLQkJCXRlc3RfZW5hYmxlX3JhY2UoZmQs IGUpOworCWlndF9kZXNjcmliZSgiQ2hlY2sgdGhhdCByZXBvcnRlZCB1c2FnZSBpcyBjb3JyZWN0 IHdoZW4gUE1VIGlzIGVuYWJsZWQgYWZ0ZXIgdHdvIGJhdGNoZXMgYXJlIHJ1bm5pbmcuIik7CisJ aWd0X2R5bmFtaWNfc3VidGVzdF9jb250YWluZXIoImJ1c3ktZG91YmxlLXN0YXJ0IikgeworCQln ZW1fcmVxdWlyZV9jb250ZXh0cyhmZCk7CisJCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZk LCBlKQorCQkJaWd0X2R5bmFtaWNfc3VidGVzdF9mKCIlcyIsIGUtPm5hbWUpCisJCQkJYnVzeV9k b3VibGVfc3RhcnQoZmQsIGUpOworCX0KIAotCQkvKioKLQkJICogQ2hlY2sgZW5naW5lIGJ1c3lu ZXNzIGFjY3VyYWN5IGlzIGFzIGV4cGVjdGVkLgotCQkgKi8KLQkJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUocGN0KTsgaSsrKSB7Ci0JCQlpZ3Rfc3VidGVzdF9mKCJidXN5LWFjY3VyYWN5LSV1 LSVzIiwKLQkJCQkgICAgICBwY3RbaV0sIGUtPm5hbWUpCi0JCQkJYWNjdXJhY3koZmQsIGUsIHBj dFtpXSwgMTApOwotCQl9CisJaWd0X2Rlc2NyaWJlKCJDaGVjayB0aGF0IHRoZSBQTVUgY2FuIGJl IHNhZmVseSBlbmFibGVkIGluIGZhY2Ugb2YgaW50ZXJydXB0LWhlYXZ5IGVuZ2luZSBsb2FkLiIp OworCWlndF9keW5hbWljX3N1YnRlc3RfY29udGFpbmVyKCJlbmFibGUtcmFjZSIpCisJCV9fZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKQorCQkJaWd0X2R5bmFtaWNfc3VidGVzdF9mKCIl cyIsIGUtPm5hbWUpCisJCQkJdGVzdF9lbmFibGVfcmFjZShmZCwgZSk7CisKKwlmb3IgKGkgPSAw OyBpIDwgQVJSQVlfU0laRShwY3QpOyBpKyspIHsKKwkJaWd0X2Rlc2NyaWJlKCJDaGVjayBlbmdp bmUgYnVzeW5lc3MgYWNjdXJhY3kgaXMgYXMgZXhwZWN0ZWQuIik7CisJCWlndF9keW5hbWljX3N1 YnRlc3RfY29udGFpbmVyX2YoImJ1c3ktYWNjdXJhY3ktJXUiLCBwY3RbaV0pCisJCQlfX2Zvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKKwkJCQlpZ3RfZHluYW1pY19zdWJ0ZXN0X2YoIiVz IiwgZS0+bmFtZSkKKwkJCQkJYWNjdXJhY3koZmQsIGUsIHBjdFtpXSwgMTApOworCX0KIAotCQlp Z3Rfc3VidGVzdF9mKCJidXN5LWhhbmctJXMiLCBlLT5uYW1lKSB7Ci0JCQlpZ3RfaGFuZ190IGhh bmcgPSBpZ3RfYWxsb3dfaGFuZyhmZCwgMCwgMCk7CisJaWd0X2R5bmFtaWNfc3VidGVzdF9jb250 YWluZXIoImJ1c3ktaGFuZyIpCisJCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKQor CQkJaWd0X2R5bmFtaWNfc3VidGVzdF9mKCIlcyIsIGUtPm5hbWUpIHsKKwkJCQlpZ3RfaGFuZ190 IGhhbmcgPSBpZ3RfYWxsb3dfaGFuZyhmZCwgMCwgMCk7CiAKLQkJCXNpbmdsZShmZCwgZSwgVEVT VF9CVVNZIHwgRkxBR19IQU5HKTsKKwkJCQlzaW5nbGUoZmQsIGUsIDAsIFRFU1RfQlVTWSB8IEZM QUdfSEFORyk7CiAKLQkJCWlndF9kaXNhbGxvd19oYW5nKGZkLCBoYW5nKTsKLQkJfQorCQkJCWln dF9kaXNhbGxvd19oYW5nKGZkLCBoYW5nKTsKKwkJCX0KIAotCQkvKioKLQkJICogVGVzdCB0aGF0 IGV2ZW50IHdhaXRzIGFyZSBjb3JyZWN0bHkgcmVwb3J0ZWQuCi0JCSAqLwotCQlpZiAoZS0+Y2xh c3MgPT0gSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSKQotCQkJaWd0X3N1YnRlc3RfZigiZXZlbnQt d2FpdC0lcyIsIGUtPm5hbWUpCi0JCQkJZXZlbnRfd2FpdChmZCwgZSk7Ci0JfQorCWlndF9kZXNj cmliZSgiVGVzdCB0aGF0IGV2ZW50IHdhaXRzIGFyZSBjb3JyZWN0bHkgcmVwb3J0ZWQuIik7CisJ aWd0X2R5bmFtaWNfc3VidGVzdF9jb250YWluZXIoImV2ZW50LXdhaXQiKQorCQlfX2Zvcl9lYWNo X3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKKwkJCWlmIChlLT5jbGFzcyA9PSBJOTE1X0VOR0lORV9D TEFTU19SRU5ERVIpCisJCQkJaWd0X2R5bmFtaWNfc3VidGVzdF9mKCIlcyIsIGUtPm5hbWUpCisJ CQkJCWV2ZW50X3dhaXQoZmQsIGUpOwogCiAJLyoqCiAJICogVGVzdCB0aGF0IHdoZW4gYWxsIGVu Z2luZXMgYXJlIGxvYWRlZCBhbGwgbG9hZHMgYXJlCkBAIC0xODgxLDkgKzE4NDksNyBAQCBpZ3Rf bWFpbgogCWlndF9zdWJ0ZXN0KCJyYzYtcnVudGltZS1wbS1sb25nIikKIAkJdGVzdF9yYzYoZmQs IFRFU1RfUlVOVElNRV9QTSB8IEZMQUdfTE9ORyk7CiAKLQkvKioKLQkgKiBDaGVjayByZW5kZXIg bm9kZXMgYXJlIGNvdW50ZWQuCi0JICovCisJaWd0X2Rlc2NyaWJlKCJDaGVjayB0aGF0IHJlbmRl ciBub2RlcyBhcmUgY291bnRlZC4iKTsKIAlpZ3Rfc3VidGVzdF9ncm91cCB7CiAJCWludCByZW5k ZXJfZmQgPSAtMTsKIApAQCAtMTg5NCwxNCArMTg2MCwxNSBAQCBpZ3RfbWFpbgogCQkJZ2VtX3F1 aWVzY2VudF9ncHUoZmQpOwogCQl9CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUocmVu ZGVyX2ZkLCBlKSB7Ci0JCQlpZ3Rfc3VidGVzdF9mKCJyZW5kZXItbm9kZS1idXN5LSVzIiwgZS0+ bmFtZSkKLQkJCQlzaW5nbGUocmVuZGVyX2ZkLCBlLCBURVNUX0JVU1kpOwotCQkJaWd0X3N1YnRl c3RfZigicmVuZGVyLW5vZGUtYnVzeS1pZGxlLSVzIiwKLQkJCQkgICAgICBlLT5uYW1lKQotCQkJ CXNpbmdsZShyZW5kZXJfZmQsIGUsCi0JCQkJICAgICAgIFRFU1RfQlVTWSB8IFRFU1RfVFJBSUxJ TkdfSURMRSk7Ci0JCX0KKwkJaWd0X2R5bmFtaWNfc3VidGVzdF9jb250YWluZXIoInJlbmRlci1u b2RlLWJ1c3kiKQorCQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUocmVuZGVyX2ZkLCBlKQor CQkJCWlndF9keW5hbWljX3N1YnRlc3RfZigiJXMiLCBlLT5uYW1lKQorCQkJCQlzaW5nbGUocmVu ZGVyX2ZkLCBlLCAwLCBURVNUX0JVU1kpOworCisJCWlndF9keW5hbWljX3N1YnRlc3RfY29udGFp bmVyKCJyZW5kZXItbm9kZS1idXN5LWlkbGUiKQorCQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUocmVuZGVyX2ZkLCBlKQorCQkJCWlndF9keW5hbWljX3N1YnRlc3RfZigiJXMiLCBlLT5uYW1l KQorCQkJCQlzaW5nbGUocmVuZGVyX2ZkLCBlLCAwLCBURVNUX0JVU1kgfCBURVNUX1RSQUlMSU5H X0lETEUpOwogCiAJCWlndF9maXh0dXJlIHsKIAkJCWNsb3NlKHJlbmRlcl9mZCk7Ci0tIAoyLjE5 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1k ZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==