From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id ED8436E379 for ; Wed, 19 Jun 2019 11:51:25 +0000 (UTC) From: Petri Latvala Date: Wed, 19 Jun 2019 14:51:03 +0300 Message-Id: <20190619115107.2908-3-petri.latvala@intel.com> In-Reply-To: <20190619115107.2908-1-petri.latvala@intel.com> References: <20190619115107.2908-1-petri.latvala@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/6] lib/tests: Unit tests for 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: U2lnbmVkLW9mZi1ieTogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBpbnRlbC5jb20+Ci0t LQogbGliL3Rlc3RzL2lndF9keW5hbWljX3N1YnRlc3RzLmMgfCAxODYgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogbGliL3Rlc3RzL21lc29uLmJ1aWxkICAgICAgICAgICAgfCAgIDEg KwogMiBmaWxlcyBjaGFuZ2VkLCAxODcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGxpYi90ZXN0cy9pZ3RfZHluYW1pY19zdWJ0ZXN0cy5jCgpkaWZmIC0tZ2l0IGEvbGliL3Rlc3Rz L2lndF9keW5hbWljX3N1YnRlc3RzLmMgYi9saWIvdGVzdHMvaWd0X2R5bmFtaWNfc3VidGVzdHMu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMGU2OTM3NDQKLS0tIC9kZXYv bnVsbAorKysgYi9saWIvdGVzdHMvaWd0X2R5bmFtaWNfc3VidGVzdHMuYwpAQCAtMCwwICsxLDE4 NiBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCisgKgorICog UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz b24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBk b2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBT b2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9u CisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlz dHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdh cmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVy bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAq CisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj ZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGlu IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4K KyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U WSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZF TlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG T1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g QU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJP TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBP UiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxl cnJuby5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisKKyNpbmNsdWRlICJpZ3RfY29yZS5oIgor I2luY2x1ZGUgImRybXRlc3QuaCIKKworI2luY2x1ZGUgImlndF90ZXN0c19jb21tb24uaCIKKwor c3RhdGljIGludCBkb19mb3JrKHZvaWQgKCp0ZXN0X3RvX3J1bikodm9pZCkpCit7CisJaW50IHBp ZCwgc3RhdHVzOworCisJc3dpdGNoIChwaWQgPSBmb3JrKCkpIHsKKwljYXNlIC0xOgorCQlpbnRl cm5hbF9hc3NlcnQoMCk7CisJY2FzZSAwOgorCQl0ZXN0X3RvX3J1bigpOworCWRlZmF1bHQ6CisJ CXdoaWxlICh3YWl0cGlkKHBpZCwgJnN0YXR1cywgMCkgPT0gLTEgJiYKKwkJICAgICAgIGVycm5v ID09IEVJTlRSKQorCQkJOworCisJCXJldHVybiBzdGF0dXM7CisJfQorfQorCitzdGF0aWMgdm9p ZCBkeW5hbWljX3N1YnRlc3RfaW5fbm9ybWFsX3N1YnRlc3Qodm9pZCkKK3sKKwljaGFyIHByb2db XSA9ICJpZ3Rfbm9fZXhpdCI7CisJY2hhciAqZmFrZV9hcmd2W10gPSB7cHJvZ307CisJaW50IGZh a2VfYXJnYyA9IEFSUkFZX1NJWkUoZmFrZV9hcmd2KTsKKworCWlndF9zdWJ0ZXN0X2luaXQoZmFr ZV9hcmdjLCBmYWtlX2FyZ3YpOworCisJaWd0X3N1YnRlc3QoIm5vcm1hbC1zdWJ0ZXN0Iikgewor CQlpZ3RfZHluYW1pY19zdWJ0ZXN0KCJkeW5hbWljIikgeworCQkJaWd0X2luZm8oIkR5bmFtaWMg c3VidGVzdCBpbiBub3JtYWwgc3VidGVzdFxuIik7CisJCX0KKwl9CisKKwlpZ3RfZXhpdCgpOwor fQorCitzdGF0aWMgdm9pZCBpbnZhbGlkX2R5bmFtaWNfc3VidGVzdF9uYW1lKHZvaWQpCit7CisJ Y2hhciBwcm9nW10gPSAiaWd0X25vX2V4aXQiOworCWNoYXIgKmZha2VfYXJndltdID0ge3Byb2d9 OworCWludCBmYWtlX2FyZ2MgPSBBUlJBWV9TSVpFKGZha2VfYXJndik7CisKKwlpZ3Rfc3VidGVz dF9pbml0KGZha2VfYXJnYywgZmFrZV9hcmd2KTsKKworCWlndF9keW5hbWljX3N1YnRlc3RfY29u dGFpbmVyKCJzdWJ0ZXN0IikgeworCQlpZ3RfZHluYW1pY19zdWJ0ZXN0KCIjIGludmFsaWQgbmFt ZSAhIikgeworCQkJaWd0X2luZm8oIkludmFsaWQgZHluYW1pYyBzdWJ0ZXN0IG5hbWUgdGVzdFxu Iik7CisJCX0KKwl9CisKKwlpZ3RfZXhpdCgpOworfQorCitzdGF0aWMgdm9pZCBkeW5hbWljX3N1 YnRlc3RfaW5fdG9wbGV2ZWwodm9pZCkKK3sKKwljaGFyIHByb2dbXSA9ICJpZ3Rfbm9fZXhpdCI7 CisJY2hhciAqZmFrZV9hcmd2W10gPSB7cHJvZ307CisJaW50IGZha2VfYXJnYyA9IEFSUkFZX1NJ WkUoZmFrZV9hcmd2KTsKKworCWlndF9zdWJ0ZXN0X2luaXQoZmFrZV9hcmdjLCBmYWtlX2FyZ3Yp OworCisJaWd0X2R5bmFtaWNfc3VidGVzdCgiZHluYW1pYy1zdWJ0ZXN0LWluLXRvcGxldmVsIikg eworCQlpZ3RfaW5mbygiRHluYW1pYyBzdWJ0ZXN0cyBuZWVkIHRvIGJlIGluIGEgc3VidGVzdFxu Iik7CisJfQorCisJaWd0X2V4aXQoKTsKK30KKworc3RhdGljIHZvaWQgc3VidGVzdF9pdHNlbGZf ZmFpbGluZyh2b2lkKQoreworCWNoYXIgcHJvZ1tdID0gImlndF9ub19leGl0IjsKKwljaGFyICpm YWtlX2FyZ3ZbXSA9IHtwcm9nfTsKKwlpbnQgZmFrZV9hcmdjID0gQVJSQVlfU0laRShmYWtlX2Fy Z3YpOworCisJaWd0X3N1YnRlc3RfaW5pdChmYWtlX2FyZ2MsIGZha2VfYXJndik7CisKKwlpZ3Rf ZHluYW1pY19zdWJ0ZXN0X2NvbnRhaW5lcigic3VidGVzdCIpIHsKKwkJaWd0X2Fzc2VydChmYWxz ZSk7CisJfQorCisJaWd0X2V4aXQoKTsKK30KKworc3RhdGljIHZvaWQgc3VidGVzdF9pdHNlbGZf c2tpcHBpbmcodm9pZCkKK3sKKwljaGFyIHByb2dbXSA9ICJpZ3Rfbm9fZXhpdCI7CisJY2hhciAq ZmFrZV9hcmd2W10gPSB7cHJvZ307CisJaW50IGZha2VfYXJnYyA9IEFSUkFZX1NJWkUoZmFrZV9h cmd2KTsKKworCWlndF9zdWJ0ZXN0X2luaXQoZmFrZV9hcmdjLCBmYWtlX2FyZ3YpOworCisJaWd0 X2R5bmFtaWNfc3VidGVzdF9jb250YWluZXIoInN1YnRlc3QiKSB7CisJCWlndF9za2lwKCJTa2lw cGluZ1xuIik7CisJfQorCisJaWd0X2V4aXQoKTsKK30KKworc3RhdGljIHZvaWQgZHluYW1pY19z dWJ0ZXN0X2ZhaWx1cmVfbGVhZHNfdG9fZmFpbCh2b2lkKQoreworCWNoYXIgcHJvZ1tdID0gImln dF9ub19leGl0IjsKKwljaGFyICpmYWtlX2FyZ3ZbXSA9IHtwcm9nfTsKKwlpbnQgZmFrZV9hcmdj ID0gQVJSQVlfU0laRShmYWtlX2FyZ3YpOworCisJaWd0X3N1YnRlc3RfaW5pdChmYWtlX2FyZ2Ms IGZha2VfYXJndik7CisKKwlpZ3RfZHluYW1pY19zdWJ0ZXN0X2NvbnRhaW5lcigic3VidGVzdCIp IHsKKwkJaWd0X2R5bmFtaWNfc3VidGVzdCgiZHluYW1pYyIpIHsKKwkJCWlndF9hc3NlcnQoZmFs c2UpOworCQl9CisJfQorCisJaWd0X2V4aXQoKTsKK30KKworc3RhdGljIHZvaWQgbm9fZHluYW1p Y19zdWJ0ZXN0c19lbnRlcmVkX2xlYWRzX3RvX3NraXAodm9pZCkKK3sKKwljaGFyIHByb2dbXSA9 ICJpZ3Rfbm9fZXhpdCI7CisJY2hhciAqZmFrZV9hcmd2W10gPSB7cHJvZ307CisJaW50IGZha2Vf YXJnYyA9IEFSUkFZX1NJWkUoZmFrZV9hcmd2KTsKKworCWlndF9zdWJ0ZXN0X2luaXQoZmFrZV9h cmdjLCBmYWtlX2FyZ3YpOworCisJaWd0X2R5bmFtaWNfc3VidGVzdF9jb250YWluZXIoInN1YnRl c3QiKSB7CisJfQorCisJaWd0X2V4aXQoKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQoreworCWludCByZXQ7CisKKwlyZXQgPSBkb19mb3JrKGR5bmFtaWNfc3VidGVzdF9p bl9ub3JtYWxfc3VidGVzdCk7CisJaW50ZXJuYWxfYXNzZXJ0X3dzaWduYWxlZChyZXQsIFNJR0FC UlQpOworCisJcmV0ID0gZG9fZm9yayhpbnZhbGlkX2R5bmFtaWNfc3VidGVzdF9uYW1lKTsKKwlp bnRlcm5hbF9hc3NlcnRfd3NpZ25hbGVkKHJldCwgU0lHQUJSVCk7CisKKwlyZXQgPSBkb19mb3Jr KGR5bmFtaWNfc3VidGVzdF9pbl90b3BsZXZlbCk7CisJaW50ZXJuYWxfYXNzZXJ0X3dzaWduYWxl ZChyZXQsIFNJR0FCUlQpOworCisJcmV0ID0gZG9fZm9yayhzdWJ0ZXN0X2l0c2VsZl9mYWlsaW5n KTsKKwlpbnRlcm5hbF9hc3NlcnRfd3NpZ25hbGVkKHJldCwgU0lHQUJSVCk7CisKKwlyZXQgPSBk b19mb3JrKHN1YnRlc3RfaXRzZWxmX3NraXBwaW5nKTsKKwlpbnRlcm5hbF9hc3NlcnRfd2V4aXRl ZChyZXQsIElHVF9FWElUX1NLSVApOworCisJcmV0ID0gZG9fZm9yayhkeW5hbWljX3N1YnRlc3Rf ZmFpbHVyZV9sZWFkc190b19mYWlsKTsKKwlpbnRlcm5hbF9hc3NlcnRfd2V4aXRlZChyZXQsIElH VF9FWElUX0ZBSUxVUkUpOworCisJcmV0ID0gZG9fZm9yayhub19keW5hbWljX3N1YnRlc3RzX2Vu dGVyZWRfbGVhZHNfdG9fc2tpcCk7CisJaW50ZXJuYWxfYXNzZXJ0X3dleGl0ZWQocmV0LCBJR1Rf RVhJVF9TS0lQKTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGliL3Rlc3RzL21lc29u LmJ1aWxkIGIvbGliL3Rlc3RzL21lc29uLmJ1aWxkCmluZGV4IGI5MzBlZTZlLi40MjIzYmZmYyAx MDA2NDQKLS0tIGEvbGliL3Rlc3RzL21lc29uLmJ1aWxkCisrKyBiL2xpYi90ZXN0cy9tZXNvbi5i dWlsZApAQCAtMyw2ICszLDcgQEAgbGliX3Rlc3RzID0gWwogCSdpZ3RfY2FuX2ZhaWwnLAogCSdp Z3RfY2FuX2ZhaWxfc2ltcGxlJywKIAknaWd0X2NvbmZsaWN0aW5nX2FyZ3MnLAorCSdpZ3RfZHlu YW1pY19zdWJ0ZXN0cycsCiAJJ2lndF9lZGlkJywKIAknaWd0X2V4aXRfaGFuZGxlcicsCiAJJ2ln dF9mb3JrJywKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3Qt ZGV2