From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: [PATCH i-g-t] Add dmesg capture and dumping to tests and a test for it. Date: Mon, 16 Nov 2015 15:22:23 +0200 Message-ID: <1447680143-11895-1-git-send-email-joonas.lahtinen@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id A1FE86E129 for ; Mon, 16 Nov 2015 05:23:24 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel graphics driver community testing & development Cc: Thomas Wood List-Id: intel-gfx@lists.freedesktop.org Q2M6IFRob21hcyBXb29kIDx0aG9tYXMud29vZEBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVz cGlhdUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxh aHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2NvcmUuYyAgICAgICAgIHwgMTEz ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIHRlc3Rz L01ha2VmaWxlLnNvdXJjZXMgfCAgIDEgKwogdGVzdHMvaWd0X2NhcHR1cmUuYyAgICB8ICA5MyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDIwMCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRl c3RzL2lndF9jYXB0dXJlLmMKCmRpZmYgLS1naXQgYS9saWIvaWd0X2NvcmUuYyBiL2xpYi9pZ3Rf Y29yZS5jCmluZGV4IDA0YTBhYjIuLmU3MzE3NWEgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfY29yZS5j CisrKyBiL2xpYi9pZ3RfY29yZS5jCkBAIC0yMTEsNiArMjExLDggQEAKICAqICItLWhlbHAiIGNv bW1hbmQgbGluZSBvcHRpb24uCiAgKi8KIAorI2RlZmluZSBJR1RfS01TR19DQVBUVVJFX0RVTVBf QlVGX1NJWkUJCTQwOTYKKwogc3RhdGljIHVuc2lnbmVkIGludCBleGl0X2hhbmRsZXJfY291bnQ7 CiBjb25zdCBjaGFyICppZ3RfaW50ZXJhY3RpdmVfZGVidWc7CiAKQEAgLTI0Nyw2ICsyNDksMTAg QEAgZW51bSB7CiBzdGF0aWMgaW50IGlndF9leGl0Y29kZSA9IElHVF9FWElUX1NVQ0NFU1M7CiBz dGF0aWMgY29uc3QgY2hhciAqY29tbWFuZF9zdHI7CiAKK3N0YXRpYyBpbnQgaWd0X2ttc2dfY2Fw dHVyZV9mZDsKK3N0YXRpYyBjaGFyKiBpZ3Rfa21zZ19jYXB0dXJlX2R1bXBfYnVmOworc3RhdGlj IHB0aHJlYWRfbXV0ZXhfdCBrbXNnX211dGV4ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsK Kwogc3RhdGljIGNoYXIqIGlndF9sb2dfZG9tYWluX2ZpbHRlcjsKIHN0YXRpYyBzdHJ1Y3Qgewog CWNoYXIgKmVudHJpZXNbMjU2XTsKQEAgLTMxMiw2ICszMTgsNzEgQEAgc3RhdGljIHZvaWQgX2ln dF9sb2dfYnVmZmVyX2R1bXAodm9pZCkKIAlwdGhyZWFkX211dGV4X3VubG9jaygmbG9nX2J1ZmZl cl9tdXRleCk7CiB9CiAKK3N0YXRpYyB2b2lkIF9pZ3Rfa21zZ19jYXB0dXJlX3Jlc2V0KHZvaWQp Cit7CisJaWYgKGlndF9rbXNnX2NhcHR1cmVfZmQgPT0gLTEpCisJCXJldHVybjsKKworCXB0aHJl YWRfbXV0ZXhfbG9jaygma21zZ19tdXRleCk7CisKKwlsc2VlayhpZ3Rfa21zZ19jYXB0dXJlX2Zk LCAwLCBTRUVLX0VORCk7CisKKwlwdGhyZWFkX211dGV4X3VubG9jaygma21zZ19tdXRleCk7Cit9 CisKK3N0YXRpYyB2b2lkIF9pZ3Rfa21zZ19jYXB0dXJlX2R1bXAodm9pZCkKK3sKKwlzaXplX3Qg bmJ5dGVzOworCWludCBubGluZXM7CisJY2hhciAqcDsKKwljaGFyICpwMDsKKwlpbnQgYzsKKwor CWlmIChpZ3Rfa21zZ19jYXB0dXJlX2ZkID09IC0xIHx8CisJICAgIGlndF9rbXNnX2NhcHR1cmVf ZHVtcF9idWYgPT0gTlVMTCkKKwkJcmV0dXJuOworCisJcHRocmVhZF9tdXRleF9sb2NrKCZrbXNn X211dGV4KTsKKworCisJbmxpbmVzID0gMDsKKwlkbyB7CisJCWVycm5vID0gMDsKKwkJbmJ5dGVz ID0gcmVhZChpZ3Rfa21zZ19jYXB0dXJlX2ZkLAorCQkJICAgICAgaWd0X2ttc2dfY2FwdHVyZV9k dW1wX2J1ZiwKKwkJCSAgICAgIElHVF9LTVNHX0NBUFRVUkVfRFVNUF9CVUZfU0laRSk7CisKKwkJ aWYgKG5ieXRlcyA9PSAtMSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghbmxpbmVzKQorCQkJZnBy aW50ZihzdGRlcnIsICIqKioqIEtNU0cgKioqKlxuIik7CisKKwkJcCA9IHAwID0gc3RyY2hyKGln dF9rbXNnX2NhcHR1cmVfZHVtcF9idWYsICc7JykgKyAxOworCQl3aGlsZSAocCAtIHAwIDwgbmJ5 dGVzKSB7CisJCQlpZiAoKnAgIT0gJ1xcJykgeworCQkJCWZwdXRjKCpwKyssIHN0ZGVycik7CisJ CQkJY29udGludWU7CisJCQl9CisJCQlzc2NhbmYocCwgIlxceCV4IiwgJmMpOworCQkJZnB1dGMo Yywgc3RkZXJyKTsKKwkJCXAgKz0gNDsKKwkJfQorCQkvL2ZwdXRzKHN0cmNocihpZ3Rfa21zZ19j YXB0dXJlX2R1bXBfYnVmLCAnOycpICsgMSwgc3RkZXJyKTsKKwkJbmxpbmVzKys7CisJfSB3aGls ZShlcnJubyA9PSAwKTsKKworCWlmIChubGluZXMpCisJCWZwcmludGYoc3RkZXJyLCAiKioqKiAg RU5EICAqKioqXG4iKTsKKwllbHNlCisJCWZwcmludGYoc3RkZXJyLCAiTm8ga21zZy5cbiIpOwor CisJaWYgKGVycm5vICE9IEVBR0FJTikKKwkJZnByaW50ZihzdGRlcnIsICJJbmNvbXBsZXRlIGtt c2cuXG4iKTsKKworCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZrbXNnX211dGV4KTsKK30KKwogX19h dHRyaWJ1dGVfXygoZm9ybWF0KHByaW50ZiwgMSwgMikpKQogc3RhdGljIHZvaWQga21zZyhjb25z dCBjaGFyICpmb3JtYXQsIC4uLikKICNkZWZpbmUgS0VSTl9FTUVSCSI8MD4iCkBAIC0zMzAsMTEg KzQwMSwxNSBAQCBzdGF0aWMgdm9pZCBrbXNnKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQogCWlm IChmaWxlID09IE5VTEwpCiAJCXJldHVybjsKIAorCXB0aHJlYWRfbXV0ZXhfbG9jaygma21zZ19t dXRleCk7CisKIAl2YV9zdGFydChhcCwgZm9ybWF0KTsKIAl2ZnByaW50ZihmaWxlLCBmb3JtYXQs IGFwKTsKIAl2YV9lbmQoYXApOwogCiAJZmNsb3NlKGZpbGUpOworCisJcHRocmVhZF9tdXRleF91 bmxvY2soJmttc2dfbXV0ZXgpOwogfQogCiBzdGF0aWMgdm9pZCBnZXR0aW1lKHN0cnVjdCB0aW1l c3BlYyAqdHMpCkBAIC01MjcsNiArNjAyLDE1IEBAIHN0YXRpYyBpbnQgY29tbW9uX2luaXQoaW50 ICphcmdjLCBjaGFyICoqYXJndiwKIAlpbnQgcmV0ID0gMDsKIAljb25zdCBjaGFyICplbnY7CiAK KwlpZ3Rfa21zZ19jYXB0dXJlX2ZkID0gb3BlbigiL2Rldi9rbXNnIiwgT19SRFdSIHwgT19OT05C TE9DSyk7CisJaWYgKGlndF9rbXNnX2NhcHR1cmVfZmQgIT0gLTEpIHsKKwkJaWd0X2ttc2dfY2Fw dHVyZV9kdW1wX2J1ZiA9CisJCQltYWxsb2MoSUdUX0tNU0dfQ0FQVFVSRV9EVU1QX0JVRl9TSVpF KTsKKwkJaWYoaWd0X2ttc2dfY2FwdHVyZV9kdW1wX2J1ZiA9PSBOVUxMKQorCQkJaWd0X3dhcm4o IlVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnksICIKKwkJCQkgIndpbGwgbm90IGR1bXAga21zZy5c biIpOworCX0KKwogCWlmICghaXNhdHR5KFNURE9VVF9GSUxFTk8pIHx8IGdldGVudigiSUdUX1BM QUlOX09VVFBVVCIpKQogCQlfX2lndF9wbGFpbl9vdXRwdXQgPSB0cnVlOwogCkBAIC03OTYsNiAr ODgwLDcgQEAgYm9vbCBfX2lndF9ydW5fc3VidGVzdChjb25zdCBjaGFyICpzdWJ0ZXN0X25hbWUp CiAJaWd0X2RlYnVnKCJTdGFydGluZyBzdWJ0ZXN0OiAlc1xuIiwgc3VidGVzdF9uYW1lKTsKIAog CV9pZ3RfbG9nX2J1ZmZlcl9yZXNldCgpOworCV9pZ3Rfa21zZ19jYXB0dXJlX3Jlc2V0KCk7CiAK IAlnZXR0aW1lKCZzdWJ0ZXN0X3RpbWUpOwogCXJldHVybiAoaW5fc3VidGVzdCA9IHN1YnRlc3Rf bmFtZSk7CkBAIC05NzIsNiArMTA1Nyw3IEBAIHZvaWQgaWd0X2ZhaWwoaW50IGV4aXRjb2RlKQog CQlleGl0KGV4aXRjb2RlKTsKIAogCV9pZ3RfbG9nX2J1ZmZlcl9kdW1wKCk7CisJX2lndF9rbXNn X2NhcHR1cmVfZHVtcCgpOwogCiAJaWYgKGluX3N1YnRlc3QpIHsKIAkJaWYgKGV4aXRjb2RlID09 IElHVF9FWElUX1RJTUVPVVQpCkBAIC0xMDcyLDE2ICsxMTU4LDIxIEBAIHZvaWQgX19pZ3RfZmFp bF9hc3NlcnQoY29uc3QgY2hhciAqZG9tYWluLCBjb25zdCBjaGFyICpmaWxlLCBjb25zdCBpbnQg bGluZSwKICAqLwogdm9pZCBpZ3RfZXhpdCh2b2lkKQogeworCWludCBzdGF0dXMgPSBJR1RfRVhJ VF9TVUNDRVNTOworCiAJaWd0X2V4aXRfY2FsbGVkID0gdHJ1ZTsKIAogCWlmIChydW5fc2luZ2xl X3N1YnRlc3QgJiYgIXJ1bl9zaW5nbGVfc3VidGVzdF9mb3VuZCkgewogCQlpZ3Rfd2FybigiVW5r bm93biBzdWJ0ZXN0OiAlc1xuIiwgcnVuX3NpbmdsZV9zdWJ0ZXN0KTsKLQkJZXhpdChJR1RfRVhJ VF9JTlZBTElEKTsKKwkJc3RhdHVzID0gSUdUX0VYSVRfSU5WQUxJRDsKKwkJZ290byBkb19leGl0 OwogCX0KIAogCi0JaWYgKGlndF9vbmx5X2xpc3Rfc3VidGVzdHMoKSkKLQkJZXhpdChJR1RfRVhJ VF9TVUNDRVNTKTsKKwlpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cygpKSB7CisJCXN0YXR1cyA9 IElHVF9FWElUX1NVQ0NFU1M7CisJCWdvdG8gZG9fZXhpdDsKKwl9CiAKIAlrbXNnKEtFUk5fSU5G TyAiJXM6IGV4aXRpbmcsIHJldD0lZFxuIiwgY29tbWFuZF9zdHIsIGlndF9leGl0Y29kZSk7CiAJ aWd0X2RlYnVnKCJFeGl0aW5nIHdpdGggc3RhdHVzIGNvZGUgJWRcbiIsIGlndF9leGl0Y29kZSk7 CkBAIC0xMTExLDE4ICsxMjAyLDI2IEBAIHZvaWQgaWd0X2V4aXQodm9pZCkKIAogCiAJCXByaW50 ZigiJXMgKCUuM2ZzKVxuIiwgcmVzdWx0LCBlbGFwc2VkKTsKLQkJZXhpdChpZ3RfZXhpdGNvZGUp OworCQlzdGF0dXMgPSBpZ3RfZXhpdGNvZGU7CisJCWdvdG8gZG9fZXhpdDsKIAl9CiAKIAkvKiBD YWxsaW5nIHRoaXMgd2l0aG91dCBjYWxsaW5nIG9uZSBvZiB0aGUgYWJvdmUgaXMgYSBmYWlsdXJl ICovCiAJYXNzZXJ0KHNraXBwZWRfb25lIHx8IHN1Y2NlZWRlZF9vbmUgfHwgZmFpbGVkX29uZSk7 CiAKIAlpZiAoZmFpbGVkX29uZSkKLQkJZXhpdChpZ3RfZXhpdGNvZGUpOworCQlzdGF0dXMgPSBp Z3RfZXhpdGNvZGU7CiAJZWxzZSBpZiAoc3VjY2VlZGVkX29uZSkKLQkJZXhpdChJR1RfRVhJVF9T VUNDRVNTKTsKKwkJc3RhdHVzID0gSUdUX0VYSVRfU1VDQ0VTUzsKIAllbHNlCi0JCWV4aXQoSUdU X0VYSVRfU0tJUCk7CisJCXN0YXR1cyA9IElHVF9FWElUX1NLSVA7Citkb19leGl0OgorCWlmIChp Z3Rfa21zZ19jYXB0dXJlX2ZkICE9IC0xKQorCQljbG9zZShpZ3Rfa21zZ19jYXB0dXJlX2ZkKTsK KwlpZiAoaWd0X2ttc2dfY2FwdHVyZV9kdW1wX2J1ZiAhPSBOVUxMKQorCQlmcmVlKGlndF9rbXNn X2NhcHR1cmVfZHVtcF9idWYpOworCisJZXhpdChzdGF0dXMpOwogfQogCiAvKiBmb3JrIHN1cHBv cnQgY29kZSAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01h a2VmaWxlLnNvdXJjZXMKaW5kZXggOGZiMmRlOC4uMjVmMGM0YSAxMDA2NDQKLS0tIGEvdGVzdHMv TWFrZWZpbGUuc291cmNlcworKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCkBAIC02Miw2ICs2 Miw3IEBAIFRFU1RTX3Byb2dzX00gPSBcCiAJZ2VtX3RpbGVkX3BhcnRpYWxfcHdyaXRlX3ByZWFk IFwKIAlnZW1fdXNlcnB0cl9ibGl0cyBcCiAJZ2VtX3dyaXRlX3JlYWRfcmluZ19zd2l0Y2ggXAor CWlndF9jYXB0dXJlIFwKIAlrbXNfYWRkZmJfYmFzaWMgXAogCWttc19hdG9taWMgXAogCWttc19j dXJzb3JfY3JjIFwKZGlmZiAtLWdpdCBhL3Rlc3RzL2lndF9jYXB0dXJlLmMgYi90ZXN0cy9pZ3Rf Y2FwdHVyZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMDA4ZDAKLS0t IC9kZXYvbnVsbAorKysgYi90ZXN0cy9pZ3RfY2FwdHVyZS5jCkBAIC0wLDAgKzEsOTMgQEAKKy8q CisgKiBDb3B5cmlnaHQgwqkgMjAxNSBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Np b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp bmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh dGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUg d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhl IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUs IHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQg dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0 byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhl IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1 ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29w aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICog VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxM CisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBD TEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIg REVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3JzOgorICogICAgSm9v bmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgorICoKKyAqLwor CisjaW5jbHVkZSAiaWd0LmgiCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGli Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxm Y250bC5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNs dWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorCitzdGF0aWMgRklMRSog a21zZzsKKworc3RhdGljIHZvaWQKK3Rlc3Rfa21zZyh2b2lkKQoreworCWZwdXRzKCJURVNUIChL TVNHKVxuIiwga21zZyk7CisJZmZsdXNoKGttc2cpOworCWlndF9mYWlsKElHVF9FWElUX0ZBSUxV UkUpOworfQorCitzdGF0aWMgdm9pZAordGVzdF93YXJuKHZvaWQpCit7CisJaWd0X3dhcm4oIlRF U1QgKFdBUk4pXG4iKTsKKwlpZ3RfZmFpbChJR1RfRVhJVF9GQUlMVVJFKTsKK30KKworc3RhdGlj IHZvaWQKK3Rlc3RfZGVidWcodm9pZCkKK3sKKwlpZ3RfZGVidWcoIlRFU1QgKERFQlVHKVxuIik7 CisJaWd0X2ZhaWwoSUdUX0VYSVRfRkFJTFVSRSk7Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0X2Nv bWJpbmVkKHZvaWQpCit7CisJaWd0X3dhcm4oIlRFU1QgIzEgKFdBUk4pXG4iKTsKKwlmcHV0cygi VEVTVCAjMVxuIiwga21zZyk7CisJaWd0X3dhcm4oIlRFU1QgIzIgKFdBUk4pXG4iKTsKKwlmcHV0 cygiVEVTVCAjMlxuIiwga21zZyk7CisJZmZsdXNoKGttc2cpOworCWlndF9mYWlsKElHVF9FWElU X0ZBSUxVUkUpOworfQorCitpZ3RfbWFpbgoreworCWlndF9maXh0dXJlIHsKKwkJa21zZyA9IGZv cGVuKCIvZGV2L2ttc2ciLCAidyIpOworCQlpZ3RfcmVxdWlyZShrbXNnICE9IE5VTEwpOworCX0K KworCWlndF9zdWJ0ZXN0KCJrbXNnIikKKwkJdGVzdF9rbXNnKCk7CisJaWd0X3N1YnRlc3QoIndh cm4iKQorCQl0ZXN0X3dhcm4oKTsKKwlpZ3Rfc3VidGVzdCgiZGVidWciKQorCQl0ZXN0X2RlYnVn KCk7CisJaWd0X3N1YnRlc3QoImNvbWJpbmVkIikKKwkJdGVzdF9jb21iaW5lZCgpOworCisJaWd0 X2ZpeHR1cmUgeworCQlmY2xvc2Uoa21zZyk7CisJfQorfQotLSAKMi40LjMKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==