From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21471 invoked by alias); 1 Apr 2011 21:50:05 -0000 Received: (qmail 21451 invoked by uid 22791); 1 Apr 2011 21:50:03 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (74.125.121.67) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 01 Apr 2011 21:49:55 +0000 Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id p31LnrO6023560 for ; Fri, 1 Apr 2011 14:49:53 -0700 Received: from qwj8 (qwj8.prod.google.com [10.241.195.72]) by wpaz29.hot.corp.google.com with ESMTP id p31LnnJh015849 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Fri, 1 Apr 2011 14:49:52 -0700 Received: by qwj8 with SMTP id 8so2859880qwj.32 for ; Fri, 01 Apr 2011 14:49:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.27.69 with SMTP id h5mr3971056qac.301.1301694592249; Fri, 01 Apr 2011 14:49:52 -0700 (PDT) Received: by 10.229.15.146 with HTTP; Fri, 1 Apr 2011 14:49:52 -0700 (PDT) Date: Fri, 01 Apr 2011 21:50:00 -0000 Message-ID: Subject: [gold patch] Incremental 12/18: Add end-to-end test cases for incremental update From: Cary Coutant To: Ian Lance Taylor , Binutils Content-Type: multipart/mixed; boundary=bcaec51b174dc6eef1049fe26347 X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2011-04/txt/msg00011.txt.bz2 --bcaec51b174dc6eef1049fe26347 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 431 This patch adds three end-to-end test case for incremental update. (I removed the Makefile.in diffs from the patch.) -cary * testsuite/Makefile.am: Add incremental_test_2, incremental_test_3, incremental_test_4. * testsuite/Makefile.in: Regenerate. * testsuite/two_file_test_1_v1.cc: New test source file. * testsuite/two_file_test_1b_v1.cc: New test source file. * testsuite/two_file_test_2_v1.cc: New test source file. --bcaec51b174dc6eef1049fe26347 Content-Type: text/plain; charset=US-ASCII; name="incr-patch-12.txt" Content-Disposition: attachment; filename="incr-patch-12.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_glznbcki0 Content-length: 18589 QWRkIGVuZC10by1lbmQgaW5jcmVtZW50YWwgdGVzdCBjYXNlcy4KCgoyMDEx LTA0LTAxIENhcnkgQ291dGFudCAgPGNjb3V0YW50QGdvb2dsZS5jb20+CgoJ KiB0ZXN0c3VpdGUvTWFrZWZpbGUuYW06IEFkZCBpbmNyZW1lbnRhbF90ZXN0 XzIsIGluY3JlbWVudGFsX3Rlc3RfMywKCWluY3JlbWVudGFsX3Rlc3RfNC4K CSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiB0ZXN0 c3VpdGUvdHdvX2ZpbGVfdGVzdF8xX3YxLmNjOiBOZXcgdGVzdCBzb3VyY2Ug ZmlsZS4KCSogdGVzdHN1aXRlL3R3b19maWxlX3Rlc3RfMWJfdjEuY2M6IE5l dyB0ZXN0IHNvdXJjZSBmaWxlLgoJKiB0ZXN0c3VpdGUvdHdvX2ZpbGVfdGVz dF8yX3YxLmNjOiBOZXcgdGVzdCBzb3VyY2UgZmlsZS4KCgpkaWZmIC0tZ2l0 IGEvZ29sZC90ZXN0c3VpdGUvTWFrZWZpbGUuYW0gYi9nb2xkL3Rlc3RzdWl0 ZS9NYWtlZmlsZS5hbQppbmRleCAyNjc1NzYzLi45MDg2MGYxIDEwMDY0NAot LS0gYS9nb2xkL3Rlc3RzdWl0ZS9NYWtlZmlsZS5hbQorKysgYi9nb2xkL3Rl c3RzdWl0ZS9NYWtlZmlsZS5hbQpAQCAtMTgxNSw2ICsxODE1LDQxIEBAIG1l bW9yeV90ZXN0OiBtZW1vcnlfdGVzdC5vIGdjY3Rlc3RkaXIvbGQgJChzcmNk aXIpL21lbW9yeV90ZXN0LnQKIG1lbW9yeV90ZXN0LnN0ZG91dDogbWVtb3J5 X3Rlc3QKIAkkKFRFU1RfUkVBREVMRikgLWxXUyAgJDwgPiAkQAogCisjIEVu ZC10by1lbmQgaW5jcmVtZW50YWwgbGlua2luZyB0ZXN0cy4KKyMgSW5jcmVt ZW50YWwgbGlua2luZyBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIG9ubHkgb24g dGhlIHg4Nl82NCB0YXJnZXQuCisKK2lmIERFRkFVTFRfVEFSR0VUX1g4Nl82 NAorCitjaGVja19QUk9HUkFNUyArPSBpbmNyZW1lbnRhbF90ZXN0XzIKK01P U1RMWUNMRUFORklMRVMgKz0gdHdvX2ZpbGVfdGVzdF90bXAubworaW5jcmVt ZW50YWxfdGVzdF8yOiB0d29fZmlsZV90ZXN0XzFfdjEubyB0d29fZmlsZV90 ZXN0XzEubyB0d29fZmlsZV90ZXN0XzFiLm8gXAorCQkgICAgdHdvX2ZpbGVf dGVzdF8yLm8gdHdvX2ZpbGVfdGVzdF9tYWluLm8gZ2NjdGVzdGRpci9sZAor CWNwIC1mIHR3b19maWxlX3Rlc3RfMV92MS5vIHR3b19maWxlX3Rlc3RfdG1w Lm8KKwkkKENYWExJTkspIC1XbCwtLWluY3JlbWVudGFsLWZ1bGwgLUJnY2N0 ZXN0ZGlyLyB0d29fZmlsZV90ZXN0X3RtcC5vIHR3b19maWxlX3Rlc3RfMWIu byB0d29fZmlsZV90ZXN0XzIubyB0d29fZmlsZV90ZXN0X21haW4ubworCUBz bGVlcCAxCisJY3AgLWYgdHdvX2ZpbGVfdGVzdF8xLm8gdHdvX2ZpbGVfdGVz dF90bXAubworCSQoQ1hYTElOSykgLVdsLC0taW5jcmVtZW50YWwtdXBkYXRl IC1CZ2NjdGVzdGRpci8gdHdvX2ZpbGVfdGVzdF90bXAubyB0d29fZmlsZV90 ZXN0XzFiLm8gdHdvX2ZpbGVfdGVzdF8yLm8gdHdvX2ZpbGVfdGVzdF9tYWlu Lm8KKworY2hlY2tfUFJPR1JBTVMgKz0gaW5jcmVtZW50YWxfdGVzdF8zCitp bmNyZW1lbnRhbF90ZXN0XzM6IHR3b19maWxlX3Rlc3RfMS5vIHR3b19maWxl X3Rlc3RfMWJfdjEubyB0d29fZmlsZV90ZXN0XzFiLm8gXAorCQkgICAgdHdv X2ZpbGVfdGVzdF8yLm8gdHdvX2ZpbGVfdGVzdF9tYWluLm8gZ2NjdGVzdGRp ci9sZAorCWNwIC1mIHR3b19maWxlX3Rlc3RfMWJfdjEubyB0d29fZmlsZV90 ZXN0X3RtcC5vCisJJChDWFhMSU5LKSAtV2wsLS1pbmNyZW1lbnRhbC1mdWxs IC1CZ2NjdGVzdGRpci8gdHdvX2ZpbGVfdGVzdF8xLm8gdHdvX2ZpbGVfdGVz dF90bXAubyB0d29fZmlsZV90ZXN0XzIubyB0d29fZmlsZV90ZXN0X21haW4u bworCUBzbGVlcCAxCisJY3AgLWYgdHdvX2ZpbGVfdGVzdF8xYi5vIHR3b19m aWxlX3Rlc3RfdG1wLm8KKwkkKENYWExJTkspIC1XbCwtLWluY3JlbWVudGFs LXVwZGF0ZSAtQmdjY3Rlc3RkaXIvIHR3b19maWxlX3Rlc3RfMS5vIHR3b19m aWxlX3Rlc3RfdG1wLm8gdHdvX2ZpbGVfdGVzdF8yLm8gdHdvX2ZpbGVfdGVz dF9tYWluLm8KKworY2hlY2tfUFJPR1JBTVMgKz0gaW5jcmVtZW50YWxfdGVz dF80CitpbmNyZW1lbnRhbF90ZXN0XzQ6IHR3b19maWxlX3Rlc3RfMS5vIHR3 b19maWxlX3Rlc3RfMWIubyB0d29fZmlsZV90ZXN0XzJfdjEubyBcCisJCSAg ICB0d29fZmlsZV90ZXN0XzIubyB0d29fZmlsZV90ZXN0X21haW4ubyBnY2N0 ZXN0ZGlyL2xkCisJY3AgLWYgdHdvX2ZpbGVfdGVzdF8yX3YxLm8gdHdvX2Zp bGVfdGVzdF90bXAubworCSQoQ1hYTElOSykgLVdsLC0taW5jcmVtZW50YWwt ZnVsbCAtQmdjY3Rlc3RkaXIvIHR3b19maWxlX3Rlc3RfMS5vIHR3b19maWxl X3Rlc3RfMWIubyB0d29fZmlsZV90ZXN0X3RtcC5vIHR3b19maWxlX3Rlc3Rf bWFpbi5vCisJQHNsZWVwIDEKKwljcCAtZiB0d29fZmlsZV90ZXN0XzIubyB0 d29fZmlsZV90ZXN0X3RtcC5vCisJJChDWFhMSU5LKSAtV2wsLS1pbmNyZW1l bnRhbC11cGRhdGUgLUJnY2N0ZXN0ZGlyLyB0d29fZmlsZV90ZXN0XzEubyB0 d29fZmlsZV90ZXN0XzFiLm8gdHdvX2ZpbGVfdGVzdF90bXAubyB0d29fZmls ZV90ZXN0X21haW4ubworCitlbmRpZiBERUZBVUxUX1RBUkdFVF9YODZfNjQK KwogZW5kaWYgR0NDCiBlbmRpZiBOQVRJVkVfTElOS0VSCiAKZGlmZiAtLWdp dCBhL2dvbGQvdGVzdHN1aXRlL3R3b19maWxlX3Rlc3RfMV92MS5jYyBiL2dv bGQvdGVzdHN1aXRlL3R3b19maWxlX3Rlc3RfMV92MS5jYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTQzZDliCi0tLSAvZGV2L251 bGwKKysrIGIvZ29sZC90ZXN0c3VpdGUvdHdvX2ZpbGVfdGVzdF8xX3YxLmNj CkBAIC0wLDAgKzEsMjQzIEBACisvLyB0d29fZmlsZV90ZXN0XzFfdjEuY2Mg LS0gYSB0d28gZmlsZSB0ZXN0IGNhc2UgZm9yIGdvbGQsIGZpbGUgMSBvZiAy CisKKy8vIENvcHlyaWdodCAyMDA2LCAyMDA3LCAyMDA4LCAyMDExIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLy8gV3JpdHRlbiBieSBJYW4g TGFuY2UgVGF5bG9yIDxpYW50QGdvb2dsZS5jb20+LgorCisvLyBUaGlzIGZp bGUgaXMgcGFydCBvZiBnb2xkLgorCisvLyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorLy8gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl IExpY2Vuc2UsIG9yCisvLyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorCisvLyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy8vIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCisvLyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisvLyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisvLyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorLy8gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy8vIEZvdW5k YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCAtIEZpZnRoIEZsb29y LCBCb3N0b24sCisvLyBNQSAwMjExMC0xMzAxLCBVU0EuCisKKy8vIFRoaXMg aXMgYW4gYWx0ZXJuYXRlIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBmaWxlIHR3 b19maWxlX3Rlc3RfMS5jYywKKy8vIHVzZWQgdG8gdGVzdCBpbmNyZW1lbnRh bCBsaW5raW5nLiAgV2UgYnVpbGQgYSBiaW5hcnkgZmlyc3QgdXNpbmcgdGhp cworLy8gc291cmNlIGZpbGUsIHRoZW4gZG8gYW4gaW5jcmVtZW50YWwgbGlu ayB3aXRoIHRoZSBwcmltYXJ5IHZlcnNpb24gb2YKKy8vIHRoZSBmaWxlLgor CisvLyBUaGlzIHRlc3RzIHJlZmVyZW5jZXMgYmV0d2VlbiBmaWxlcy4gIFRo aXMgaXMgZmlsZSAxLCBhbmQKKy8vIHR3b19maWxlX3Rlc3RfMi5jYyBpcyBm aWxlIDIuICBXZSB0ZXN0IGluIHNldmVyYWwgZGlmZmVyZW50IHdheXM6CisK Ky8vIEZpbGVzIDEgYW5kIDIgbGlua2VkIHRvZ2V0aGVyIGluIGV4ZWN1dGFi bGUuCisvLyBGaWxlIDEgaW4gZXhlY3V0YWJsZSwgZmlsZSAyIGluIHNoYXJl ZCBsaWJyYXJ5LgorLy8gRmlsZSAxIGluIHNoYXJlZCBsaWJyYXJ5LCBmaWxl IDIgaW4gZXhlY3V0YWJsZS4KKy8vIEZpbGVzIDEgYW5kIDIgbGlua2VkIHRv Z2V0aGVyIGluIHNoYXJlZCBsaWJyYXJ5LgorLy8gRmlsZXMgMSBhbmQgMiBp biBkaWZmZXJlbnQgc2hhcmVkIGxpYnJhcmllcy4KKworLy8gV2UgdGVzdCB0 aGUgZm9sbG93aW5nIGNhc2VzLgorCisvLyAxICBDb2RlIGluIGZpbGUgMSBj YWxscyBjb2RlIGluIGZpbGUgMi4KKy8vIDIgIENvZGUgaW4gZmlsZSAxIHJl ZmVycyB0byBnbG9iYWwgZGF0YSBpbiBmaWxlIDIuCisvLyAzICBDb2RlIGlu IGZpbGUgMSByZWZlcmVzIHRvIGNvbW1vbiBzeW1ib2wgaW4gZmlsZSAyLgor Ly8gNCAgQ29kZSBpbiBmaWxlIDEgcmVmZXJzIHRvIG9mZnNldCB3aXRoaW4g Z2xvYmFsIGRhdGEgaW4gZmlsZSAyLgorLy8gNSAgQ29kZSBpbiBmaWxlIDEg cmVmZXJzIHRvIG9mZnNldCB3aXRoaW4gY29tbW9uIHN5bWJvbCBpbiBmaWxl IDIuCisvLyA2ICBEYXRhIGluIGZpbGUgMSByZWZlcnMgdG8gZ2xvYmFsIGRh dGEgaW4gZmlsZSAyLgorLy8gNyAgRGF0YSBpbiBmaWxlIDEgcmVmZXJzIHRv IGNvbW1vbiBzeW1ib2wgaW4gZmlsZSAyLgorLy8gOCAgRGF0YSBpbiBmaWxl IDEgcmVmZXJzIHRvIG9mZnNldCB3aXRoaW4gZ2xvYmFsIGRhdGEgaW4gZmls ZSAyLgorLy8gOSAgRGF0YSBpbiBmaWxlIDEgcmVmZXJzIHRvIG9mZnNldCB3 aXRoaW4gY29tbW9uIHN5bWJvbCBpbiBmaWxlIDIuCisvLyAxMCBEYXRhIGlu IGZpbGUgMSByZWZlcnMgdG8gZnVuY3Rpb24gaW4gZmlsZSAyLgorLy8gMTEg UGFzcyBmdW5jdGlvbiBwb2ludGVyIGZyb20gZmlsZSAxIHRvIGZpbGUgMi4K Ky8vIDEyIENvbXBhcmUgYWRkcmVzcyBvZiBmdW5jdGlvbiBmb3IgZXF1YWxp dHkgaW4gYm90aCBmaWxlcy4KKy8vIDEzIENvbXBhcmUgYWRkcmVzcyBvZiBp bmxpbmUgZnVuY3Rpb24gZm9yIGVxdWFsaXR5IGluIGJvdGggZmlsZXMuCisv LyAxNCBDb21wYXJlIHN0cmluZyBjb25zdGFudHMgaW4gZmlsZSAxIGFuZCBm aWxlIDIuCisvLyAxNSBDb21wYXJlIHdpZGUgc3RyaW5nIGNvbnN0YW50cyBp biBmaWxlIDEgYW5kIGZpbGUgMi4KKy8vIDE2IENhbGwgYSBmdW5jdGlvbiBk aXJlY3RseSBhZnRlciBpdHMgYWRkcmVzcyBoYXMgYmVlbiB0YWtlbi4KKy8v IDE3IEZpbGUgMSBjaGVja3MgYXJyYXkgb2Ygc3RyaW5nIGNvbnN0YW50cyBk ZWZpbmVkIGluIGZpbGUgMi4KKy8vIDE4IEZpbGUgMSBjaGVja3Mgc3RyaW5n IGNvbnN0YW50cyByZWZlcmVuY2VkIGluIGNvZGUgaW4gZmlsZSAyLgorCisj aW5jbHVkZSAidHdvX2ZpbGVfdGVzdC5oIgorCisvLyAxICBDb2RlIGluIGZp bGUgMSBjYWxscyBjb2RlIGluIGZpbGUgMi4KKworYm9vbAordDEoKQorewor ICByZXR1cm4gdDFfMigpID09IDA7Cit9CisKKy8vIDIgIENvZGUgaW4gZmls ZSAxIHJlZmVycyB0byBnbG9iYWwgZGF0YSBpbiBmaWxlIDIuCisKK2Jvb2wK K3QyKCkKK3sKKyAgcmV0dXJuIHYyID09IDA7Cit9CisKKy8vIDMgIENvZGUg aW4gZmlsZSAxIHJlZmVyZXMgdG8gY29tbW9uIHN5bWJvbCBpbiBmaWxlIDIu CisKK2Jvb2wKK3QzKCkKK3sKKyAgcmV0dXJuIHYzID09IDA7Cit9CisKKy8v IDQgIENvZGUgaW4gZmlsZSAxIHJlZmVycyB0byBvZmZzZXQgd2l0aGluIGds b2JhbCBkYXRhIGluIGZpbGUgMi4KKworYm9vbAordDQoKQoreworICByZXR1 cm4gdjRbNV0gPT0gJywnOworfQorCisvLyA1ICBDb2RlIGluIGZpbGUgMSBy ZWZlcnMgdG8gb2Zmc2V0IHdpdGhpbiBjb21tb24gc3ltYm9sIGluIGZpbGUg Mi4KKworYm9vbAordDUoKQoreworICByZXR1cm4gdjVbN10gPT0gJ3cnOwor fQorCisvLyA2ICBEYXRhIGluIGZpbGUgMSByZWZlcnMgdG8gZ2xvYmFsIGRh dGEgaW4gZmlsZSAyLgorCitpbnQqIHA2ID0gJnYyOworCitib29sCit0Nigp Cit7CisgIHJldHVybiAqcDYgPT0gNDU2OworfQorCisvLyA3ICBEYXRhIGlu IGZpbGUgMSByZWZlcnMgdG8gY29tbW9uIHN5bWJvbCBpbiBmaWxlIDIuCisK K2ludCogcDcgPSAmdjM7CisKK2Jvb2wKK3Q3KCkKK3sKKyAgcmV0dXJuICpw NyA9PSA3ODk7Cit9CisKKy8vIDggIERhdGEgaW4gZmlsZSAxIHJlZmVycyB0 byBvZmZzZXQgd2l0aGluIGdsb2JhbCBkYXRhIGluIGZpbGUgMi4KKworY2hh ciogcDggPSAmdjRbNl07CisKK2Jvb2wKK3Q4KCkKK3sKKyAgcmV0dXJuICpw OCA9PSAnICc7Cit9CisKKy8vIDkgIERhdGEgaW4gZmlsZSAxIHJlZmVycyB0 byBvZmZzZXQgd2l0aGluIGNvbW1vbiBzeW1ib2wgaW4gZmlsZSAyLgorCitj aGFyKiBwOSA9ICZ2NVs4XTsKKworYm9vbAordDkoKQoreworICByZXR1cm4g KnA5ID09ICdvJzsKK30KKworLy8gMTAgRGF0YSBpbiBmaWxlIDEgcmVmZXJz IHRvIGZ1bmN0aW9uIGluIGZpbGUgMi4KKworaW50ICgqcGZuKSgpID0gJmYx MDsKKworYm9vbAordDEwKCkKK3sKKyAgcmV0dXJuICgqcGZuKSgpID09IDEz NTsKK30KKworLy8gMTEgUGFzcyBmdW5jdGlvbiBwb2ludGVyIGZyb20gZmls ZSAxIHRvIGZpbGUgMi4KKworaW50CitmMTFhKCkKK3sKKyAgcmV0dXJuIDI0 NjsKK30KKworYm9vbAordDExKCkKK3sKKyAgcmV0dXJuIGYxMWIoJmYxMWEp ID09IDI0NjsKK30KKworLy8gMTIgQ29tcGFyZSBhZGRyZXNzIG9mIGZ1bmN0 aW9uIGZvciBlcXVhbGl0eSBpbiBib3RoIGZpbGVzLgorCitib29sCit0MTIo KQoreworICByZXR1cm4gJnQxMiA9PSBmMTIoKTsKK30KKworLy8gMTMgQ29t cGFyZSBhZGRyZXNzIG9mIGlubGluZSBmdW5jdGlvbiBmb3IgZXF1YWxpdHkg aW4gYm90aCBmaWxlcy4KKworYm9vbAordDEzKCkKK3sKKyAgcmV0dXJuICZm MTNpID09IGYxMygpOworfQorCisvLyAxNCBDb21wYXJlIHN0cmluZyBjb25z dGFudHMgaW4gZmlsZSAxIGFuZCBmaWxlIDIuCisKK2Jvb2wKK3QxNCgpCit7 CisgIGNvbnN0IGNoYXIqIHMxID0gVEVTVF9TVFJJTkdfQ09OU1RBTlQ7Cisg IGNvbnN0IGNoYXIqIHMyID0gZjE0KCk7CisgIHdoaWxlICgqczEgIT0gJ1ww JykKKyAgICBpZiAoKnMxKysgIT0gKnMyKyspCisgICAgICByZXR1cm4gZmFs c2U7CisgIHJldHVybiAqczIgPT0gJ1wwJzsKK30KKworLy8gMTUgQ29tcGFy ZSB3aWRlIHN0cmluZyBjb25zdGFudHMgaW4gZmlsZSAxIGFuZCBmaWxlIDIu CisKK2Jvb2wKK3QxNSgpCit7CisgIGNvbnN0IHdjaGFyX3QqIHMxID0gVEVT VF9XSURFX1NUUklOR19DT05TVEFOVDsKKyAgY29uc3Qgd2NoYXJfdCogczIg PSBmMTUoKTsKKyAgd2hpbGUgKCpzMSAhPSAnXDAnKQorICAgIGlmICgqczEr KyAhPSAqczIrKykKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgcmV0dXJuICpz MiA9PSAnXDAnOworfQorCisvLyAxNiBDYWxsIGEgZnVuY3Rpb24gZGlyZWN0 bHkgYWZ0ZXIgaXRzIGFkZHJlc3MgaGFzIGJlZW4gdGFrZW4uCisKK2Jvb2wK K3QxNigpCit7CisgIHJldHVybiBmMTAoKSA9PSAxMzU7Cit9CisKKy8vIDE3 IEZpbGUgMSBjaGVja3MgYXJyYXkgb2Ygc3RyaW5nIGNvbnN0YW50cyBkZWZp bmVkIGluIGZpbGUgMi4KKworYm9vbAordDE3KCkKK3sKKyAgY2hhciBjID0g J2EnOworICBmb3IgKGludCBpID0gMDsgaSA8IFQxN19DT1VOVDsgKytpKQor ICAgIHsKKyAgICAgIGlmICh0MTdkYXRhW2ldWzBdICE9IGMgfHwgdDE3ZGF0 YVtpXVsxXSAhPSAnXDAnKQorCXJldHVybiBmYWxzZTsKKyAgICAgICsrYzsK KyAgICB9CisgIHJldHVybiB0cnVlOworfQorCisvLyAxOCBGaWxlIDEgY2hl Y2tzIHN0cmluZyBjb25zdGFudHMgcmVmZXJlbmNlZCBpbiBjb2RlIGluIGZp bGUgMi4KKworYm9vbAordDE4KCkKK3sKKyAgY2hhciBjID0gJ2EnOworICBm b3IgKGludCBpID0gMDsgaSA8IFQxN19DT1VOVDsgKytpKQorICAgIHsKKyAg ICAgIGNvbnN0IGNoYXIqIHMgPSBmMTgoaSk7CisgICAgICBpZiAoc1swXSAh PSBjIHx8IHNbMV0gIT0gJ1wwJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor ICAgICAgKytjOworICAgIH0KKyAgcmV0dXJuIHRydWU7Cit9CmRpZmYgLS1n aXQgYS9nb2xkL3Rlc3RzdWl0ZS90d29fZmlsZV90ZXN0XzFiX3YxLmNjIGIv Z29sZC90ZXN0c3VpdGUvdHdvX2ZpbGVfdGVzdF8xYl92MS5jYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWRhZjg0Ci0tLSAvZGV2 L251bGwKKysrIGIvZ29sZC90ZXN0c3VpdGUvdHdvX2ZpbGVfdGVzdF8xYl92 MS5jYwpAQCAtMCwwICsxLDQ2IEBACisvLyB0d29fZmlsZV90ZXN0XzFiX3Yx LmNjIC0tIHN1cHBsZW1lbnRhcnkgZmlsZSBmb3IgYSB0aHJlZS1maWxlIHRl c3QgY2FzZQorLy8gZm9yIGdvbGQuCisKKy8vIENvcHlyaWdodCAyMDA4LCAy MDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLy8gV3JpdHRl biBieSBDYXJ5IENvdXRhbnQgPGNjb3V0YW50QGdvb2dsZS5jb20+LgorCisv LyBUaGlzIGZpbGUgaXMgcGFydCBvZiBnb2xkLgorCisvLyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQorLy8gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8v IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorCisvLyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy8v IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisvLyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisvLyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor CisvLyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLy8gYWxvbmcgd2l0aCB0aGlz IHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK Ky8vIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCAtIEZp ZnRoIEZsb29yLCBCb3N0b24sCisvLyBNQSAwMjExMC0xMzAxLCBVU0EuCisK Ky8vIFRoaXMgaXMgYW4gYWx0ZXJuYXRlIHZlcnNpb24gb2YgdGhlIHNvdXJj ZSBmaWxlIHR3b19maWxlX3Rlc3RfMWIuY2MsCisvLyB1c2VkIHRvIHRlc3Qg aW5jcmVtZW50YWwgbGlua2luZy4gIFdlIGJ1aWxkIGEgYmluYXJ5IGZpcnN0 IHVzaW5nIHRoaXMKKy8vIHNvdXJjZSBmaWxlLCB0aGVuIGRvIGFuIGluY3Jl bWVudGFsIGxpbmsgd2l0aCB0aGUgcHJpbWFyeSB2ZXJzaW9uIG9mCisvLyB0 aGUgZmlsZS4KKworLy8gVGhpcyBmaWxlIGlzIHVzZWQgYXMgcGFydCBvZiBh IG1peGVkIFBJQy9ub24tUElDIHRlc3QuCisvLyBGaWxlcyAxIGFuZCAxYiBh cmUgbGlua2VkIHRvZ2V0aGVyIGluIGEgc2hhcmVkIGxpYnJhcnkuCisvLyBG aWxlIDEgaXMgY29tcGlsZWQgbm9uLVBJQywgYW5kIGZpbGUgMWEgaXMgY29t cGlsZWQgUElDLgorLy8gRmlsZSAyIGlzIGNvbXBpbGVkIFBJQyBhbmQgbGlu a2VkIGluIGEgc2Vjb25kIHNoYXJlZCBsaWJyYXJ5LgorLy8gVGhpcyB0ZXN0 cyB0aGF0IGEgbm9uLVBJQyBjYWxsIGRvZXMgbm90IGFjY2lkZW50YWxseSBn ZXQKKy8vIGJvdW5kIHRvIGEgUElDIFBMVCBlbnRyeS4KKworLy8gV2UgdGVz dCB0aGUgZm9sbG93aW5nIGNhc2VzLgorCisjaW5jbHVkZSAidHdvX2ZpbGVf dGVzdC5oIgorCisvLyAxNiBDYWxsIGEgZnVuY3Rpb24gZGlyZWN0bHkgYWZ0 ZXIgaXRzIGFkZHJlc3MgaGFzIGJlZW4gdGFrZW4uCisKK2Jvb2wKK3QxNmEo KQoreworICByZXR1cm4gZjEwKCkgPT0gMTI1OworfQpkaWZmIC0tZ2l0IGEv Z29sZC90ZXN0c3VpdGUvdHdvX2ZpbGVfdGVzdF8yX3YxLmNjIGIvZ29sZC90 ZXN0c3VpdGUvdHdvX2ZpbGVfdGVzdF8yX3YxLmNjCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5N2E2NzcKLS0tIC9kZXYvbnVsbAor KysgYi9nb2xkL3Rlc3RzdWl0ZS90d29fZmlsZV90ZXN0XzJfdjEuY2MKQEAg LTAsMCArMSwxNTAgQEAKKy8vIHR3b19maWxlX3Rlc3RfMl92MS5jYyAtLSBh IHR3byBmaWxlIHRlc3QgY2FzZSBmb3IgZ29sZCwgZmlsZSAyIG9mIDIKKwor Ly8gQ29weXJpZ2h0IDIwMDYsIDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCisvLyBXcml0dGVuIGJ5IElhbiBMYW5jZSBUYXls b3IgPGlhbnRAZ29vZ2xlLmNvbT4uCisKKy8vIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIGdvbGQuCisKKy8vIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8gdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKy8vIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisK Ky8vIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLy8gYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK Ky8vIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKy8vIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKy8vIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisvLyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3 cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLy8gRm91bmRhdGlvbiwgSW5j LiwgNTEgRnJhbmtsaW4gU3RyZWV0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwK Ky8vIE1BIDAyMTEwLTEzMDEsIFVTQS4KKworLy8gVGhpcyBpcyBhbiBhbHRl cm5hdGUgdmVyc2lvbiBvZiB0aGUgc291cmNlIGZpbGUgdHdvX2ZpbGVfdGVz dF8yLmNjLAorLy8gdXNlZCB0byB0ZXN0IGluY3JlbWVudGFsIGxpbmtpbmcu ICBXZSBidWlsZCBhIGJpbmFyeSBmaXJzdCB1c2luZyB0aGlzCisvLyBzb3Vy Y2UgZmlsZSwgdGhlbiBkbyBhbiBpbmNyZW1lbnRhbCBsaW5rIHdpdGggdGhl IHByaW1hcnkgdmVyc2lvbiBvZgorLy8gdGhlIGZpbGUuCisKKy8vIFRoaXMg dGVzdHMgcmVmZXJlbmNlcyBiZXR3ZWVuIGZpbGVzLiAgVGhpcyBpcyBmaWxl IDIsIGFuZAorLy8gdHdvX2ZpbGVfdGVzdF8xLmNjIGlzIGZpbGUgMS4gIFNl ZSBmaWxlIDEgZm9yIGRldGFpbHMuCisKKyNpbmNsdWRlICJ0d29fZmlsZV90 ZXN0LmgiCisKKy8vIDEgIENvZGUgaW4gZmlsZSAxIGNhbGxzIGNvZGUgaW4g ZmlsZSAyLgorCitpbnQKK3QxXzIoKQoreworICByZXR1cm4gMDsKK30KKwor Ym9vbAordDFhKCkKK3sKKyAgcmV0dXJuIHQxXzIoKSA9PSAwOworfQorCisv LyAyICBDb2RlIGluIGZpbGUgMSByZWZlcnMgdG8gZ2xvYmFsIGRhdGEgaW4g ZmlsZSAyLgorCitpbnQgdjIgPSAwOworCisvLyAzIENvZGUgaW4gZmlsZSAx IHJlZmVyZXMgdG8gY29tbW9uIHN5bWJvbCBpbiBmaWxlIDIuICBUaGlzIGlz CisvLyBpbml0aWFsaXplZCBhdCBydW50aW1lIHRvIDc4OS4KKworaW50IHYz OworCisvLyA0ICBDb2RlIGluIGZpbGUgMSByZWZlcnMgdG8gb2Zmc2V0IHdp dGhpbiBnbG9iYWwgZGF0YSBpbiBmaWxlIDIuCisKK2NoYXIgdjRbXSA9ICJX b3JsZCwgaGVsbG8iOworCisvLyA1IENvZGUgaW4gZmlsZSAxIHJlZmVycyB0 byBvZmZzZXQgd2l0aGluIGNvbW1vbiBzeW1ib2wgaW4gZmlsZSAyLgorLy8g VGhpcyBpcyBpbml0aWFsaXplZCBhdCBydW50aW1lIHRvIGEgY29weSBvZiB2 NC4KKworY2hhciB2NVsxM107CisKKy8vIDYgIERhdGEgaW4gZmlsZSAxIHJl ZmVycyB0byBnbG9iYWwgZGF0YSBpbiBmaWxlIDIuICBUaGlzIHJldXNlcyB2 Mi4KKworLy8gNyAgRGF0YSBpbiBmaWxlIDEgcmVmZXJzIHRvIGNvbW1vbiBz eW1ib2wgaW4gZmlsZSAyLiAgVGhpcyByZXVzZXMgdjMuCisKKy8vIDggRGF0 YSBpbiBmaWxlIDEgcmVmZXJzIHRvIG9mZnNldCB3aXRoaW4gZ2xvYmFsIGRh dGEgaW4gZmlsZSAyLgorLy8gVGhpcyByZXVzZXMgdjQuCisKKy8vIDkgRGF0 YSBpbiBmaWxlIDEgcmVmZXJzIHRvIG9mZnNldCB3aXRoaW4gY29tbW9uIHN5 bWJvbCBpbiBmaWxlIDIuCisvLyBUaGlzIHJldXNlcyB2NS4KKworLy8gMTAg RGF0YSBpbiBmaWxlIDEgcmVmZXJzIHRvIGZ1bmN0aW9uIGluIGZpbGUgMi4K KworaW50CitmMTAoKQoreworICByZXR1cm4gMDsKK30KKworLy8gMTEgUGFz cyBmdW5jdGlvbiBwb2ludGVyIGZyb20gZmlsZSAxIHRvIGZpbGUgMi4KKwor aW50CitmMTFiKGludCAoKnBmbikoKSkKK3sKKyAgcmV0dXJuICgqcGZuKSgp OworfQorCisvLyAxMiBDb21wYXJlIGFkZHJlc3Mgb2YgZnVuY3Rpb24gZm9y IGVxdWFsaXR5IGluIGJvdGggZmlsZXMuCisKK2Jvb2wKKygqZjEyKCkpKCkK K3sKKyAgcmV0dXJuICZ0MTI7Cit9CisKKy8vIDEzIENvbXBhcmUgYWRkcmVz cyBvZiBpbmxpbmUgZnVuY3Rpb24gZm9yIGVxdWFsaXR5IGluIGJvdGggZmls ZXMuCisKK3ZvaWQKKygqZjEzKCkpKCkKK3sKKyAgcmV0dXJuICZmMTNpOwor fQorCisvLyAxNCBDb21wYXJlIHN0cmluZyBjb25zdGFudHMgaW4gZmlsZSAx IGFuZCBmaWxlIDIuCisKK2NvbnN0IGNoYXIqCitmMTQoKQoreworICByZXR1 cm4gVEVTVF9TVFJJTkdfQ09OU1RBTlQ7Cit9CisKKy8vIDE1IENvbXBhcmUg d2lkZSBzdHJpbmcgY29uc3RhbnRzIGluIGZpbGUgMSBhbmQgZmlsZSAyLgor Citjb25zdCB3Y2hhcl90KgorZjE1KCkKK3sKKyAgcmV0dXJuIFRFU1RfV0lE RV9TVFJJTkdfQ09OU1RBTlQ7Cit9CisKKy8vIDE3IEZpbGUgMSBjaGVja3Mg YXJyYXkgb2Ygc3RyaW5nIGNvbnN0YW50cyBkZWZpbmVkIGluIGZpbGUgMi4K KworY29uc3QgY2hhciogdDE3ZGF0YVtUMTdfQ09VTlRdID0KK3sKKyAgIjAi LCAiMSIsICIyIiwgIjMiLCAiNCIKK307CisKKy8vIDE4IEZpbGUgMSBjaGVj a3Mgc3RyaW5nIGNvbnN0YW50cyByZWZlcmVuY2VkIGRpcmVjdGx5IGluIGZp bGUgMi4KKworY29uc3QgY2hhcioKK2YxOChpbnQgaSkKK3sKKyAgc3dpdGNo IChpKQorICAgIHsKKyAgICBjYXNlIDA6CisgICAgICByZXR1cm4gIjAiOwor ICAgIGNhc2UgMToKKyAgICAgIHJldHVybiAiMSI7CisgICAgY2FzZSAyOgor ICAgICAgcmV0dXJuICIyIjsKKyAgICBjYXNlIDM6CisgICAgICByZXR1cm4g IjMiOworICAgIGNhc2UgNDoKKyAgICAgIHJldHVybiAiNCI7CisgICAgZGVm YXVsdDoKKyAgICAgIHJldHVybiAwOworICAgIH0KK30K --bcaec51b174dc6eef1049fe26347--