From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com [209.85.210.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 31B4C33EB1B for ; Mon, 13 Apr 2026 17:01:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776099709; cv=none; b=No8Qw9Z+sIgNKmdsuTLOXL8ABlLpB9C1PD9FMWzWWVrKBzoXTbMpcBxQGYULnDQK3gG8uHpkLa8M74Bs6LCnUM3IG3SYnAm7QZy6TPwYeAGccLjkOf0XyiQuXNfAcpMgWOl44yJubPOXE8dXbwGnmUqOoh6qCicO97XPLf1jk6w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776099709; c=relaxed/simple; bh=yqtXmm+GMQgBNLNh18Annq8rE10axjFayQpdqOwrCaE=; h=Content-Type:Message-ID:Date:MIME-Version:To:Cc:From:Subject; b=BqnAkS5HU+AjLOAlPgNR63zrJ+6J9cN+z4NksZUg4Hihe8Irm+J4glkmMm+tGqPdmKTiUEzJ6IpCxnftpotoytnbPNdm4N837XwMhgC/QUYRhWqFuzY2WbyFxOE/dt9hnayARwOu40pbMxAwAhUGVrXLnaW7SFHIj+dGfDFFINs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linuxfoundation.org; spf=pass smtp.mailfrom=linuxfoundation.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=UAFYzist; arc=none smtp.client-ip=209.85.210.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linuxfoundation.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="UAFYzist" Received: by mail-ot1-f44.google.com with SMTP id 46e09a7af769-7d4c12ff3d5so4185456a34.2 for ; Mon, 13 Apr 2026 10:01:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1776099706; x=1776704506; darn=vger.kernel.org; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=Tm9dONAPZam5Us/xC+osaMp8QC+vENSGpMUaF0Z3nUM=; b=UAFYzistCL/QFNkU7WeCmJsuLBRrN/FkVS2AG7w1SxqiQTZDNN/UaJjXi37VSUZ0uy 0q3XwIxikp/lKyzNXQQCl6K5/SKKx4DcihMVXjHwre43kvjEfkbMxbXNdSshx/NmEQ1R 0Xx/rbr1XYm5S1/ysIRtCcQXO8ovslR1MuAsk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776099706; x=1776704506; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Tm9dONAPZam5Us/xC+osaMp8QC+vENSGpMUaF0Z3nUM=; b=Az9XqpVsd/dsQfYlrbV8+471/tlGGruCoOhyhwNPTwPJZ9YFkbwmlktshIvqeL0xsv n2cvSMgawApCzejAhNeWjM78d8jj7ipIgX094UuWW9ZQOUbFWdx2t3yIKhPoj0Z98tWj I1d555+VIxbDWSO3bgfpGUvzd0ZTXxoQBah2tDvNnU2JO4EZcSrQOBntacwbabnnk75z 2WRYhhyH2sCoUecRGYcgCKBxm0excVDrHm7Cw/hSWuQNK50zolk3MKIDVl+zMic7C1wd 1k4RChq3NPfAIhtNbyCGyPip3IyzMYoELK6Bhkq+2IL8eeOpZlEhXuDPUkOK3iBdQ4Cj f4+g== X-Forwarded-Encrypted: i=1; AFNElJ9gcB9rjXRlZxlkhQG0SmnEBEWMYng4+vKkbjbRGnSZ0/9i2Cj6qtgS88dbdvuNkZCIymzwAqETAciy+Yw=@vger.kernel.org X-Gm-Message-State: AOJu0YwyWrytA/nwoIxyvVabjSdTSDPGG0g+M3SV+ssm55UzCsT8yYoj GtS4PUZdH/0QgV8V1qwJ/u+VqhAs/s9f6v01lTij1EB1ilWF5Xp76sFsqZuzandH30I= X-Gm-Gg: AeBDiev4nAw+7gfHP2yDxmfZ0aa37+tDpkgg/ML+GejmPWdpBFQSZ1F11TlruD/apse +4xrDRkTF9UqB8M8X68O1/b9v3k8VrV1JptRQQO/3Oj5ghmhzwV4dvLBwIlM7hZgM1ftYfpPrOp moj/FVlBYD8iUoUm9SI3VKQ31Gc6YKd0MJ6Mk9aKg42368LVwrQFZ8w3E4r/0oAAo8zvWIaWc3R aSdAG6XRyVDmxHY7DRXpt+6WNBnPfs0BYD/aMo31gK9r7S+a+EEgcOwlHiUt3Eqm/N++YGnVngx HKaIjZ3yK7jU2sKddYofu1q4FHn2USpJMtrW0q6cMTvtg2yjCdKu1yq0RqSP20ll2W+KYW3Qzyn M7Xl2Ixqhm2QGUyJ1OYphmKLHedx2AqCpPYNCIuNoHXc3IZkmBUm32vtWMClM/NUh2Y6ulY8iB6 2aoNrAmQe+MUCJKROo4SfjvIxH7tSwaeY= X-Received: by 2002:a05:6830:6110:b0:7db:a184:2b39 with SMTP id 46e09a7af769-7dc27e2f981mr7744392a34.11.1776099706044; Mon, 13 Apr 2026 10:01:46 -0700 (PDT) Received: from [192.168.1.14] ([38.15.57.99]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7dc2690e600sm8969999a34.15.2026.04.13.10.01.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Apr 2026 10:01:44 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------82GcWLwMMjyy7p6IlzAqmR2o" Message-ID: <2fdf9e53-8608-43bc-9501-0b262fa348de@linuxfoundation.org> Date: Mon, 13 Apr 2026 11:01:43 -0600 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Linus Torvalds Cc: Shuah Khan , shuah , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, David Gow , Brendan Higgins , Rae Moar From: Shuah Khan Subject: [GIT PULL] kunit next update for Linux 7.1-rc1 This is a multi-part message in MIME format. --------------82GcWLwMMjyy7p6IlzAqmR2o Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Linus, Please pull the kunit next update for Linux 7.1-rc1. Fixes kunit tool to -- terminate kernel under test on SIGINT when it catches SIGINT to make sure the TTY isn't messed up and terminate the running kernel. -- recommend --raw_output=all when KTAP header isn't found in the kernel output, it's useful to re-run the test with --raw_output=all to find out the reasons why the test didn't complete. -- skip stty when stdin is not a tty to avoid writing noise to stderr. -- show suites when user runs --list_suites option instead of entire list of tests to make the output user friendly and concise. diff is attached. thanks, -- Shuah ---------------------------------------------------------------- The following changes since commit 591cd656a1bf5ea94a222af5ef2ee76df029c1d2: Linux 7.0-rc7 (2026-04-05 15:26:23 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest tags/linux_kselftest-kunit-7.1-rc1 for you to fetch changes up to 8f260b02eeeffbf2263c2b82b6e3e32fd73cde2b: kunit: tool: Terminate kernel under test on SIGINT (2026-04-06 14:09:04 -0600) ---------------------------------------------------------------- linux_kselftest-kunit-7.1-rc1 Fixes kunit tool to -- terminate kernel under test on SIGINT when it catches SIGINT to make sure the TTY isn't messed up and terminate the running kernel. -- recommend --raw_output=all when KTAP header isn't found in the kernel output, it's useful to re-run the test with --raw_output=all to find out the reasons why the test didn't complete. -- skip stty when stdin is not a tty to avoid writing noise to stderr. -- show suites when user runs --list_suites option instead of entire list of tests to make the output user friendly and concise. ---------------------------------------------------------------- David Gow (2): kunit: tool: Recommend --raw_output=all if no KTAP found kunit: tool: Terminate kernel under test on SIGINT Ryota Sakamoto (1): kunit: Add --list_suites to show suites Shuvam Pandey (1): kunit: tool: skip stty when stdin is not a tty tools/testing/kunit/kunit.py | 16 ++++++++-- tools/testing/kunit/kunit_kernel.py | 38 +++++++++++++++------- tools/testing/kunit/kunit_parser.py | 3 +- tools/testing/kunit/kunit_tool_test.py | 58 ++++++++++++++++++++++++++++++++-- 4 files changed, 98 insertions(+), 17 deletions(-) ---------------------------------------------------------------- --------------82GcWLwMMjyy7p6IlzAqmR2o Content-Type: text/x-patch; charset=UTF-8; name="linux_kselftest-kunit-7.1-rc1.diff" Content-Disposition: attachment; filename="linux_kselftest-kunit-7.1-rc1.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcva3VuaXQva3VuaXQucHkgYi90b29scy90ZXN0 aW5nL2t1bml0L2t1bml0LnB5CmluZGV4IDRlYzVlY2JhNmQ0OS4uNzQyZjVjNTU1NjY2IDEw MDc1NQotLS0gYS90b29scy90ZXN0aW5nL2t1bml0L2t1bml0LnB5CisrKyBiL3Rvb2xzL3Rl c3Rpbmcva3VuaXQva3VuaXQucHkKQEAgLTYzLDYgKzYzLDcgQEAgY2xhc3MgS3VuaXRFeGVj UmVxdWVzdChLdW5pdFBhcnNlUmVxdWVzdCk6CiAJcnVuX2lzb2xhdGVkOiBPcHRpb25hbFtz dHJdCiAJbGlzdF90ZXN0czogYm9vbAogCWxpc3RfdGVzdHNfYXR0cjogYm9vbAorCWxpc3Rf c3VpdGVzOiBib29sCiAKIEBkYXRhY2xhc3MKIGNsYXNzIEt1bml0UmVxdWVzdChLdW5pdEV4 ZWNSZXF1ZXN0LCBLdW5pdEJ1aWxkUmVxdWVzdCk6CkBAIC0xNjgsNiArMTY5LDEyIEBAIGRl ZiBleGVjX3Rlc3RzKGxpbnV4OiBrdW5pdF9rZXJuZWwuTGludXhTb3VyY2VUcmVlLCByZXF1 ZXN0OiBLdW5pdEV4ZWNSZXF1ZXN0KSAtCiAJCWZvciBsaW5lIGluIGF0dHJfb3V0cHV0Ogog CQkJcHJpbnQobGluZS5yc3RyaXAoKSkKIAkJcmV0dXJuIEt1bml0UmVzdWx0KHN0YXR1cz1L dW5pdFN0YXR1cy5TVUNDRVNTLCBlbGFwc2VkX3RpbWU9MC4wKQorCWlmIHJlcXVlc3QubGlz dF9zdWl0ZXM6CisJCXRlc3RzID0gX2xpc3RfdGVzdHMobGludXgsIHJlcXVlc3QpCisJCW91 dHB1dCA9IF9zdWl0ZXNfZnJvbV90ZXN0X2xpc3QodGVzdHMpCisJCWZvciBsaW5lIGluIG91 dHB1dDoKKwkJCXByaW50KGxpbmUucnN0cmlwKCkpCisJCXJldHVybiBLdW5pdFJlc3VsdChz dGF0dXM9S3VuaXRTdGF0dXMuU1VDQ0VTUywgZWxhcHNlZF90aW1lPTAuMCkKIAlpZiByZXF1 ZXN0LnJ1bl9pc29sYXRlZDoKIAkJdGVzdHMgPSBfbGlzdF90ZXN0cyhsaW51eCwgcmVxdWVz dCkKIAkJaWYgcmVxdWVzdC5ydW5faXNvbGF0ZWQgPT0gJ3Rlc3QnOgpAQCAtNDM4LDYgKzQ0 NSw5IEBAIGRlZiBhZGRfZXhlY19vcHRzKHBhcnNlcjogYXJncGFyc2UuQXJndW1lbnRQYXJz ZXIpIC0+IE5vbmU6CiAJcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1saXN0X3Rlc3RzX2F0dHIn LCBoZWxwPSdJZiBzZXQsIGxpc3QgYWxsIHRlc3RzIGFuZCB0ZXN0ICcKIAkJCSAgICAnYXR0 cmlidXRlcy4nLAogCQkJICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCisJcGFyc2VyLmFkZF9h cmd1bWVudCgnLS1saXN0X3N1aXRlcycsIGhlbHA9J0lmIHNldCwgbGlzdCBhbGwgc3VpdGVz IHRoYXQgd2lsbCBiZSAnCisJCQkgICAgJ3J1bi4nLAorCQkJICAgIGFjdGlvbj0nc3RvcmVf dHJ1ZScpCiAKIGRlZiBhZGRfcGFyc2Vfb3B0cyhwYXJzZXI6IGFyZ3BhcnNlLkFyZ3VtZW50 UGFyc2VyKSAtPiBOb25lOgogCXBhcnNlci5hZGRfYXJndW1lbnQoJy0tcmF3X291dHB1dCcs IGhlbHA9J0lmIHNldCBkb25cJ3QgcGFyc2Ugb3V0cHV0IGZyb20ga2VybmVsLiAnCkBAIC01 MDEsNyArNTExLDggQEAgZGVmIHJ1bl9oYW5kbGVyKGNsaV9hcmdzOiBhcmdwYXJzZS5OYW1l c3BhY2UpIC0+IE5vbmU6CiAJCQkJCWtlcm5lbF9hcmdzPWNsaV9hcmdzLmtlcm5lbF9hcmdz LAogCQkJCQlydW5faXNvbGF0ZWQ9Y2xpX2FyZ3MucnVuX2lzb2xhdGVkLAogCQkJCQlsaXN0 X3Rlc3RzPWNsaV9hcmdzLmxpc3RfdGVzdHMsCi0JCQkJCWxpc3RfdGVzdHNfYXR0cj1jbGlf YXJncy5saXN0X3Rlc3RzX2F0dHIpCisJCQkJCWxpc3RfdGVzdHNfYXR0cj1jbGlfYXJncy5s aXN0X3Rlc3RzX2F0dHIsCisJCQkJCWxpc3Rfc3VpdGVzPWNsaV9hcmdzLmxpc3Rfc3VpdGVz KQogCXJlc3VsdCA9IHJ1bl90ZXN0cyhsaW51eCwgcmVxdWVzdCkKIAlpZiByZXN1bHQuc3Rh dHVzICE9IEt1bml0U3RhdHVzLlNVQ0NFU1M6CiAJCXN5cy5leGl0KDEpCkBAIC01NTAsNyAr NTYxLDggQEAgZGVmIGV4ZWNfaGFuZGxlcihjbGlfYXJnczogYXJncGFyc2UuTmFtZXNwYWNl KSAtPiBOb25lOgogCQkJCQlrZXJuZWxfYXJncz1jbGlfYXJncy5rZXJuZWxfYXJncywKIAkJ CQkJcnVuX2lzb2xhdGVkPWNsaV9hcmdzLnJ1bl9pc29sYXRlZCwKIAkJCQkJbGlzdF90ZXN0 cz1jbGlfYXJncy5saXN0X3Rlc3RzLAotCQkJCQlsaXN0X3Rlc3RzX2F0dHI9Y2xpX2FyZ3Mu bGlzdF90ZXN0c19hdHRyKQorCQkJCQlsaXN0X3Rlc3RzX2F0dHI9Y2xpX2FyZ3MubGlzdF90 ZXN0c19hdHRyLAorCQkJCQlsaXN0X3N1aXRlcz1jbGlfYXJncy5saXN0X3N1aXRlcykKIAly ZXN1bHQgPSBleGVjX3Rlc3RzKGxpbnV4LCBleGVjX3JlcXVlc3QpCiAJc3Rkb3V0LnByaW50 X3dpdGhfdGltZXN0YW1wKCgKIAkJJ0VsYXBzZWQgdGltZTogJS4zZnNcbicpICUgKHJlc3Vs dC5lbGFwc2VkX3RpbWUpKQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9rdW5pdC9rdW5p dF9rZXJuZWwucHkgYi90b29scy90ZXN0aW5nL2t1bml0L2t1bml0X2tlcm5lbC5weQppbmRl eCAyOTk4ZTFiYzA4OGIuLjI4NjlmY2IxOTlmZiAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGlu Zy9rdW5pdC9rdW5pdF9rZXJuZWwucHkKKysrIGIvdG9vbHMvdGVzdGluZy9rdW5pdC9rdW5p dF9rZXJuZWwucHkKQEAgLTE2LDcgKzE2LDcgQEAgaW1wb3J0IHNodXRpbAogaW1wb3J0IHNp Z25hbAogaW1wb3J0IHN5cwogaW1wb3J0IHRocmVhZGluZwotZnJvbSB0eXBpbmcgaW1wb3J0 IEl0ZXJhdG9yLCBMaXN0LCBPcHRpb25hbCwgVHVwbGUKK2Zyb20gdHlwaW5nIGltcG9ydCBJ dGVyYXRvciwgTGlzdCwgT3B0aW9uYWwsIFR1cGxlLCBBbnkKIGZyb20gdHlwZXMgaW1wb3J0 IEZyYW1lVHlwZQogCiBpbXBvcnQga3VuaXRfY29uZmlnCkBAIC0yNjUsNiArMjY1LDcgQEAg Y2xhc3MgTGludXhTb3VyY2VUcmVlOgogCQlpZiBrY29uZmlnX2FkZDoKIAkJCWtjb25maWcg PSBrdW5pdF9jb25maWcucGFyc2VfZnJvbV9zdHJpbmcoJ1xuJy5qb2luKGtjb25maWdfYWRk KSkKIAkJCXNlbGYuX2tjb25maWcubWVyZ2VfaW5fZW50cmllcyhrY29uZmlnKQorCQlzZWxm Ll9wcm9jZXNzIDogT3B0aW9uYWxbc3VicHJvY2Vzcy5Qb3BlbltBbnldXSA9IE5vbmUKIAog CWRlZiBhcmNoKHNlbGYpIC0+IHN0cjoKIAkJcmV0dXJuIHNlbGYuX2FyY2gKQEAgLTM0NSw2 ICszNDYsMTIgQEAgY2xhc3MgTGludXhTb3VyY2VUcmVlOgogCQkJcmV0dXJuIEZhbHNlCiAJ CXJldHVybiBzZWxmLnZhbGlkYXRlX2NvbmZpZyhidWlsZF9kaXIpCiAKKwlkZWYgX3Jlc3Rv cmVfdGVybWluYWxfaWZfdHR5KHNlbGYpIC0+IE5vbmU6CisJCSMgc3R0eSByZXF1aXJlcyBh IGNvbnRyb2xsaW5nIHRlcm1pbmFsOyBza2lwIGhlYWRsZXNzIHJ1bnMuCisJCWlmIHN5cy5z dGRpbiBpcyBOb25lIG9yIG5vdCBzeXMuc3RkaW4uaXNhdHR5KCk6CisJCQlyZXR1cm4KKwkJ c3VicHJvY2Vzcy5jYWxsKFsnc3R0eScsICdzYW5lJ10pCisKIAlkZWYgcnVuX2tlcm5lbChz ZWxmLCBhcmdzOiBPcHRpb25hbFtMaXN0W3N0cl1dPU5vbmUsIGJ1aWxkX2Rpcjogc3RyPScn LCBmaWx0ZXJfZ2xvYjogc3RyPScnLCBmaWx0ZXI6IHN0cj0nJywgZmlsdGVyX2FjdGlvbjog T3B0aW9uYWxbc3RyXT1Ob25lLCB0aW1lb3V0OiBPcHRpb25hbFtpbnRdPU5vbmUpIC0+IEl0 ZXJhdG9yW3N0cl06CiAJCSMgQ29weSB0byBhdm9pZCBtdXRhdGluZyB0aGUgY2FsbGVyLXN1 cHBsaWVkIGxpc3QuIGV4ZWNfdGVzdHMoKSByZXVzZXMKIAkJIyB0aGUgc2FtZSBhcmdzIGFj cm9zcyByZXBlYXRlZCBydW5fa2VybmVsKCkgY2FsbHMgKGUuZy4gLS1ydW5faXNvbGF0ZWQp LApAQCAtMzU4LDM2ICszNjUsNDUgQEAgY2xhc3MgTGludXhTb3VyY2VUcmVlOgogCQkJYXJn cy5hcHBlbmQoJ2t1bml0LmZpbHRlcl9hY3Rpb249JyArIGZpbHRlcl9hY3Rpb24pCiAJCWFy Z3MuYXBwZW5kKCdrdW5pdC5lbmFibGU9MScpCiAKLQkJcHJvY2VzcyA9IHNlbGYuX29wcy5z dGFydChhcmdzLCBidWlsZF9kaXIpCi0JCWFzc2VydCBwcm9jZXNzLnN0ZG91dCBpcyBub3Qg Tm9uZSAgIyB0ZWxsIG15cHkgaXQncyBzZXQKKwkJc2VsZi5fcHJvY2VzcyA9IHNlbGYuX29w cy5zdGFydChhcmdzLCBidWlsZF9kaXIpCisJCWFzc2VydCBzZWxmLl9wcm9jZXNzIGlzIG5v dCBOb25lICMgdGVsbCBteXB5IGl0J3Mgc2V0CisJCWFzc2VydCBzZWxmLl9wcm9jZXNzLnN0 ZG91dCBpcyBub3QgTm9uZSAgIyB0ZWxsIG15cHkgaXQncyBzZXQKIAogCQkjIEVuZm9yY2Ug dGhlIHRpbWVvdXQgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZC4KIAkJZGVmIF93YWl0X3Byb2Mo KSAtPiBOb25lOgogCQkJdHJ5OgotCQkJCXByb2Nlc3Mud2FpdCh0aW1lb3V0PXRpbWVvdXQp CisJCQkJaWYgc2VsZi5fcHJvY2VzczoKKwkJCQkJc2VsZi5fcHJvY2Vzcy53YWl0KHRpbWVv dXQ9dGltZW91dCkKIAkJCWV4Y2VwdCBFeGNlcHRpb24gYXMgZToKIAkJCQlwcmludChlKQot CQkJCXByb2Nlc3MudGVybWluYXRlKCkKLQkJCQlwcm9jZXNzLndhaXQoKQorCQkJCWlmIHNl bGYuX3Byb2Nlc3M6CisJCQkJCXNlbGYuX3Byb2Nlc3MudGVybWluYXRlKCkKKwkJCQkJc2Vs Zi5fcHJvY2Vzcy53YWl0KCkKIAkJd2FpdGVyID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9 X3dhaXRfcHJvYykKIAkJd2FpdGVyLnN0YXJ0KCkKIAogCQlvdXRwdXQgPSBvcGVuKGdldF9v dXRmaWxlX3BhdGgoYnVpbGRfZGlyKSwgJ3cnKQogCQl0cnk6CiAJCQkjIFRlZSB0aGUgb3V0 cHV0IHRvIHRoZSBmaWxlIGFuZCB0byBvdXIgY2FsbGVyIGluIHJlYWwgdGltZS4KLQkJCWZv ciBsaW5lIGluIHByb2Nlc3Muc3Rkb3V0OgorCQkJZm9yIGxpbmUgaW4gc2VsZi5fcHJvY2Vz cy5zdGRvdXQ6CiAJCQkJb3V0cHV0LndyaXRlKGxpbmUpCiAJCQkJeWllbGQgbGluZQogCQkj IFRoaXMgcnVucyBldmVuIGlmIG91ciBjYWxsZXIgZG9lc24ndCBjb25zdW1lIGV2ZXJ5IGxp bmUuCiAJCWZpbmFsbHk6CiAJCQkjIEZsdXNoIGFueSBsZWZ0b3ZlciBvdXRwdXQgdG8gdGhl IGZpbGUKLQkJCW91dHB1dC53cml0ZShwcm9jZXNzLnN0ZG91dC5yZWFkKCkpCisJCQlpZiBz ZWxmLl9wcm9jZXNzOgorCQkJCWlmIHNlbGYuX3Byb2Nlc3Muc3Rkb3V0OgorCQkJCQlvdXRw dXQud3JpdGUoc2VsZi5fcHJvY2Vzcy5zdGRvdXQucmVhZCgpKQorCQkJCQlzZWxmLl9wcm9j ZXNzLnN0ZG91dC5jbG9zZSgpCisJCQkJc2VsZi5fcHJvY2VzcyA9IE5vbmUKIAkJCW91dHB1 dC5jbG9zZSgpCi0JCQlwcm9jZXNzLnN0ZG91dC5jbG9zZSgpCiAKIAkJCXdhaXRlci5qb2lu KCkKLQkJCXN1YnByb2Nlc3MuY2FsbChbJ3N0dHknLCAnc2FuZSddKQorCQkJc2VsZi5fcmVz dG9yZV90ZXJtaW5hbF9pZl90dHkoKQogCiAJZGVmIHNpZ25hbF9oYW5kbGVyKHNlbGYsIHVu dXNlZF9zaWc6IGludCwgdW51c2VkX2ZyYW1lOiBPcHRpb25hbFtGcmFtZVR5cGVdKSAtPiBO b25lOgogCQlsb2dnaW5nLmVycm9yKCdCdWlsZCBpbnRlcnJ1cHRpb24gb2NjdXJyZWQuIENs ZWFuaW5nIGNvbnNvbGUuJykKLQkJc3VicHJvY2Vzcy5jYWxsKFsnc3R0eScsICdzYW5lJ10p CisJCWlmIHNlbGYuX3Byb2Nlc3M6CisJCQkJc2VsZi5fcHJvY2Vzcy50ZXJtaW5hdGUoKQor CQkJCXNlbGYuX3Byb2Nlc3Mud2FpdCgpCisJCXNlbGYuX3Jlc3RvcmVfdGVybWluYWxfaWZf dHR5KCkKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcva3VuaXQva3VuaXRfcGFyc2VyLnB5 IGIvdG9vbHMvdGVzdGluZy9rdW5pdC9rdW5pdF9wYXJzZXIucHkKaW5kZXggNTMzODQ4OWRj YmU0Li4xYzYxYTBlZDc0MGQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcva3VuaXQva3Vu aXRfcGFyc2VyLnB5CisrKyBiL3Rvb2xzL3Rlc3Rpbmcva3VuaXQva3VuaXRfcGFyc2VyLnB5 CkBAIC04NTcsNyArODU3LDggQEAgZGVmIHBhcnNlX3J1bl90ZXN0cyhrZXJuZWxfb3V0cHV0 OiBJdGVyYWJsZVtzdHJdLCBwcmludGVyOiBQcmludGVyKSAtPiBUZXN0OgogCXRlc3QgPSBU ZXN0KCkKIAlpZiBub3QgbGluZXM6CiAJCXRlc3QubmFtZSA9ICc8bWlzc2luZz4nCi0JCXRl c3QuYWRkX2Vycm9yKHByaW50ZXIsICdDb3VsZCBub3QgZmluZCBhbnkgS1RBUCBvdXRwdXQu IERpZCBhbnkgS1VuaXQgdGVzdHMgcnVuPycpCisJCXRlc3QuYWRkX2Vycm9yKHByaW50ZXIs ICdDb3VsZCBub3QgZmluZCBhbnkgS1RBUCBvdXRwdXQuIERpZCBhbnkgS1VuaXQgdGVzdHMg cnVuP1xuJyArCisJCQknVHJ5IHJ1bm5pbmcgd2l0aCB0aGUgLS1yYXdfb3V0cHV0PWFsbCBv cHRpb24gdG8gc2VlIGFueSBsb2cgbWVzc2FnZXMuJykKIAkJdGVzdC5zdGF0dXMgPSBUZXN0 U3RhdHVzLkZBSUxVUkVfVE9fUEFSU0VfVEVTVFMKIAllbHNlOgogCQl0ZXN0ID0gcGFyc2Vf dGVzdChsaW5lcywgMCwgW10sIEZhbHNlLCBwcmludGVyKQpkaWZmIC0tZ2l0IGEvdG9vbHMv dGVzdGluZy9rdW5pdC9rdW5pdF90b29sX3Rlc3QucHkgYi90b29scy90ZXN0aW5nL2t1bml0 L2t1bml0X3Rvb2xfdGVzdC5weQppbmRleCBmNjM4Mzg4NGM1OTkuLjI2N2MzM2NlY2Y4NyAx MDA3NTUKLS0tIGEvdG9vbHMvdGVzdGluZy9rdW5pdC9rdW5pdF90b29sX3Rlc3QucHkKKysr IGIvdG9vbHMvdGVzdGluZy9rdW5pdC9rdW5pdF90b29sX3Rlc3QucHkKQEAgLTUyOSw2ICs1 MjksNDggQEAgY2xhc3MgTGludXhTb3VyY2VUcmVlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6 CiAJCQkJc2VsZi5hc3NlcnRJbigna3VuaXQuZmlsdGVyX2dsb2I9c3VpdGUudGVzdDEnLCBz dGFydF9jYWxsc1swXSkKIAkJCQlzZWxmLmFzc2VydEluKCdrdW5pdC5maWx0ZXJfZ2xvYj1z dWl0ZS50ZXN0MicsIHN0YXJ0X2NhbGxzWzFdKQogCisJZGVmIHRlc3RfcnVuX2tlcm5lbF9z a2lwc190ZXJtaW5hbF9yZXNldF93aXRob3V0X3R0eShzZWxmKToKKwkJZGVmIGZha2Vfc3Rh cnQodW51c2VkX2FyZ3MsIHVudXNlZF9idWlsZF9kaXIpOgorCQkJcmV0dXJuIHN1YnByb2Nl c3MuUG9wZW4oWydwcmludGYnLCAnS1RBUCB2ZXJzaW9uIDFcbiddLAorCQkJCQkJdGV4dD1U cnVlLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQorCisJCW5vbl90dHlfc3RkaW4gPSBtb2Nr Lk1vY2soKQorCQlub25fdHR5X3N0ZGluLmlzYXR0eS5yZXR1cm5fdmFsdWUgPSBGYWxzZQor CisJCXdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KCcnKSBhcyBidWlsZF9kaXI6 CisJCQl0cmVlID0ga3VuaXRfa2VybmVsLkxpbnV4U291cmNlVHJlZShidWlsZF9kaXIsIGt1 bml0Y29uZmlnX3BhdGhzPVtvcy5kZXZudWxsXSkKKwkJCXdpdGggbW9jay5wYXRjaC5vYmpl Y3QodHJlZS5fb3BzLCAnc3RhcnQnLCBzaWRlX2VmZmVjdD1mYWtlX3N0YXJ0KSwgXAorCQkJ ICAgICBtb2NrLnBhdGNoLm9iamVjdChrdW5pdF9rZXJuZWwuc3lzLCAnc3RkaW4nLCBub25f dHR5X3N0ZGluKSwgXAorCQkJICAgICBtb2NrLnBhdGNoLm9iamVjdChrdW5pdF9rZXJuZWwu c3VicHJvY2VzcywgJ2NhbGwnKSBhcyBtb2NrX2NhbGw6CisJCQkJZm9yIF8gaW4gdHJlZS5y dW5fa2VybmVsKGJ1aWxkX2Rpcj1idWlsZF9kaXIpOgorCQkJCQlwYXNzCisKKwkJCQltb2Nr X2NhbGwuYXNzZXJ0X25vdF9jYWxsZWQoKQorCisJZGVmIHRlc3Rfc2lnbmFsX2hhbmRsZXJf c2tpcHNfdGVybWluYWxfcmVzZXRfd2l0aG91dF90dHkoc2VsZik6CisJCW5vbl90dHlfc3Rk aW4gPSBtb2NrLk1vY2soKQorCQlub25fdHR5X3N0ZGluLmlzYXR0eS5yZXR1cm5fdmFsdWUg PSBGYWxzZQorCQl0cmVlID0ga3VuaXRfa2VybmVsLkxpbnV4U291cmNlVHJlZSgnJywga3Vu aXRjb25maWdfcGF0aHM9W29zLmRldm51bGxdKQorCisJCXdpdGggbW9jay5wYXRjaC5vYmpl Y3Qoa3VuaXRfa2VybmVsLnN5cywgJ3N0ZGluJywgbm9uX3R0eV9zdGRpbiksIFwKKwkJICAg ICBtb2NrLnBhdGNoLm9iamVjdChrdW5pdF9rZXJuZWwuc3VicHJvY2VzcywgJ2NhbGwnKSBh cyBtb2NrX2NhbGwsIFwKKwkJICAgICBtb2NrLnBhdGNoLm9iamVjdChrdW5pdF9rZXJuZWwu bG9nZ2luZywgJ2Vycm9yJykgYXMgbW9ja19lcnJvcjoKKwkJCXRyZWUuc2lnbmFsX2hhbmRs ZXIoc2lnbmFsLlNJR0lOVCwgTm9uZSkKKwkJCW1vY2tfZXJyb3IuYXNzZXJ0X2NhbGxlZF9v bmNlKCkKKwkJCW1vY2tfY2FsbC5hc3NlcnRfbm90X2NhbGxlZCgpCisKKwlkZWYgdGVzdF9z aWduYWxfaGFuZGxlcl9yZXNldHNfdGVybWluYWxfd2l0aF90dHkoc2VsZik6CisJCXR0eV9z dGRpbiA9IG1vY2suTW9jaygpCisJCXR0eV9zdGRpbi5pc2F0dHkucmV0dXJuX3ZhbHVlID0g VHJ1ZQorCQl0cmVlID0ga3VuaXRfa2VybmVsLkxpbnV4U291cmNlVHJlZSgnJywga3VuaXRj b25maWdfcGF0aHM9W29zLmRldm51bGxdKQorCisJCXdpdGggbW9jay5wYXRjaC5vYmplY3Qo a3VuaXRfa2VybmVsLnN5cywgJ3N0ZGluJywgdHR5X3N0ZGluKSwgXAorCQkgICAgIG1vY2su cGF0Y2gub2JqZWN0KGt1bml0X2tlcm5lbC5zdWJwcm9jZXNzLCAnY2FsbCcpIGFzIG1vY2tf Y2FsbCwgXAorCQkgICAgIG1vY2sucGF0Y2gub2JqZWN0KGt1bml0X2tlcm5lbC5sb2dnaW5n LCAnZXJyb3InKSBhcyBtb2NrX2Vycm9yOgorCQkJdHJlZS5zaWduYWxfaGFuZGxlcihzaWdu YWwuU0lHSU5ULCBOb25lKQorCQkJbW9ja19lcnJvci5hc3NlcnRfY2FsbGVkX29uY2UoKQor CQkJbW9ja19jYWxsLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKFsnc3R0eScsICdzYW5lJ10p CisKIAlkZWYgdGVzdF9idWlsZF9yZWNvbmZpZ19ub19jb25maWcoc2VsZik6CiAJCXdpdGgg dGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KCcnKSBhcyBidWlsZF9kaXI6CiAJCQl3aXRo IG9wZW4oa3VuaXRfa2VybmVsLmdldF9rdW5pdGNvbmZpZ19wYXRoKGJ1aWxkX2RpciksICd3 JykgYXMgZjoKQEAgLTg4MSw3ICs5MjMsNyBAQCBjbGFzcyBLVW5pdE1haW5UZXN0KHVuaXR0 ZXN0LlRlc3RDYXNlKToKIAkJc2VsZi5saW51eF9zb3VyY2VfbW9jay5ydW5fa2VybmVsLnJl dHVybl92YWx1ZSA9IFsnVEFQIHZlcnNpb24gMTQnLCAnaW5pdDogcmFuZG9tIG91dHB1dCdd ICsgd2FudAogCiAJCWdvdCA9IGt1bml0Ll9saXN0X3Rlc3RzKHNlbGYubGludXhfc291cmNl X21vY2ssCi0JCQkJICAgICBrdW5pdC5LdW5pdEV4ZWNSZXF1ZXN0KE5vbmUsIE5vbmUsIEZh bHNlLCBGYWxzZSwgJy5rdW5pdCcsIDMwMCwgJ3N1aXRlKicsICcnLCBOb25lLCBOb25lLCAn c3VpdGUnLCBGYWxzZSwgRmFsc2UpKQorCQkJCSAgICAga3VuaXQuS3VuaXRFeGVjUmVxdWVz dChOb25lLCBOb25lLCBGYWxzZSwgRmFsc2UsICcua3VuaXQnLCAzMDAsICdzdWl0ZSonLCAn JywgTm9uZSwgTm9uZSwgJ3N1aXRlJywgRmFsc2UsIEZhbHNlLCBGYWxzZSkpCiAJCXNlbGYu YXNzZXJ0RXF1YWwoZ290LCB3YW50KQogCQkjIFNob3VsZCByZXNwZWN0IHRoZSB1c2VyJ3Mg ZmlsdGVyIGdsb2Igd2hlbiBsaXN0aW5nIHRlc3RzLgogCQlzZWxmLmxpbnV4X3NvdXJjZV9t b2NrLnJ1bl9rZXJuZWwuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoCkBAIC04OTQsNyArOTM2 LDcgQEAgY2xhc3MgS1VuaXRNYWluVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKIAkJIyBT aG91bGQgcmVzcGVjdCB0aGUgdXNlcidzIGZpbHRlciBnbG9iIHdoZW4gbGlzdGluZyB0ZXN0 cy4KIAkJbW9ja190ZXN0cy5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aChtb2NrLkFOWSwKLQkJ CQkgICAgIGt1bml0Lkt1bml0RXhlY1JlcXVlc3QoTm9uZSwgTm9uZSwgRmFsc2UsIEZhbHNl LCAnLmt1bml0JywgMzAwLCAnc3VpdGUqLnRlc3QqJywgJycsIE5vbmUsIE5vbmUsICdzdWl0 ZScsIEZhbHNlLCBGYWxzZSkpCisJCQkJICAgICBrdW5pdC5LdW5pdEV4ZWNSZXF1ZXN0KE5v bmUsIE5vbmUsIEZhbHNlLCBGYWxzZSwgJy5rdW5pdCcsIDMwMCwgJ3N1aXRlKi50ZXN0Kics ICcnLCBOb25lLCBOb25lLCAnc3VpdGUnLCBGYWxzZSwgRmFsc2UsIEZhbHNlKSkKIAkJc2Vs Zi5saW51eF9zb3VyY2VfbW9jay5ydW5fa2VybmVsLmFzc2VydF9oYXNfY2FsbHMoWwogCQkJ bW9jay5jYWxsKGFyZ3M9Tm9uZSwgYnVpbGRfZGlyPScua3VuaXQnLCBmaWx0ZXJfZ2xvYj0n c3VpdGUudGVzdConLCBmaWx0ZXI9JycsIGZpbHRlcl9hY3Rpb249Tm9uZSwgdGltZW91dD0z MDApLAogCQkJbW9jay5jYWxsKGFyZ3M9Tm9uZSwgYnVpbGRfZGlyPScua3VuaXQnLCBmaWx0 ZXJfZ2xvYj0nc3VpdGUyLnRlc3QqJywgZmlsdGVyPScnLCBmaWx0ZXJfYWN0aW9uPU5vbmUs IHRpbWVvdXQ9MzAwKSwKQEAgLTkwNywxMyArOTQ5LDIzIEBAIGNsYXNzIEtVbml0TWFpblRl c3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAJCSMgU2hvdWxkIHJlc3BlY3QgdGhlIHVzZXIn cyBmaWx0ZXIgZ2xvYiB3aGVuIGxpc3RpbmcgdGVzdHMuCiAJCW1vY2tfdGVzdHMuYXNzZXJ0 X2NhbGxlZF9vbmNlX3dpdGgobW9jay5BTlksCi0JCQkJICAgICBrdW5pdC5LdW5pdEV4ZWNS ZXF1ZXN0KE5vbmUsIE5vbmUsIEZhbHNlLCBGYWxzZSwgJy5rdW5pdCcsIDMwMCwgJ3N1aXRl KicsICcnLCBOb25lLCBOb25lLCAndGVzdCcsIEZhbHNlLCBGYWxzZSkpCisJCQkJICAgICBr dW5pdC5LdW5pdEV4ZWNSZXF1ZXN0KE5vbmUsIE5vbmUsIEZhbHNlLCBGYWxzZSwgJy5rdW5p dCcsIDMwMCwgJ3N1aXRlKicsICcnLCBOb25lLCBOb25lLCAndGVzdCcsIEZhbHNlLCBGYWxz ZSwgRmFsc2UpKQogCQlzZWxmLmxpbnV4X3NvdXJjZV9tb2NrLnJ1bl9rZXJuZWwuYXNzZXJ0 X2hhc19jYWxscyhbCiAJCQltb2NrLmNhbGwoYXJncz1Ob25lLCBidWlsZF9kaXI9Jy5rdW5p dCcsIGZpbHRlcl9nbG9iPSdzdWl0ZS50ZXN0MScsIGZpbHRlcj0nJywgZmlsdGVyX2FjdGlv bj1Ob25lLCB0aW1lb3V0PTMwMCksCiAJCQltb2NrLmNhbGwoYXJncz1Ob25lLCBidWlsZF9k aXI9Jy5rdW5pdCcsIGZpbHRlcl9nbG9iPSdzdWl0ZS50ZXN0MicsIGZpbHRlcj0nJywgZmls dGVyX2FjdGlvbj1Ob25lLCB0aW1lb3V0PTMwMCksCiAJCQltb2NrLmNhbGwoYXJncz1Ob25l LCBidWlsZF9kaXI9Jy5rdW5pdCcsIGZpbHRlcl9nbG9iPSdzdWl0ZTIudGVzdDEnLCBmaWx0 ZXI9JycsIGZpbHRlcl9hY3Rpb249Tm9uZSwgdGltZW91dD0zMDApLAogCQldKQogCisJQG1v Y2sucGF0Y2gub2JqZWN0KGt1bml0LCAnX2xpc3RfdGVzdHMnKQorCUBtb2NrLnBhdGNoLm9i amVjdChzeXMsICdzdGRvdXQnLCBuZXdfY2FsbGFibGU9aW8uU3RyaW5nSU8pCisJZGVmIHRl c3RfbGlzdF9zdWl0ZXMoc2VsZiwgbW9ja19zdGRvdXQsIG1vY2tfdGVzdHMpOgorCQltb2Nr X3Rlc3RzLnJldHVybl92YWx1ZSA9IFsnc3VpdGUudGVzdDEnLCAnc3VpdGUudGVzdDInLCAn c3VpdGUyLnRlc3QxJ10KKwkJa3VuaXQubWFpbihbJ3J1bicsICctLWxpc3Rfc3VpdGVzJ10p CisKKwkJd2FudCA9IFsnc3VpdGUnLCAnc3VpdGUyJ10KKwkJb3V0cHV0ID0gbW9ja19zdGRv dXQuZ2V0dmFsdWUoKS5zcGxpdCgpCisJCXNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0LCB3YW50 KQorCiAJQG1vY2sucGF0Y2gub2JqZWN0KHN5cywgJ3N0ZG91dCcsIG5ld19jYWxsYWJsZT1p by5TdHJpbmdJTykKIAlkZWYgdGVzdF9saXN0X2NtZHMoc2VsZiwgbW9ja19zdGRvdXQpOgog CQlrdW5pdC5tYWluKFsnLS1saXN0LWNtZHMnXSkK --------------82GcWLwMMjyy7p6IlzAqmR2o--