From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luis Chamberlain Subject: Re: [RFC v3 03/19] kunit: test: add string_stream a std::stream like string builder Date: Thu, 29 Nov 2018 19:29:24 -0800 Message-ID: <20181130032924.GH18410@garbanzo.do-not-panic.com> References: <20181128193636.254378-1-brendanhiggins@google.com> <20181128193636.254378-4-brendanhiggins@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by gabe.freedesktop.org (Postfix) with ESMTPS id 770836E334 for ; Fri, 30 Nov 2018 03:29:29 +0000 (UTC) Received: by mail-pf1-f196.google.com with SMTP id i12so2073352pfo.7 for ; Thu, 29 Nov 2018 19:29:29 -0800 (PST) Content-Disposition: inline In-Reply-To: <20181128193636.254378-4-brendanhiggins@google.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Brendan Higgins , Petr Mladek Cc: brakmo@fb.com, dri-devel@lists.freedesktop.org, linux-kselftest@vger.kernel.org, shuah@kernel.org, frowand.list@gmail.com, linux-nvdimm@lists.01.org, richard@nod.at, knut.omang@oracle.com, kieran.bingham@ideasonboard.com, joel@jms.id.au, jdike@addtoit.com, Tim.Bird@sony.com, keescook@google.com, linux-um@lists.infradead.org, rostedt@goodmis.org, julia.lawall@lip6.fr, dan.j.williams@intel.com, kunit-dev@googlegroups.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, mpe@ellerman.id.au, joe@perches.com, khilman@baylibre.com List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBOb3YgMjgsIDIwMTggYXQgMTE6MzY6MjBBTSAtMDgwMCwgQnJlbmRhbiBIaWdnaW5z IHdyb3RlOgo+IEEgbnVtYmVyIG9mIHRlc3QgZmVhdHVyZXMgbmVlZCB0byBkbyBwcmV0dHkgY29t cGxpY2F0ZWQgc3RyaW5nIHByaW50aW5nCj4gd2hlcmUgaXQgbWF5IG5vdCBiZSBwb3NzaWJsZSB0 byByZWx5IG9uIGEgc2luZ2xlIHByZWFsbG9jYXRlZCBzdHJpbmcKPiB3aXRoIHBhcmFtZXRlcnMu Cj4gCj4gU28gcHJvdmlkZSBhIGxpYnJhcnkgZm9yIGNvbnN0cnVjdGluZyB0aGUgc3RyaW5nIGFz IHlvdSBnbyBzaW1pbGFyIHRvCj4gQysrJ3Mgc3RkOjpzdHJpbmcuCgpIcm0sIHdoYXQncyB0aGUg cG90ZW50aWFsIGZvciBzdWNoIHRoaW5nIGFjdHVhbGx5IGJlaW5nIGV2ZW50dWFsbHkKZ2VuZXJp Y2FsbHkgdXNlZnVsIGZvciBwcmludGsgZm9sa3MsIEkgd29uZGVyPyBQZXRyPwoKICBMdWlzCgo+ IAo+IFNpZ25lZC1vZmYtYnk6IEJyZW5kYW4gSGlnZ2lucyA8YnJlbmRhbmhpZ2dpbnNAZ29vZ2xl LmNvbT4KPiAtLS0KPiAgaW5jbHVkZS9rdW5pdC9zdHJpbmctc3RyZWFtLmggfCAgNDQgKysrKysr KysrKwo+ICBrdW5pdC9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAgMyArLQo+ICBrdW5pdC9z dHJpbmctc3RyZWFtLmMgICAgICAgICB8IDE0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTk1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUva3VuaXQvc3RyaW5nLXN0cmVhbS5oCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBrdW5pdC9zdHJpbmctc3RyZWFtLmMKPiAKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9rdW5pdC9zdHJpbmctc3RyZWFtLmggYi9pbmNsdWRlL2t1bml0L3N0cmluZy1z dHJlYW0uaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwMC4uOTMz ZWQ1NzQwY2YwNwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNsdWRlL2t1bml0L3N0cmluZy1z dHJlYW0uaAo+IEBAIC0wLDAgKzEsNDQgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAgKi8KPiArLyoKPiArICogQysrIHN0cmVhbSBzdHlsZSBzdHJpbmcgYnVpbGRlciB1 c2VkIGluIEtVbml0IGZvciBidWlsZGluZyBtZXNzYWdlcy4KPiArICoKPiArICogQ29weXJpZ2h0 IChDKSAyMDE4LCBHb29nbGUgTExDLgo+ICsgKiBBdXRob3I6IEJyZW5kYW4gSGlnZ2lucyA8YnJl bmRhbmhpZ2dpbnNAZ29vZ2xlLmNvbT4KPiArICovCj4gKwo+ICsjaWZuZGVmIF9LVU5JVF9TVFJJ TkdfU1RSRUFNX0gKPiArI2RlZmluZSBfS1VOSVRfU1RSSU5HX1NUUkVBTV9ICj4gKwo+ICsjaW5j bHVkZSA8bGludXgvdHlwZXMuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9rcmVmLmg+Cj4gKyNpbmNsdWRlIDxzdGRhcmcuaD4KPiArCj4gK3N0cnVj dCBzdHJpbmdfc3RyZWFtX2ZyYWdtZW50IHsKPiArCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKPiAr CWNoYXIgKmZyYWdtZW50Owo+ICt9Owo+ICsKPiArc3RydWN0IHN0cmluZ19zdHJlYW0gewo+ICsJ c2l6ZV90IGxlbmd0aDsKPiArCXN0cnVjdCBsaXN0X2hlYWQgZnJhZ21lbnRzOwo+ICsKPiArCS8q IGxlbmd0aCBhbmQgZnJhZ21lbnRzIGFyZSBwcm90ZWN0ZWQgYnkgdGhpcyBsb2NrICovCj4gKwlz cGlubG9ja190IGxvY2s7Cj4gKwlzdHJ1Y3Qga3JlZiByZWZjb3VudDsKPiArCWludCAoKmFkZCko c3RydWN0IHN0cmluZ19zdHJlYW0gKnRoaXMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKPiArCWlu dCAoKnZhZGQpKHN0cnVjdCBzdHJpbmdfc3RyZWFtICp0aGlzLCBjb25zdCBjaGFyICpmbXQsIHZh X2xpc3QgYXJncyk7Cj4gKwljaGFyICooKmdldF9zdHJpbmcpKHN0cnVjdCBzdHJpbmdfc3RyZWFt ICp0aGlzKTsKPiArCXZvaWQgKCpjbGVhcikoc3RydWN0IHN0cmluZ19zdHJlYW0gKnRoaXMpOwo+ ICsJYm9vbCAoKmlzX2VtcHR5KShzdHJ1Y3Qgc3RyaW5nX3N0cmVhbSAqdGhpcyk7Cj4gK307Cj4g Kwo+ICtzdHJ1Y3Qgc3RyaW5nX3N0cmVhbSAqbmV3X3N0cmluZ19zdHJlYW0odm9pZCk7Cj4gKwo+ ICt2b2lkIGRlc3Ryb3lfc3RyaW5nX3N0cmVhbShzdHJ1Y3Qgc3RyaW5nX3N0cmVhbSAqc3RyZWFt KTsKPiArCj4gK3ZvaWQgc3RyaW5nX3N0cmVhbV9nZXQoc3RydWN0IHN0cmluZ19zdHJlYW0gKnN0 cmVhbSk7Cj4gKwo+ICtpbnQgc3RyaW5nX3N0cmVhbV9wdXQoc3RydWN0IHN0cmluZ19zdHJlYW0g KnN0cmVhbSk7Cj4gKwo+ICsjZW5kaWYgLyogX0tVTklUX1NUUklOR19TVFJFQU1fSCAqLwo+IGRp ZmYgLS1naXQgYS9rdW5pdC9NYWtlZmlsZSBiL2t1bml0L01ha2VmaWxlCj4gaW5kZXggNWVmZGM0 ZGVhMmMwOC4uMjc1YjU2NWEwZTgxZiAxMDA2NDQKPiAtLS0gYS9rdW5pdC9NYWtlZmlsZQo+ICsr KyBiL2t1bml0L01ha2VmaWxlCj4gQEAgLTEgKzEsMiBAQAo+IC1vYmotJChDT05GSUdfS1VOSVQp ICs9CQkJdGVzdC5vCj4gK29iai0kKENPTkZJR19LVU5JVCkgKz0JCQl0ZXN0Lm8gXAo+ICsJCQkJ CXN0cmluZy1zdHJlYW0ubwo+IGRpZmYgLS1naXQgYS9rdW5pdC9zdHJpbmctc3RyZWFtLmMgYi9r dW5pdC9zdHJpbmctc3RyZWFtLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw MDAwMDAwMDAuLjFlN2VmYTYzMGNjMzUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIva3VuaXQvc3Ry aW5nLXN0cmVhbS5jCj4gQEAgLTAsMCArMSwxNDkgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAKPiArLyoKPiArICogQysrIHN0cmVhbSBzdHlsZSBzdHJpbmcgYnVpbGRl ciB1c2VkIGluIEtVbml0IGZvciBidWlsZGluZyBtZXNzYWdlcy4KPiArICoKPiArICogQ29weXJp Z2h0IChDKSAyMDE4LCBHb29nbGUgTExDLgo+ICsgKiBBdXRob3I6IEJyZW5kYW4gSGlnZ2lucyA8 YnJlbmRhbmhpZ2dpbnNAZ29vZ2xlLmNvbT4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8bGludXgv bGlzdC5oPgo+ICsjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ICsjaW5jbHVkZSA8a3VuaXQvc3Ry aW5nLXN0cmVhbS5oPgo+ICsKPiArc3RhdGljIGludCBzdHJpbmdfc3RyZWFtX3ZhZGQoc3RydWN0 IHN0cmluZ19zdHJlYW0gKnRoaXMsCj4gKwkJCSAgICAgICBjb25zdCBjaGFyICpmbXQsCj4gKwkJ CSAgICAgICB2YV9saXN0IGFyZ3MpCj4gK3sKPiArCXN0cnVjdCBzdHJpbmdfc3RyZWFtX2ZyYWdt ZW50ICpmcmFnbWVudDsKPiArCWludCBsZW47Cj4gKwl2YV9saXN0IGFyZ3NfZm9yX2NvdW50aW5n Owo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCj4gKwkvKiBNYWtlIGEgY29weSBiZWNhdXNl IGB2c25wcmludGZgIGNvdWxkIGNoYW5nZSBpdCAqLwo+ICsJdmFfY29weShhcmdzX2Zvcl9jb3Vu dGluZywgYXJncyk7Cj4gKwo+ICsJLyogTmVlZCBzcGFjZSBmb3IgbnVsbCBieXRlLiAqLwo+ICsJ bGVuID0gdnNucHJpbnRmKE5VTEwsIDAsIGZtdCwgYXJnc19mb3JfY291bnRpbmcpICsgMTsKPiAr Cj4gKwl2YV9lbmQoYXJnc19mb3JfY291bnRpbmcpOwo+ICsKPiArCWZyYWdtZW50ID0ga21hbGxv YyhzaXplb2YoKmZyYWdtZW50KSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIWZyYWdtZW50KQo+ICsJ CXJldHVybiAtRU5PTUVNOwo+ICsKPiArCWZyYWdtZW50LT5mcmFnbWVudCA9IGttYWxsb2MobGVu LCBHRlBfS0VSTkVMKTsKPiArCWlmICghZnJhZ21lbnQtPmZyYWdtZW50KSB7Cj4gKwkJa2ZyZWUo ZnJhZ21lbnQpOwo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsJfQo+ICsKPiArCWxlbiA9IHZzbnBy aW50ZihmcmFnbWVudC0+ZnJhZ21lbnQsIGxlbiwgZm10LCBhcmdzKTsKPiArCXNwaW5fbG9ja19p cnFzYXZlKCZ0aGlzLT5sb2NrLCBmbGFncyk7Cj4gKwl0aGlzLT5sZW5ndGggKz0gbGVuOwo+ICsJ bGlzdF9hZGRfdGFpbCgmZnJhZ21lbnQtPm5vZGUsICZ0aGlzLT5mcmFnbWVudHMpOwo+ICsJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmdGhpcy0+bG9jaywgZmxhZ3MpOwo+ICsJcmV0dXJuIDA7Cj4g K30KPiArCj4gK3N0YXRpYyBpbnQgc3RyaW5nX3N0cmVhbV9hZGQoc3RydWN0IHN0cmluZ19zdHJl YW0gKnRoaXMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQo+ICt7Cj4gKwl2YV9saXN0IGFyZ3M7Cj4g KwlpbnQgcmVzdWx0Owo+ICsKPiArCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Cj4gKwlyZXN1bHQgPSBz dHJpbmdfc3RyZWFtX3ZhZGQodGhpcywgZm10LCBhcmdzKTsKPiArCXZhX2VuZChhcmdzKTsKPiAr CXJldHVybiByZXN1bHQ7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHN0cmluZ19zdHJlYW1fY2xl YXIoc3RydWN0IHN0cmluZ19zdHJlYW0gKnRoaXMpCj4gK3sKPiArCXN0cnVjdCBzdHJpbmdfc3Ry ZWFtX2ZyYWdtZW50ICpmcmFnbWVudCwgKmZyYWdtZW50X3NhZmU7Cj4gKwl1bnNpZ25lZCBsb25n IGZsYWdzOwo+ICsKPiArCXNwaW5fbG9ja19pcnFzYXZlKCZ0aGlzLT5sb2NrLCBmbGFncyk7Cj4g KwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZnJhZ21lbnQsCj4gKwkJCQkgZnJhZ21lbnRfc2Fm ZSwKPiArCQkJCSAmdGhpcy0+ZnJhZ21lbnRzLAo+ICsJCQkJIG5vZGUpIHsKPiArCQlsaXN0X2Rl bCgmZnJhZ21lbnQtPm5vZGUpOwo+ICsJCWtmcmVlKGZyYWdtZW50LT5mcmFnbWVudCk7Cj4gKwkJ a2ZyZWUoZnJhZ21lbnQpOwo+ICsJfQo+ICsJdGhpcy0+bGVuZ3RoID0gMDsKPiArCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJnRoaXMtPmxvY2ssIGZsYWdzKTsKPiArfQo+ICsKPiArc3RhdGljIGNo YXIgKnN0cmluZ19zdHJlYW1fZ2V0X3N0cmluZyhzdHJ1Y3Qgc3RyaW5nX3N0cmVhbSAqdGhpcykK PiArewo+ICsJc3RydWN0IHN0cmluZ19zdHJlYW1fZnJhZ21lbnQgKmZyYWdtZW50Owo+ICsJc2l6 ZV90IGJ1Zl9sZW4gPSB0aGlzLT5sZW5ndGggKyAxOyAvKiArMSBmb3IgbnVsbCBieXRlLiAqLwo+ ICsJY2hhciAqYnVmOwo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCj4gKwlidWYgPSBremFs bG9jKGJ1Zl9sZW4sIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFidWYpCj4gKwkJcmV0dXJuIE5VTEw7 Cj4gKwo+ICsJc3Bpbl9sb2NrX2lycXNhdmUoJnRoaXMtPmxvY2ssIGZsYWdzKTsKPiArCWxpc3Rf Zm9yX2VhY2hfZW50cnkoZnJhZ21lbnQsICZ0aGlzLT5mcmFnbWVudHMsIG5vZGUpCj4gKwkJc3Ry bGNhdChidWYsIGZyYWdtZW50LT5mcmFnbWVudCwgYnVmX2xlbik7Cj4gKwlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZ0aGlzLT5sb2NrLCBmbGFncyk7Cj4gKwo+ICsJcmV0dXJuIGJ1ZjsKPiArfQo+ ICsKPiArc3RhdGljIGJvb2wgc3RyaW5nX3N0cmVhbV9pc19lbXB0eShzdHJ1Y3Qgc3RyaW5nX3N0 cmVhbSAqdGhpcykKPiArewo+ICsJYm9vbCBpc19lbXB0eTsKPiArCXVuc2lnbmVkIGxvbmcgZmxh Z3M7Cj4gKwo+ICsJc3Bpbl9sb2NrX2lycXNhdmUoJnRoaXMtPmxvY2ssIGZsYWdzKTsKPiArCWlz X2VtcHR5ID0gbGlzdF9lbXB0eSgmdGhpcy0+ZnJhZ21lbnRzKTsKPiArCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJnRoaXMtPmxvY2ssIGZsYWdzKTsKPiArCj4gKwlyZXR1cm4gaXNfZW1wdHk7Cj4g K30KPiArCj4gK3ZvaWQgZGVzdHJveV9zdHJpbmdfc3RyZWFtKHN0cnVjdCBzdHJpbmdfc3RyZWFt ICpzdHJlYW0pCj4gK3sKPiArCXN0cmVhbS0+Y2xlYXIoc3RyZWFtKTsKPiArCWtmcmVlKHN0cmVh bSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHN0cmluZ19zdHJlYW1fZGVzdHJveShzdHJ1Y3Qg a3JlZiAqa3JlZikKPiArewo+ICsJc3RydWN0IHN0cmluZ19zdHJlYW0gKnN0cmVhbSA9IGNvbnRh aW5lcl9vZihrcmVmLAo+ICsJCQkJCQkgICAgc3RydWN0IHN0cmluZ19zdHJlYW0sCj4gKwkJCQkJ CSAgICByZWZjb3VudCk7Cj4gKwlkZXN0cm95X3N0cmluZ19zdHJlYW0oc3RyZWFtKTsKPiArfQo+ ICsKPiArc3RydWN0IHN0cmluZ19zdHJlYW0gKm5ld19zdHJpbmdfc3RyZWFtKHZvaWQpCj4gK3sK PiArCXN0cnVjdCBzdHJpbmdfc3RyZWFtICpzdHJlYW0gPSBremFsbG9jKHNpemVvZigqc3RyZWFt KSwgR0ZQX0tFUk5FTCk7Cj4gKwo+ICsJaWYgKCFzdHJlYW0pCj4gKwkJcmV0dXJuIE5VTEw7Cj4g Kwo+ICsJSU5JVF9MSVNUX0hFQUQoJnN0cmVhbS0+ZnJhZ21lbnRzKTsKPiArCXNwaW5fbG9ja19p bml0KCZzdHJlYW0tPmxvY2spOwo+ICsJa3JlZl9pbml0KCZzdHJlYW0tPnJlZmNvdW50KTsKPiAr CXN0cmVhbS0+YWRkID0gc3RyaW5nX3N0cmVhbV9hZGQ7Cj4gKwlzdHJlYW0tPnZhZGQgPSBzdHJp bmdfc3RyZWFtX3ZhZGQ7Cj4gKwlzdHJlYW0tPmdldF9zdHJpbmcgPSBzdHJpbmdfc3RyZWFtX2dl dF9zdHJpbmc7Cj4gKwlzdHJlYW0tPmNsZWFyID0gc3RyaW5nX3N0cmVhbV9jbGVhcjsKPiArCXN0 cmVhbS0+aXNfZW1wdHkgPSBzdHJpbmdfc3RyZWFtX2lzX2VtcHR5Owo+ICsJcmV0dXJuIHN0cmVh bTsKPiArfQo+ICsKPiArdm9pZCBzdHJpbmdfc3RyZWFtX2dldChzdHJ1Y3Qgc3RyaW5nX3N0cmVh bSAqc3RyZWFtKQo+ICt7Cj4gKwlrcmVmX2dldCgmc3RyZWFtLT5yZWZjb3VudCk7Cj4gK30KPiAr Cj4gK2ludCBzdHJpbmdfc3RyZWFtX3B1dChzdHJ1Y3Qgc3RyaW5nX3N0cmVhbSAqc3RyZWFtKQo+ ICt7Cj4gKwlyZXR1cm4ga3JlZl9wdXQoJnN0cmVhbS0+cmVmY291bnQsICZzdHJpbmdfc3RyZWFt X2Rlc3Ryb3kpOwo+ICt9Cj4gKwo+IC0tIAo+IDIuMjAuMC5yYzAuMzg3LmdjN2E2OWU2YjZjLWdv b2cKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==