From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12105 invoked by alias); 12 Jan 2006 00:10:08 -0000 Received: (qmail 32441 invoked by uid 22791); 11 Jan 2006 20:43:49 -0000 X-Spam-Check-By: sourceware.org Received: from hoepfner-212-126-219-82.customer.planNET.de (HELO mail.aicas.de) (212.126.219.82) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 11 Jan 2006 20:43:47 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.aicas.de (Postfix) with ESMTP id 36F066BC710 for ; Wed, 11 Jan 2006 21:43:44 +0100 (CET) Received: from mail.aicas.de ([127.0.0.1]) by localhost (www.aicas.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 13267-08 for ; Wed, 11 Jan 2006 21:43:42 +0100 (CET) Received: by mail.aicas.de (Postfix, from userid 33) id EE1946BC712; Wed, 11 Jan 2006 21:43:41 +0100 (CET) To: mauve-patches@sources.redhat.com Subject: FYI: New Hashtable test Received: from 85.73.103.32 (auth. user roman.kennke@aicas.de@www.aicas.de) by www.aicas.de with HTTP; Wed, 11 Jan 2006 20:43:41 +0000 Date: Thu, 12 Jan 2006 00:10:00 -0000 Message-ID: From: "Roman Kennke" Bounce-To: "Roman Kennke" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="RWP_PART_roman.kennke@aicas.de1137012221" Mailing-List: contact mauve-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: mauve-patches-owner@sourceware.org X-SW-Source: 2006/txt/msg00009.txt.bz2 This message is in MIME format. --RWP_PART_roman.kennke@aicas.de1137012221 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 268 This test accompanies my latest Hashtable fix. It checks if modifying a Hashtable while enumerating over it throws an exception or not. 2006-01-11 Roman Kennke * gnu/testlet/java/util/Hashtable/EnumerateAndModify.java: New test. /Roman --RWP_PART_roman.kennke@aicas.de1137012221 Content-Type: text/x-java; name="EnumerateAndModify.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="EnumerateAndModify.java" Content-length: 6296 LyogRW51bWVyYXRlQW5kTW9kaWZ5LmphdmEgLS0gQSB0ZXN0IGZvciBIYXNo dGFibGUKICAgQ29weXJpZ2h0IChDKSAyMDA2IEZyaWRqb2YgU2llYmVydApU aGlzIGZpbGUgaXMgcGFydCBvZiBNYXV2ZS4KCk1hdXZlIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9u KQphbnkgbGF0ZXIgdmVyc2lvbi4KCk1hdXZlIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dApXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCkdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCllvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CmFsb25nIHdpdGggTWF1dmU7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYg bm90LCB3cml0ZSB0byB0aGUKRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24s IE1BCjAyMTEwLTEzMDEgVVNBLgoKKi8KCi8vIFRhZ3M6IEpESzEuMAoKcGFj a2FnZSBnbnUudGVzdGxldC5qYXZhLnV0aWwuSGFzaHRhYmxlOwoKaW1wb3J0 IGdudS50ZXN0bGV0LlRlc3RIYXJuZXNzOwppbXBvcnQgZ251LnRlc3RsZXQu VGVzdGxldDsKaW1wb3J0IGphdmEudXRpbC5IYXNodGFibGU7CmltcG9ydCBq YXZhLnV0aWwuRW51bWVyYXRpb247CgoKLyoqCiAqIEVudW1lcmF0ZUFuZE1v ZGlmeSB0ZXN0cyB0aGF0IGVudW1lcmF0aW5nIGEgSGFzaHRhYmxlIHRoYXQg aXMKICogY29uY3VycmVudGx5IG1vZGlmaWVkIHdpbGwgbm90IHRocm93IGFu IGV4Y2VwdGlvbi4KICoKICogQGF1dGhvciBGcmlkdGpvZiBTaWViZXJ0IChz aWViZXJ0QGFpY2FzLmNvbSkKICovCnB1YmxpYyBjbGFzcyBFbnVtZXJhdGVB bmRNb2RpZnkgaW1wbGVtZW50cyBUZXN0bGV0CnsKCiAgLyoqCiAgICogdGVz dCBpcyB0aGUgbWFpbiB0ZXN0IHJvdXRpbmUgdGVzdGluZyBlbnVtYXJhdGlv biBvZiBrZXlzIGFuZAogICAqIGVsZW1lbnRzIG9mIGEgY29uY3VycmVudGx5 IG1vZGlmaWVkIGhhc2h0YWJsZS4KICAgKgogICAqIEBwYXJhbSBoYXJuZXNz IHRoZSBjdXJyZW50IHRlc3QgaGFybmVzcy4KICAgKi8KICBwdWJsaWMgdm9p ZCB0ZXN0KFRlc3RIYXJuZXNzIGhhcm5lc3MpCiAgewogICAgSGFzaHRhYmxl IGFsbEtleXMgPSBuZXcgSGFzaHRhYmxlKCk7IAogICAgYWxsS2V5cy5wdXQo IkMiLCJjIik7CiAgICBhbGxLZXlzLnB1dCgiRCIsImQiKTsKICAgIGFsbEtl eXMucHV0KCJBIiwiYSIpOwogICAgYWxsS2V5cy5wdXQoIkIiLCJiIik7CiAg ICBhbGxLZXlzLnB1dCgiRSIsImUiKTsKICAgIGFsbEtleXMucHV0KCJDMSIs ImMiKTsKICAgIGFsbEtleXMucHV0KCJEMSIsImQiKTsKICAgIGFsbEtleXMu cHV0KCJBMSIsImEiKTsKICAgIGFsbEtleXMucHV0KCJCMSIsImIiKTsKICAg IGFsbEtleXMucHV0KCJFMSIsImUiKTsKCiAgICBIYXNodGFibGUgYWxsRWxl bWVudHMgPSBuZXcgSGFzaHRhYmxlKCk7IAogICAgYWxsRWxlbWVudHMucHV0 KCJjIiwiYyIpOwogICAgYWxsRWxlbWVudHMucHV0KCJkIiwiZCIpOwogICAg YWxsRWxlbWVudHMucHV0KCJhIiwiYSIpOwogICAgYWxsRWxlbWVudHMucHV0 KCJiIiwiYiIpOwogICAgYWxsRWxlbWVudHMucHV0KCJlIiwiZSIpOwogICAg YWxsRWxlbWVudHMucHV0KCJjMSIsImMxIik7CiAgICBhbGxFbGVtZW50cy5w dXQoImQxIiwiZDEiKTsKICAgIGFsbEVsZW1lbnRzLnB1dCgiYTEiLCJhMSIp OwogICAgYWxsRWxlbWVudHMucHV0KCJiMSIsImIxIik7CiAgICBhbGxFbGVt ZW50cy5wdXQoImUxIiwiZTEiKTsKCiAgICBIYXNodGFibGUgaHQgPSBuZXcg SGFzaHRhYmxlKCk7IAogICAgaHQucHV0KCJBIiwiYSIpOwogICAgaHQucHV0 KCJCIiwiYiIpOwogICAgaHQucHV0KCJDIiwiYyIpOwogICAgaHQucHV0KCJE IiwiZCIpOwogICAgaHQucHV0KCJFIiwiZSIpOwogICAgCiAgICBUaHJvd2Fi bGUgdGhyb3duOwogICAgYm9vbGVhbiByZXR1cm5lZE9ubHlLZXlzVGhhdFdl cmVQdXQgPSB0cnVlOyAKICAgIAogICAgdHJ5CiAgICAgIHsKICAgIAkvLyBX ZSB3YWxrIHRocm91Z2ggdGhlIGtleXMgd2hpbGUgd2UgbW9kaWZ5IHRoZSBo YXNodGFibGUuIFRoaXMKICAgIAkvLyBpcyBub3QgbGVnYWwsIGFuZCB0aGUg cmVzdWx0IG9mIHRoZSBlbnVtYXJhdGlvbiBpcyB1bmRlZmluZWQsCiAgICAJ Ly8gYnV0IHdlIHNob3VsZCBub3QgZ2V0IGFueSBleGNlcHRpb24gd2hlbiBl bnVtZXJhdGluZyBhbmQgd2UKICAgIAkvLyBzaG91bGQgbm90IGdldCBudWxs IG9yIGFueSBrZXkgdGhhdCB3YXMgbmV2ZXIgYWRkZWQuIAogICAgICAgIGZv ciAoRW51bWVyYXRpb24gZSA9IGh0LmtleXMoKTsgZS5oYXNNb3JlRWxlbWVu dHMoKTsgKQogICAgICAgICAgewogICAgICAgICAgICBTdHJpbmcgc3RyID0g KFN0cmluZykgZS5uZXh0RWxlbWVudCgpOwogICAgICAgICAgICBpZiAoc3Ry ICE9IG51bGwgJiYgIWFsbEtleXMuY29udGFpbnNLZXkoc3RyKSkKICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm5lZE9ubHlLZXlzVGhh dFdlcmVQdXQgPSBmYWxzZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAg IGh0LnB1dCgiQyIsImMiKTsKICAgICAgICAgICAgaHQucHV0KCJEIiwiZCIp OwogICAgICAgICAgICBodC5wdXQoIkEiLCJhIik7CiAgICAgICAgICAgIGh0 LnB1dCgiQiIsImIiKTsKICAgICAgICAgICAgaHQucHV0KCJFIiwiZSIpOwog ICAgICAgICAgICBodC5wdXQoIkMxIiwiYyIpOwogICAgICAgICAgICBodC5w dXQoIkQxIiwiZCIpOwogICAgICAgICAgICBodC5wdXQoIkExIiwiYSIpOwog ICAgICAgICAgICBodC5wdXQoIkIxIiwiYiIpOwogICAgICAgICAgICBodC5w dXQoIkUxIiwiZSIpOwogICAgICAgICAgfQogICAgICAgIHRocm93biA9IG51 bGw7IAogICAgfQogICAgY2F0Y2ggKFRocm93YWJsZSB0KQogICAgICB7CiAg ICAgICAgdC5wcmludFN0YWNrVHJhY2UoKTsgCiAgICAgICAgdGhyb3duID0g dDsgCiAgICAgIH0KICAgIGhhcm5lc3MuY2hlY2sodGhyb3duID09IG51bGwp OwogICAgaGFybmVzcy5jaGVjayhyZXR1cm5lZE9ubHlLZXlzVGhhdFdlcmVQ dXQpOwoKICAgIGh0ID0gbmV3IEhhc2h0YWJsZSgpOyAKICAgIGh0LnB1dCgi QSIsImEiKTsKICAgIGh0LnB1dCgiQiIsImIiKTsKICAgIGh0LnB1dCgiQyIs ImMiKTsKICAgIGh0LnB1dCgiRCIsImQiKTsKICAgIGh0LnB1dCgiRSIsImUi KTsKCiAgICBib29sZWFuIHJldHVybmVkT25seUVsZW1lbnRzVGhhdFdlcmVQ dXQgPSB0cnVlOyAKCiAgICB0cnkKICAgICAgewogICAgICAgIC8vIFdlIHdh bGsgdGhyb3VnaCB0aGUga2V5cyB3aGlsZSB3ZSBtb2RpZnkgdGhlIGhhc2h0 YWJsZS4gVGhpcwogICAgICAgIC8vIGlzIG5vdCBsZWdhbCwgYW5kIHRoZSBy ZXN1bHQgb2YgdGhlIGVudW1hcmF0aW9uIGlzIHVuZGVmaW5lZCwKICAgICAg ICAvLyBidXQgd2Ugc2hvdWxkIG5vdCBnZXQgYW55IGV4Y2VwdGlvbiB3aGVu IGVudW1lcmF0aW5nIGFuZCB3ZQogICAgICAgIC8vIHNob3VsZCBub3QgZ2V0 IG51bGwgb3IgYW55IGtleSB0aGF0IHdhcyBuZXZlciBhZGRlZC4gCiAgICAg ICAgZm9yIChFbnVtZXJhdGlvbiBlID0gaHQuZWxlbWVudHMoKTsgZS5oYXNN b3JlRWxlbWVudHMoKTsgKQogICAgICAgICAgewogICAgICAgICAgICBTdHJp bmcgc3RyID0gKFN0cmluZykgZS5uZXh0RWxlbWVudCgpOwogICAgICAgICAg ICBpZiAoc3RyICE9IG51bGwgJiYgIWFsbEVsZW1lbnRzLmNvbnRhaW5zS2V5 KHN0cikpCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmV0dXJu ZWRPbmx5RWxlbWVudHNUaGF0V2VyZVB1dCA9IGZhbHNlOwogICAgICAgICAg ICAgIH0KICAgICAgICAgICAgaHQucHV0KCJDIiwiYyIpOwogICAgICAgICAg ICBodC5wdXQoIkQiLCJkIik7CiAgICAgICAgICAgIGh0LnB1dCgiQSIsImEi KTsKICAgICAgICAgICAgaHQucHV0KCJCIiwiYiIpOwogICAgICAgICAgICBo dC5wdXQoIkUiLCJlIik7CiAgICAgICAgICAgIGh0LnB1dCgiQzEiLCJjMSIp OwogICAgICAgICAgICBodC5wdXQoIkQxIiwiZDEiKTsKICAgICAgICAgICAg aHQucHV0KCJBMSIsImExIik7CiAgICAgICAgICAgIGh0LnB1dCgiQjEiLCJi MSIpOwogICAgICAgICAgICBodC5wdXQoIkUxIiwiZTEiKTsKICAgICAgICAg IH0KICAgICAgICB0aHJvd24gPSBudWxsOyAKICAgIH0KICAgIGNhdGNoIChU aHJvd2FibGUgdCkKICAgICAgewogICAgICAgIHRocm93biA9IHQ7IAogICAg ICB9CiAgICBoYXJuZXNzLmNoZWNrKHRocm93biA9PSBudWxsKTsKICAgIGhh cm5lc3MuY2hlY2socmV0dXJuZWRPbmx5RWxlbWVudHNUaGF0V2VyZVB1dCk7 CiAgfQp9Cg== --RWP_PART_roman.kennke@aicas.de1137012221--