<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-12237</id>
	<title>Nabble - Sourceware - Mauve</title>
	<updated>2009-09-24T06:21:34Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Sourceware---Mauve-f12237.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Sourceware---Mauve-f12237.html" />
	<subtitle type="html">The Mauve Project is a collaborative effort to write a free test suite for the Java class libraries. The current collaborators come from the Kaffe project, the GNU Classpath project, and the GCJ project. Sourceware - Mauve home is &lt;a href=&quot;http://sourceware.org/mauve/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-25595260</id>
	<title>FYI: don't use System class loader by default.</title>
	<published>2009-09-24T06:21:34Z</published>
	<updated>2009-09-24T06:21:34Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">As per subject,
&lt;br&gt;&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-09-24-getBundle.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/ChangeLog
&lt;br&gt;--- mauve/ChangeLog Base (1.2150)
&lt;br&gt;+++ mauve/ChangeLog Locally Modified (Based On 1.2150)
&lt;br&gt;@@ -1,5 +1,11 @@
&lt;br&gt;&amp;nbsp;2009-09-24 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25595260&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* gnu/testlet/java/util/ResourceBundle/getBundle:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Specify the parent classloader instead of using the system
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;classloader by default.
&lt;br&gt;+
&lt;br&gt;+2009-09-24 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25595260&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Remove checks for wontfix bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;http://bugs.sun.com/view_bug.do?bug_id=6314176.
&lt;br&gt;Index: mauve/gnu/testlet/java/util/ResourceBundle/getBundle.java
&lt;br&gt;--- mauve/gnu/testlet/java/util/ResourceBundle/getBundle.java Base (1.8)
&lt;br&gt;+++ mauve/gnu/testlet/java/util/ResourceBundle/getBundle.java Locally Modified (Based On 1.8)
&lt;br&gt;@@ -215,7 +215,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp;	{
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;URL u = harness.getResourceFile (&amp;quot;&amp;quot;).toURL ();
&lt;br&gt;-	 &amp;nbsp;URLClassLoader loader = new URLClassLoader (new URL[] { u });
&lt;br&gt;+	 &amp;nbsp;URLClassLoader loader =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new URLClassLoader(new URL[] { u },
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; getBundle.class.getClassLoader());
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;harness.check (loadCheck (c (&amp;quot;Resource11&amp;quot;), loader), &amp;quot;Maude&amp;quot;);
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (MalformedURLException _)
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-don%27t-use-System-class-loader-by-default.-tp25595260p25595260.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25594768</id>
	<title>FYI: Remove check for won't fix bug</title>
	<published>2009-09-24T05:51:41Z</published>
	<updated>2009-09-24T05:51:41Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">As per subject...
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-24-wontfix.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/ChangeLog
&lt;br&gt;--- mauve/ChangeLog Base (1.2149)
&lt;br&gt;+++ mauve/ChangeLog Locally Modified (Based On 1.2149)
&lt;br&gt;@@ -1,5 +1,11 @@
&lt;br&gt;&amp;nbsp;2009-09-24 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25594768&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Remove checks for wontfix bug
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;http://bugs.sun.com/view_bug.do?bug_id=6314176.
&lt;br&gt;+
&lt;br&gt;+2009-09-24 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25594768&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/org/omg/PortableServer/POA/TestActivate:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Remove inappropriate checks.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: mauve/gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors.java
&lt;br&gt;--- mauve/gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors.java Base (1.3)
&lt;br&gt;+++ mauve/gnu/testlet/org/omg/PortableInterceptor/Interceptor/testInterceptors.java Locally Modified (Based On 1.3)
&lt;br&gt;@@ -287,10 +287,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(&amp;quot;Destroyed&amp;quot;, ucClientRequestInterceptor.destroyed);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(&amp;quot;Destroyed&amp;quot;, ucIorInterceptor.destroyed);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(&amp;quot;Destroyed&amp;quot;, ucServerRequestInterceptor.destroyed);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Test the policy. Sun's 1.5.0_04 still does not operates
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// properly (Sun's bug 6314176).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(&amp;quot;Sun's ACCEPTED bug 6314176&amp;quot;, ucIorInterceptor.policyOK);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Remove-check-for-won%27t-fix-bug-tp25594768p25594768.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25594616</id>
	<title>FYI: remove inappropriate checks</title>
	<published>2009-09-24T05:41:47Z</published>
	<updated>2009-09-24T05:41:47Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">This test failed on JDK. This patch fixes the problem.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-09-24-corba1.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/ChangeLog
&lt;br&gt;--- mauve/ChangeLog Base (1.2148)
&lt;br&gt;+++ mauve/ChangeLog Locally Modified (Based On 1.2148)
&lt;br&gt;@@ -1,3 +1,8 @@
&lt;br&gt;+2009-09-24 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25594616&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* gnu/testlet/org/omg/PortableServer/POA/TestActivate:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Remove inappropriate checks.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25594616&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/locales/LocaleTest:
&lt;br&gt;Index: mauve/gnu/testlet/org/omg/PortableServer/POA/TestActivate.java
&lt;br&gt;--- mauve/gnu/testlet/org/omg/PortableServer/POA/TestActivate.java Base (1.1)
&lt;br&gt;+++ mauve/gnu/testlet/org/omg/PortableServer/POA/TestActivate.java Locally Modified (Based On 1.1)
&lt;br&gt;@@ -86,15 +86,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private byte[] oid_;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private POA poa_;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Servant servant_;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private boolean remaining_;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private boolean valid_;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;void expect(byte[] oid, POA poa, Servant servant, boolean remaining)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;void expect(byte[] oid, POA poa, Servant servant)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;oid_ = oid;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;poa_ = poa;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;servant_ = servant;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;remaining_ = remaining;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;valid_ = false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -116,7 +114,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TEST(TestUtil.Compare(oid_, oid));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TEST(poa_._is_equivalent(poa));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TEST(servant_ == servant);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;TEST(remaining_ == remaining);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;valid_ = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -570,10 +567,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;activatorImpl.expect(id1, ether, servant1, true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;activatorImpl.expect(id1, ether, servant1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ether.deactivate_object(id1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thread.sleep(2000);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (ObjectNotActive ex)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -585,11 +583,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (InterruptedException ex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(ex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(ex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEST(activatorImpl.isValid(), regression_note);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;activatorImpl.expect(id2, ether, servant1, false);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;activatorImpl.expect(id2, ether, servant1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ether.deactivate_object(id2);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thread.sleep(2000);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (ObjectNotActive ex)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -601,11 +605,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (InterruptedException ex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(ex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(ex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEST(activatorImpl.isValid(), regression_note);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;activatorImpl.expect(id3, ether, servant2, false);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;activatorImpl.expect(id3, ether, servant2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ether.deactivate_object(id3);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thread.sleep(2000);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (ObjectNotActive ex)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -617,6 +627,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (InterruptedException ex)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(ex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(ex);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEST(activatorImpl.isValid(), &amp;quot;Regression in 1.5&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;system.destroy(true, true);
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-remove-inappropriate-checks-tp25594616p25594616.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25594514</id>
	<title>FYI: Fixed local variations in the use of the percentage sign.</title>
	<published>2009-09-24T05:35:35Z</published>
	<updated>2009-09-24T05:35:35Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">As per subject,
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-09-percentage-sign.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/ChangeLog
&lt;br&gt;--- mauve/ChangeLog Base (1.2147)
&lt;br&gt;+++ mauve/ChangeLog Locally Modified (Based On 1.2147)
&lt;br&gt;@@ -1,5 +1,10 @@
&lt;br&gt;&amp;nbsp;2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25594514&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* gnu/testlet/locales/LocaleTest:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Fixed local variations in the use of the percentage sign.
&lt;br&gt;+
&lt;br&gt;+2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25594514&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/beans/EventHandler/check14c.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Pass incoming event object directly to the target action.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: mauve/gnu/testlet/locales/LocaleTest.java
&lt;br&gt;--- mauve/gnu/testlet/locales/LocaleTest.java Base (1.9)
&lt;br&gt;+++ mauve/gnu/testlet/locales/LocaleTest.java Locally Modified (Based On 1.9)
&lt;br&gt;@@ -451,7 +451,7 @@
&lt;br&gt;&amp;nbsp;		new ExpectedNumberValues(&amp;quot;-1.000,00 YTL&amp;quot;, &amp;quot;-1.000.000,00 YTL&amp;quot;, &amp;quot;-100,00 YTL&amp;quot;, &amp;quot;-100,12 YTL&amp;quot;, &amp;quot;-10.000.000,12 YTL&amp;quot;),
&lt;br&gt;&amp;nbsp;		new ExpectedNumberValues(&amp;quot;1.000&amp;quot;, &amp;quot;1.000.000&amp;quot;, &amp;quot;100&amp;quot;, &amp;quot;100&amp;quot;, &amp;quot;10.000.000&amp;quot;),
&lt;br&gt;&amp;nbsp;		new ExpectedNumberValues(&amp;quot;1.000&amp;quot;, &amp;quot;1.000.000&amp;quot;, &amp;quot;100&amp;quot;, &amp;quot;100,123&amp;quot;, &amp;quot;10.000.000,123&amp;quot;),
&lt;br&gt;-		new ExpectedNumberValues(&amp;quot;100.000%&amp;quot;, &amp;quot;100.000.000%&amp;quot;, &amp;quot;10.000%&amp;quot;, &amp;quot;10.012%&amp;quot;, &amp;quot;1.000.000.012%&amp;quot;));
&lt;br&gt;+		new ExpectedNumberValues(&amp;quot;% 100.000&amp;quot;, &amp;quot;% 100.000.000&amp;quot;, &amp;quot;% 10.000&amp;quot;, &amp;quot;% 10.012&amp;quot;, &amp;quot;% 1.000.000.012&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Locale: Kazakstan
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;checkLocale(h, new Locale(&amp;quot;kk&amp;quot;, &amp;quot;KZ&amp;quot;),
&lt;br&gt;&amp;nbsp;		new ExpectedValues(&amp;quot;kk&amp;quot;, &amp;quot;KZ&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;kk_KZ&amp;quot;, &amp;quot;kaz&amp;quot;, &amp;quot;KAZ&amp;quot;,
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Fixed-local-variations-in-the-use-of-the-percentage-sign.-tp25594514p25594514.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24643801</id>
	<title>FYI: Pass incoming event object directly to the target action.</title>
	<published>2009-07-24T05:38:40Z</published>
	<updated>2009-07-24T05:38:40Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24643801&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/beans/EventHandler/check14c.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Pass incoming event object directly to the target action.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-24-beans-event-handler-1.6.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/gnu/testlet/java/beans/EventHandler/check14c.java
&lt;br&gt;--- mauve/gnu/testlet/java/beans/EventHandler/check14c.java Base (1.3)
&lt;br&gt;+++ mauve/gnu/testlet/java/beans/EventHandler/check14c.java Locally Modified (Based On 1.3)
&lt;br&gt;@@ -81,11 +81,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	public void test(TestHarness harness) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-		// The first test checks whether a ArrayIndexOutOfBoundsException is
&lt;br&gt;-		// thrown
&lt;br&gt;+		// The first test checks whether a RuntimeException is thrown
&lt;br&gt;&amp;nbsp;		// when the targetMethod cannot be found (Especially because of missing
&lt;br&gt;-		// access
&lt;br&gt;-		// rights).
&lt;br&gt;+		// access rights).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// JDK 1.4 and 1.5 erroneously throw an ArrayIndexOutOfBoundsException.
&lt;br&gt;&amp;nbsp;		Listener l = (Listener) EventHandler.create(Listener.class, this,
&lt;br&gt;&amp;nbsp;				&amp;quot;targetMethod&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -93,7 +92,7 @@
&lt;br&gt;&amp;nbsp;		try {
&lt;br&gt;&amp;nbsp;			l.listen();
&lt;br&gt;&amp;nbsp;		} catch (Exception e) {
&lt;br&gt;-			correctException = e.getClass() == ArrayIndexOutOfBoundsException.class;
&lt;br&gt;+			correctException = e.getClass() == RuntimeException.class;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;		harness.check(correctException, true, &amp;quot;missing target method&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -146,10 +145,11 @@
&lt;br&gt;&amp;nbsp;		// One may think that a creation like this will forward the Event
&lt;br&gt;&amp;nbsp;		// instance to the 'setEventProperty'
&lt;br&gt;&amp;nbsp;		// method but this is wrong and will cause a
&lt;br&gt;-		// ArrayIndexOutOfBoundsException to be as if could not
&lt;br&gt;+		// RuntimeException to be as if could not
&lt;br&gt;&amp;nbsp;		// find a method. In other words: If no property is defined action will
&lt;br&gt;&amp;nbsp;		// never be treated as a
&lt;br&gt;&amp;nbsp;		// property but always like a method name.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// JDK 1.4 and 1.5 erroneously throw an ArrayIndexOutOfBoundsException.
&lt;br&gt;&amp;nbsp;		l2 = (Listener2) EventHandler.create(Listener2.class, this,
&lt;br&gt;&amp;nbsp;				&amp;quot;eventProperty&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -157,7 +157,7 @@
&lt;br&gt;&amp;nbsp;		try {
&lt;br&gt;&amp;nbsp;			l2.listen(new Event());
&lt;br&gt;&amp;nbsp;		} catch (Exception e) {
&lt;br&gt;-			correctException = e.getClass() == ArrayIndexOutOfBoundsException.class;
&lt;br&gt;+			correctException = e.getClass() == RuntimeException.class;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;		harness.check(correctException, true, &amp;quot;action is method&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Pass-incoming-event-object-directly-to-the-target-action.-tp24643801p24643801.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24643714</id>
	<title>FYI: Update test to follow 1.6 specification behaviour.</title>
	<published>2009-07-24T05:31:12Z</published>
	<updated>2009-07-24T05:31:12Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">A bit of explantion:
&lt;br&gt;&lt;br&gt;The test expects an ArrayIndexOutOfBoundsException where a 
&lt;br&gt;RuntimeException should be thrown. &amp;nbsp;This is a bug in JDK up to 1.5: 
&lt;br&gt;while assembling the RuntimeException, the 
&lt;br&gt;ArrayIndexOutOfBoundsException is raised. &amp;nbsp;This is fixed in JDK 1.6.
&lt;br&gt;&lt;br&gt;See also &lt;a href=&quot;http://bugs.sun.com/view_bug.do?bug_id=4511992&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.sun.com/view_bug.do?bug_id=4511992&lt;/a&gt;&amp;nbsp;and 
&lt;br&gt;&lt;a href=&quot;http://bugs.sun.com/view_bug.do?bug_id=6204552&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.sun.com/view_bug.do?bug_id=6204552&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24643714&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/beans/EventHandler/check14c.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Update test to follow 1.6 specification behaviour.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-24-beans-event-handler-1.6.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/gnu/testlet/java/beans/EventHandler/check14c.java
&lt;br&gt;--- mauve/gnu/testlet/java/beans/EventHandler/check14c.java Base (1.3)
&lt;br&gt;+++ mauve/gnu/testlet/java/beans/EventHandler/check14c.java Locally Modified (Based On 1.3)
&lt;br&gt;@@ -81,11 +81,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	public void test(TestHarness harness) {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-		// The first test checks whether a ArrayIndexOutOfBoundsException is
&lt;br&gt;-		// thrown
&lt;br&gt;+		// The first test checks whether a RuntimeException is thrown
&lt;br&gt;&amp;nbsp;		// when the targetMethod cannot be found (Especially because of missing
&lt;br&gt;-		// access
&lt;br&gt;-		// rights).
&lt;br&gt;+		// access rights).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// JDK 1.4 and 1.5 erroneously throw an ArrayIndexOutOfBoundsException.
&lt;br&gt;&amp;nbsp;		Listener l = (Listener) EventHandler.create(Listener.class, this,
&lt;br&gt;&amp;nbsp;				&amp;quot;targetMethod&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -93,7 +92,7 @@
&lt;br&gt;&amp;nbsp;		try {
&lt;br&gt;&amp;nbsp;			l.listen();
&lt;br&gt;&amp;nbsp;		} catch (Exception e) {
&lt;br&gt;-			correctException = e.getClass() == ArrayIndexOutOfBoundsException.class;
&lt;br&gt;+			correctException = e.getClass() == RuntimeException.class;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;		harness.check(correctException, true, &amp;quot;missing target method&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -146,10 +145,11 @@
&lt;br&gt;&amp;nbsp;		// One may think that a creation like this will forward the Event
&lt;br&gt;&amp;nbsp;		// instance to the 'setEventProperty'
&lt;br&gt;&amp;nbsp;		// method but this is wrong and will cause a
&lt;br&gt;-		// ArrayIndexOutOfBoundsException to be as if could not
&lt;br&gt;+		// RuntimeException to be as if could not
&lt;br&gt;&amp;nbsp;		// find a method. In other words: If no property is defined action will
&lt;br&gt;&amp;nbsp;		// never be treated as a
&lt;br&gt;&amp;nbsp;		// property but always like a method name.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// JDK 1.4 and 1.5 erroneously throw an ArrayIndexOutOfBoundsException.
&lt;br&gt;&amp;nbsp;		l2 = (Listener2) EventHandler.create(Listener2.class, this,
&lt;br&gt;&amp;nbsp;				&amp;quot;eventProperty&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -157,7 +157,7 @@
&lt;br&gt;&amp;nbsp;		try {
&lt;br&gt;&amp;nbsp;			l2.listen(new Event());
&lt;br&gt;&amp;nbsp;		} catch (Exception e) {
&lt;br&gt;-			correctException = e.getClass() == ArrayIndexOutOfBoundsException.class;
&lt;br&gt;+			correctException = e.getClass() == RuntimeException.class;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;		harness.check(correctException, true, &amp;quot;action is method&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Update-test-to-follow-1.6-specification-behaviour.-tp24643714p24643714.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24643450</id>
	<title>FYI: Don't call setProperty if getProperty return null.</title>
	<published>2009-07-24T05:09:48Z</published>
	<updated>2009-07-24T05:09:48Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24643450&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/lang/Class/security:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Don't call setProperty if getProperty return null.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-24-class-null-property.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/gnu/testlet/java/lang/Class/security.java
&lt;br&gt;--- mauve/gnu/testlet/java/lang/Class/security.java Base (1.7)
&lt;br&gt;+++ mauve/gnu/testlet/java/lang/Class/security.java Locally Modified (Based On 1.7)
&lt;br&gt;@@ -159,9 +159,12 @@
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finally {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (oldrestrictions != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp;	Security.setProperty(&amp;quot;package.access&amp;quot;, oldrestrictions);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception ex) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.debug(ex);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.check(false, &amp;quot;Unexpected exception&amp;quot;);
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Don%27t-call-setProperty-if-getProperty-return-null.-tp24643450p24643450.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24642700</id>
	<title>FIY: More security manager related fixlets</title>
	<published>2009-07-24T04:08:22Z</published>
	<updated>2009-07-24T04:08:22Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24642700&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/lang/SecurityManager/thread.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;make sure SecurityManager is installed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/lang/System/security.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;clear property that we assume to be non existing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;(needed if test runs several time without exiting the vm).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/net/URLClassLoader/security.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/lang/Thread/security10.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Thread.enumerate does checks on ThreadGroup, but not on Thread
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;create fake URLStreamHandler
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-24-security-manager-2.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/gnu/testlet/java/lang/SecurityManager/thread.java
&lt;br&gt;--- mauve/gnu/testlet/java/lang/SecurityManager/thread.java Base (1.3)
&lt;br&gt;+++ mauve/gnu/testlet/java/lang/SecurityManager/thread.java Locally Modified (Based On 1.3)
&lt;br&gt;@@ -54,6 +54,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Check we're checking
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TestSecurityManager sm = new TestSecurityManager(harness);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sm.install();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sm.prepareChecks(new Permission[] {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new RuntimePermission(&amp;quot;modifyThread&amp;quot;)});
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sm.checkAccess(thread);
&lt;br&gt;@@ -64,4 +68,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sm.checkAccess(group);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sm.checkAllChecked();
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;finally
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sm.uninstall();
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;Index: mauve/gnu/testlet/java/lang/System/security.java
&lt;br&gt;--- mauve/gnu/testlet/java/lang/System/security.java Base (1.6)
&lt;br&gt;+++ mauve/gnu/testlet/java/lang/System/security.java Locally Modified (Based On 1.6)
&lt;br&gt;@@ -34,6 +34,7 @@
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;public void test(TestHarness harness)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String not_a_property = &amp;quot;java.monkey.flump&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.checkPoint(&amp;quot;setup&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -48,12 +49,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Properties properties = System.getProperties();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String a_property = &amp;quot;java.vm.name&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;String not_a_property = &amp;quot;java.monkey.flump&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.check(properties.containsKey(a_property));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.check(!properties.containsKey(not_a_property));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;//exitVM.0 or set compare style to implies
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Permission[] exitVM = new Permission[] {
&lt;br&gt;-	new RuntimePermission(&amp;quot;exitVM&amp;quot;)};
&lt;br&gt;+	new RuntimePermission(&amp;quot;exitVM.0&amp;quot;)};
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Permission[] loadLibrary_name = new Permission[] {
&lt;br&gt;&amp;nbsp;	new RuntimePermission(&amp;quot;loadLibrary.&amp;quot; + library_name)};
&lt;br&gt;@@ -307,6 +308,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finally {
&lt;br&gt;&amp;nbsp;	sm.uninstall();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.clearProperty(not_a_property);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception ex) {
&lt;br&gt;Index: mauve/gnu/testlet/java/lang/Thread/security10.java
&lt;br&gt;--- mauve/gnu/testlet/java/lang/Thread/security10.java Base (1.3)
&lt;br&gt;+++ mauve/gnu/testlet/java/lang/Thread/security10.java Locally Modified (Based On 1.3)
&lt;br&gt;@@ -34,6 +34,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new SecurityException();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void checkAccess(ThreadGroup thread)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new SecurityException();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void checkPermission(Permission perm)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;@@ -63,6 +67,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Thread testThread = new Thread();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;ThreadGroup group = new ThreadGroup(&amp;quot;MyGroup&amp;quot;);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;System.setSecurityManager(new MySecurityManager());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Runnable run = new Runnable()
&lt;br&gt;@@ -115,8 +121,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;h.checkPoint(&amp;quot;Thread creation with ThreadGroup&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;ThreadGroup group = new ThreadGroup(&amp;quot;MyGroup&amp;quot;);
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp;	Thread thread = new Thread(group, &amp;quot;MyThread&amp;quot;);
&lt;br&gt;@@ -267,9 +271,12 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * does not call checkAccess(Thread) but
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * checkAccess(ThreadGroup)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp;	Thread[] array = new Thread[1];
&lt;br&gt;-	array[0] = Thread.currentThread();
&lt;br&gt;-	testThread.enumerate(array);
&lt;br&gt;+	Thread.enumerate(array);
&lt;br&gt;&amp;nbsp;	h.check(false);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (SecurityException e)
&lt;br&gt;Index: mauve/gnu/testlet/java/net/URLClassLoader/security.java
&lt;br&gt;--- mauve/gnu/testlet/java/net/URLClassLoader/security.java Base (1.2)
&lt;br&gt;+++ mauve/gnu/testlet/java/net/URLClassLoader/security.java Locally Modified (Based On 1.2)
&lt;br&gt;@@ -22,8 +22,10 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;package gnu.testlet.java.net.URLClassLoader;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;&amp;nbsp;import java.net.URL;
&lt;br&gt;&amp;nbsp;import java.net.URLClassLoader;
&lt;br&gt;+import java.net.URLConnection;
&lt;br&gt;&amp;nbsp;import java.net.URLStreamHandler;
&lt;br&gt;&amp;nbsp;import java.net.URLStreamHandlerFactory;
&lt;br&gt;&amp;nbsp;import java.security.Permission;
&lt;br&gt;@@ -97,7 +99,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public URLStreamHandler createURLStreamHandler(String protocol)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return new URLStreamHandler()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected URLConnection openConnection(URL u) throws IOException
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(&amp;quot;not implemented&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FIY%3A-More-security-manager-related-fixlets-tp24642700p24642700.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24642033</id>
	<title>FYI: TestSecurityManager fixlets</title>
	<published>2009-07-24T03:13:11Z</published>
	<updated>2009-07-24T03:13:11Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">TestSecurityManager has to delegate some functionality to the Policy to 
&lt;br&gt;make sure privileged system code works.
&lt;br&gt;&lt;br&gt;2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24642033&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/TestSecurityManager:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TestSecurityManager has to delegate some functionality to the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Policy to make sure privileged system code works.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-24-security-manager.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/gnu/testlet/TestSecurityManager.java
&lt;br&gt;--- mauve/gnu/testlet/TestSecurityManager.java Base (1.4)
&lt;br&gt;+++ mauve/gnu/testlet/TestSecurityManager.java Locally Modified (Based On 1.4)
&lt;br&gt;@@ -22,7 +22,12 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;package gnu.testlet;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+import java.security.CodeSource;
&lt;br&gt;&amp;nbsp;import java.security.Permission;
&lt;br&gt;+import java.security.PermissionCollection;
&lt;br&gt;+import java.security.Policy;
&lt;br&gt;+import java.security.ProtectionDomain;
&lt;br&gt;+import java.util.PropertyPermission;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&amp;nbsp; * A security manager for testing that security checks are performed.
&lt;br&gt;@@ -54,6 +59,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;private SecurityManager oldManager;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * The policy in force before we were installed
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;private Policy oldPolicy;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Permissions that must be checked for this test to pass.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp;private Permission[] mustCheck;
&lt;br&gt;@@ -134,6 +144,97 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;oldManager = oldsm;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;enabled = false;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;oldPolicy = Policy.getPolicy();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Policy.setPolicy(new Policy()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public PermissionCollection getPermissions(CodeSource codesource)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Check that this permission is one that we should be checking.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * This code used to be in TestSecurityManager.checkPermission,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * but doing the same here allows us to easily skip doPrivileged
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * actions like reading some properties in system code.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @param perm the permission to be checked
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @throws SuccessException if all &amp;lt;code&amp;gt;mustCheck&amp;lt;/code&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; permissions have been checked and &amp;lt;code&amp;gt;isHalting&amp;lt;/code&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is true.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @return returns false if and only if none of the &amp;lt;code&amp;gt;mustCheck&amp;lt;/code&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; or &amp;lt;code&amp;gt;mayCheck&amp;lt;/code&amp;gt; permissions matches
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;code&amp;gt;perm&amp;lt;/code&amp;gt;. else true
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean implies(ProtectionDomain domain,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Permission perm)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!enabled)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (harness != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.debug(&amp;quot;checkPermission(&amp;quot; + perm + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean matched = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!matched) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; mustCheck.length; i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (permissionsMatch(mustCheck[i], perm)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checked[i] = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;matched = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!matched) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; mayCheck.length; i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (permissionsMatch(mayCheck[i], perm)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;matched = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!matched) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enabled = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.debug(&amp;quot;unexpected check: &amp;quot; + perm);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mustCheck.length != 0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuffer expected = new StringBuffer();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; mustCheck.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expected.append(' ').append(mustCheck[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.debug(&amp;quot;expected: mustCheck:&amp;quot; + expected.toString());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mayCheck.length != 0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuffer expected = new StringBuffer();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; mayCheck.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expected.append(' ').append(mayCheck[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.debug(&amp;quot;expected: mayCheck:&amp;quot; + expected.toString());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (isHalting) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean allChecked = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; checked.length; i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!checked[i])
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allChecked = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (allChecked) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enabled = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw successException;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void refresh()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;});
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;System.setSecurityManager(this);
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -149,6 +250,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;enabled = false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;System.setSecurityManager(oldManager);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Policy.setPolicy(oldPolicy);
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;@@ -264,73 +366,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; * Check that this permission is one that we should be checking.
&lt;br&gt;- &amp;nbsp; * 
&lt;br&gt;- &amp;nbsp; * @param perm the permission to be checked
&lt;br&gt;- &amp;nbsp; * @throws SuccessException if all &amp;lt;code&amp;gt;mustCheck&amp;lt;/code&amp;gt;
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; permissions have been checked and &amp;lt;code&amp;gt;isHalting&amp;lt;/code&amp;gt;
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is true.
&lt;br&gt;- &amp;nbsp; * @throws SecurityException if none of the &amp;lt;code&amp;gt;mustCheck&amp;lt;/code&amp;gt;
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; or &amp;lt;code&amp;gt;mayCheck&amp;lt;/code&amp;gt; permissions matches
&lt;br&gt;- &amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;code&amp;gt;perm&amp;lt;/code&amp;gt;.
&lt;br&gt;- &amp;nbsp; */
&lt;br&gt;- &amp;nbsp;public void checkPermission(Permission perm) throws SecurityException
&lt;br&gt;- &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (!enabled)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (harness != null)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.debug(&amp;quot;checkPermission(&amp;quot; + perm + &amp;quot;)&amp;quot;);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;boolean matched = false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; mustCheck.length; i++) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (permissionsMatch(mustCheck[i], perm))
&lt;br&gt;-	matched = checked[i] = true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (!matched) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; mayCheck.length; i++) {
&lt;br&gt;-	if (permissionsMatch(mayCheck[i], perm))
&lt;br&gt;-	 &amp;nbsp;matched = true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (!matched) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;enabled = false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.debug(&amp;quot;unexpected check: &amp;quot; + perm);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mustCheck.length != 0) {
&lt;br&gt;-	StringBuffer expected = new StringBuffer();
&lt;br&gt;-	for (int i = 0; i &amp;lt; mustCheck.length; i++)
&lt;br&gt;-	 &amp;nbsp;expected.append(' ').append(mustCheck[i]);
&lt;br&gt;-	harness.debug(&amp;quot;expected: mustCheck:&amp;quot; + expected.toString());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mayCheck.length != 0) {
&lt;br&gt;-	StringBuffer expected = new StringBuffer();
&lt;br&gt;-	for (int i = 0; i &amp;lt; mayCheck.length; i++)
&lt;br&gt;-	 &amp;nbsp;expected.append(' ').append(mayCheck[i]);
&lt;br&gt;-	harness.debug(&amp;quot;expected: mayCheck:&amp;quot; + expected.toString());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new SecurityException(&amp;quot;unexpected check: &amp;quot; + perm);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (isHalting) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean allChecked = true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; checked.length; i++) {
&lt;br&gt;-	if (!checked[i])
&lt;br&gt;-	 &amp;nbsp;allChecked = false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (allChecked) {
&lt;br&gt;-	enabled = false;
&lt;br&gt;-	throw successException;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Check that all &amp;lt;code&amp;gt;mustCheck&amp;lt;/code&amp;gt; permissions were checked,
&lt;br&gt;&amp;nbsp; &amp;nbsp; * calling &amp;lt;code&amp;gt;TestHarness.check()&amp;lt;/code&amp;gt; with the result.
&lt;br&gt;&amp;nbsp; &amp;nbsp; */
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-TestSecurityManager-fixlets-tp24642033p24642033.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24410790</id>
	<title>FIY: Remove obsolete check.</title>
	<published>2009-07-09T07:05:04Z</published>
	<updated>2009-07-09T07:05:04Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">I removed 2 checks that require SimpleDateFormat objects to differ based 
&lt;br&gt;solely on their 2DigitYearStart setting:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://bugs.sun.com/view_bug.do?bug_id=4167513&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.sun.com/view_bug.do?bug_id=4167513&lt;/a&gt;&lt;br&gt;&lt;br&gt;2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24410790&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/text/SimpleDateFormat/equals:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Remove obsolete check.
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-09-equals.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/ChangeLog
&lt;br&gt;--- mauve/ChangeLog Base (1.2141)
&lt;br&gt;+++ mauve/ChangeLog Locally Modified (Based On 1.2141)
&lt;br&gt;@@ -1,3 +1,8 @@
&lt;br&gt;+2009-07-09 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24410790&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* gnu/testlet/java/text/SimpleDateFormat/equals:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Remove obsolete check.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-07-08 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24410790&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/javax/imageio/spi/ServiceRegistry/lookupProviders:
&lt;br&gt;Index: mauve/gnu/testlet/java/text/SimpleDateFormat/equals.java
&lt;br&gt;--- mauve/gnu/testlet/java/text/SimpleDateFormat/equals.java Base (1.2)
&lt;br&gt;+++ mauve/gnu/testlet/java/text/SimpleDateFormat/equals.java Locally Modified (Based On 1.2)
&lt;br&gt;@@ -61,16 +61,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;harness.check(f1.equals(f2)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check 5
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Date d1 = new Date();
&lt;br&gt;- &amp;nbsp; &amp;nbsp;f1.set2DigitYearStart(d1);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;harness.check(!f1.equals(f2)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // check 6
&lt;br&gt;- &amp;nbsp; &amp;nbsp;f2.set2DigitYearStart(d1);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;harness.check(f1.equals(f2)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// check 7
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// check null argument
&lt;br&gt;- &amp;nbsp; &amp;nbsp;harness.check(!d1.equals(null)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // check 8
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;harness.check(!d1.equals(null)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // check 6
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// check arbitrary argument
&lt;br&gt;- &amp;nbsp; &amp;nbsp;harness.check(!d1.equals(&amp;quot;Not a SimpleDateFormat&amp;quot;)); &amp;nbsp;// check 9
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;harness.check(!d1.equals(&amp;quot;Not a SimpleDateFormat&amp;quot;)); &amp;nbsp;// check 7
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FIY%3A-Remove-obsolete-check.-tp24410790p24410790.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24390812</id>
	<title>FYI: set the classloader of the current context</title>
	<published>2009-07-08T05:44:26Z</published>
	<updated>2009-07-08T05:44:26Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">I'm going to commit this patch.
&lt;br&gt;&lt;br&gt;We need to use the classloader of the current context, not the system 
&lt;br&gt;classloader so that the test keeps working in contexts where a 
&lt;br&gt;classloader other than the system classloader was used to load the test 
&lt;br&gt;in the first place.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-08-mauve-service-registry.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/ChangeLog
&lt;br&gt;--- mauve/ChangeLog Base (1.2140)
&lt;br&gt;+++ mauve/ChangeLog Locally Modified (Based On 1.2140)
&lt;br&gt;@@ -1,3 +1,10 @@
&lt;br&gt;+2009-07-08 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24390812&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* gnu/testlet/javax/imageio/spi/ServiceRegistry/lookupProviders:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Use the classloader of the current context, so that the test works
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;when classloader other than the system classloader was used to load the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;test.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-07-03 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24390812&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/util/ArrayList/AcuniaArrayListTest:
&lt;br&gt;Index: mauve/gnu/testlet/javax/imageio/spi/ServiceRegistry/lookupProviders.java
&lt;br&gt;--- mauve/gnu/testlet/javax/imageio/spi/ServiceRegistry/lookupProviders.java Base (1.1)
&lt;br&gt;+++ mauve/gnu/testlet/javax/imageio/spi/ServiceRegistry/lookupProviders.java Locally Modified (Based On 1.1)
&lt;br&gt;@@ -229,6 +229,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public CustomClassLoader(URL[] providerLists)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;super(CustomClassLoader.class.getClassLoader());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.providerLists = providerLists;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-set-the-classloader-of-the-current-context-tp24390812p24390812.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24323524</id>
	<title>FYI: fix ConcurrentModificationException should be thrown when altering  the capacity of the array.</title>
	<published>2009-07-03T06:55:11Z</published>
	<updated>2009-07-03T06:55:11Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">I'm committing this change to fix the issue in subject.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;&lt;br&gt;2009-07-03 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24323524&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/ArrayList/AcuniaArrayListTest:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fix ConcurrentModificationException should be thrown when
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; altering the capacity of the array.
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-03-AcuniaArrayListTest.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java
&lt;br&gt;--- mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java Base (1.4)
&lt;br&gt;+++ mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java Locally Modified (Based On 1.4)
&lt;br&gt;@@ -580,9 +580,21 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ArrayList al = buildAL();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp;al.get(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.trimToSize();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;	it.next();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 3&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.ensureCapacity(25);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;	it.next();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 3&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;al.get(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.contains(null);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.isEmpty();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.indexOf(null);
&lt;br&gt;@@ -596,6 +608,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	th.check(true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.fail(&amp;quot;should not throw a ConcurrentModificationException -- 2&amp;quot;); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.add(&amp;quot;b&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -603,6 +616,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 3&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.add(3,&amp;quot;b&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -610,6 +624,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 4&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.addAll(xal);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -617,6 +632,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 5&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.addAll(2,xal);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -624,6 +640,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 6&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.remove(2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -631,6 +648,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 8&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.clear();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-fix-ConcurrentModificationException-should-be-thrown-when-altering--the-capacity-of-the-array.-tp24323524p24323524.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24323507</id>
	<title>FYI: fix ConcurrentModificationException should be thrown when altering  the capacity of the array.</title>
	<published>2009-07-03T06:32:42Z</published>
	<updated>2009-07-03T06:32:42Z</updated>
	<author>
		<name>Mario Torre-4</name>
	</author>
	<content type="html">I'm committing this change to fix the issue in subject.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Mario
&lt;br&gt;&lt;br&gt;2009-07-03 &amp;nbsp;Mario Torre &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24323507&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;neugens@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* gnu/testlet/java/util/ArrayList/AcuniaArrayListTest:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fix ConcurrentModificationException should be thrown when
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;altering the capacity of the array.
&lt;br&gt;-- 
&lt;br&gt;Mario Torre, Software Developer, &lt;a href=&quot;http://www.jroller.com/neugens/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jroller.com/neugens/&lt;/a&gt;&lt;br&gt;aicas Allerton Interworks Computer Automated Systems GmbH
&lt;br&gt;Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
&lt;br&gt;&lt;a href=&quot;http://www.aicas.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.aicas.com&lt;/a&gt;&amp;nbsp; &amp;nbsp;* Tel: +49-721-663 968-44
&lt;br&gt;pgp key: &lt;a href=&quot;http://subkeys.pgp.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net/&lt;/a&gt;&amp;nbsp;PGP Key ID: 80F240CF
&lt;br&gt;Fingerprint: BA39 9666 94EC 8B73 27FA &amp;nbsp;FC7C 4086 63E3 80F2 40CF
&lt;br&gt;&lt;br&gt;USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
&lt;br&gt;Geschäftsführer: Dr. James J. Hunt
&lt;br&gt;&lt;br&gt;Please, support open standards:
&lt;br&gt;&lt;a href=&quot;http://endsoftpatents.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://endsoftpatents.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[2009-07-03-AcuniaArrayListTest.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;# This patch file was generated by NetBeans IDE
&lt;br&gt;# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
&lt;br&gt;# It uses platform neutral UTF-8 encoding.
&lt;br&gt;# Above lines and this line are ignored by the patching process.
&lt;br&gt;Index: mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java
&lt;br&gt;--- mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java Base (1.4)
&lt;br&gt;+++ mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java Locally Modified (Based On 1.4)
&lt;br&gt;@@ -580,9 +580,21 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ArrayList al = buildAL();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;- &amp;nbsp; &amp;nbsp;al.get(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.trimToSize();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;	it.next();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 3&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.ensureCapacity(25);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;	it.next();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 3&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;al.get(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.contains(null);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.isEmpty();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.indexOf(null);
&lt;br&gt;@@ -596,6 +608,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	th.check(true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.fail(&amp;quot;should not throw a ConcurrentModificationException -- 2&amp;quot;); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.add(&amp;quot;b&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -603,6 +616,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 3&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.add(3,&amp;quot;b&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -610,6 +624,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 4&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.addAll(xal);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -617,6 +632,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 5&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.addAll(2,xal);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -624,6 +640,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 6&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.remove(2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;@@ -631,6 +648,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;th.fail(&amp;quot;should throw a ConcurrentModificationException -- 8&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch(ConcurrentModificationException ioobe) { th.check(true); }
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it = al.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;al.clear();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-fix-ConcurrentModificationException-should-be-thrown-when-altering--the-capacity-of-the-array.-tp24323507p24323507.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22724849</id>
	<title>Re: RFC: Fix java.awt.Dialog.size</title>
	<published>2009-03-26T08:52:58Z</published>
	<updated>2009-03-26T08:52:58Z</updated>
	<author>
		<name>Lillian Angel</name>
	</author>
	<content type="html">Mark Wielaard wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Omair,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Mon, 2009-03-23 at 16:25 -0400, Omair Majid wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; This patch fixes an issue in the java.awt.Dialog.size test where the 
&lt;br&gt;&amp;gt;&amp;gt; Dialog was shown and then a component was added to it, causing the 
&lt;br&gt;&amp;gt;&amp;gt; preferred size to become more than the actual size.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Works with IcedTea6 and gij &amp;nbsp;4.3.2
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Changelog:
&lt;br&gt;&amp;gt;&amp;gt; 2009-03-23 &amp;nbsp;Omair Majid &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22724849&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;omajid@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 	* gnu/testlet/java/awt/Dialog/size.java (test): First add any
&lt;br&gt;&amp;gt;&amp;gt; 	components to the Dialog, then pack it before testing preferred
&lt;br&gt;&amp;gt;&amp;gt; 	size and actual size.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The original version of this test had &amp;quot;Dialog should be shown at
&lt;br&gt;&amp;gt; preferred size when pack is not called before show.&amp;quot; Which is probably
&lt;br&gt;&amp;gt; why pack() wasn't in the original. I am not sure that is a legal
&lt;br&gt;&amp;gt; assumption though. So adding the pack() might be what is needed here. It
&lt;br&gt;&amp;gt; depends on what you want to test. Maybe Lillian remembers, she added the
&lt;br&gt;&amp;gt; test originally.
&lt;/div&gt;&lt;br&gt;&lt;br&gt;I wish I had a better recollection of writing this test. If that is not 
&lt;br&gt;a legal assumption, then I am ok with the test being changed.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Lillian
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/RFC%3A-Fix-java.awt.Dialog.size-tp22668369p22724849.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22670691</id>
	<title>Re: RFC: Fix java.awt.Dialog.size</title>
	<published>2009-03-23T15:29:28Z</published>
	<updated>2009-03-23T15:29:28Z</updated>
	<author>
		<name>Mark Wielaard</name>
	</author>
	<content type="html">Hi Omair,
&lt;br&gt;&lt;br&gt;On Mon, 2009-03-23 at 16:25 -0400, Omair Majid wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; This patch fixes an issue in the java.awt.Dialog.size test where the 
&lt;br&gt;&amp;gt; Dialog was shown and then a component was added to it, causing the 
&lt;br&gt;&amp;gt; preferred size to become more than the actual size.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Works with IcedTea6 and gij &amp;nbsp;4.3.2
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Changelog:
&lt;br&gt;&amp;gt; 2009-03-23 &amp;nbsp;Omair Majid &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22670691&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;omajid@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	* gnu/testlet/java/awt/Dialog/size.java (test): First add any
&lt;br&gt;&amp;gt; 	components to the Dialog, then pack it before testing preferred
&lt;br&gt;&amp;gt; 	size and actual size.
&lt;/div&gt;&lt;br&gt;The original version of this test had &amp;quot;Dialog should be shown at
&lt;br&gt;preferred size when pack is not called before show.&amp;quot; Which is probably
&lt;br&gt;why pack() wasn't in the original. I am not sure that is a legal
&lt;br&gt;assumption though. So adding the pack() might be what is needed here. It
&lt;br&gt;depends on what you want to test. Maybe Lillian remembers, she added the
&lt;br&gt;test originally.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/RFC%3A-Fix-java.awt.Dialog.size-tp22668369p22670691.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22668369</id>
	<title>RFC: Fix java.awt.Dialog.size</title>
	<published>2009-03-23T13:25:01Z</published>
	<updated>2009-03-23T13:25:01Z</updated>
	<author>
		<name>Omair Majid</name>
	</author>
	<content type="html">This patch fixes an issue in the java.awt.Dialog.size test where the 
&lt;br&gt;Dialog was shown and then a component was added to it, causing the 
&lt;br&gt;preferred size to become more than the actual size.
&lt;br&gt;&lt;br&gt;Works with IcedTea6 and gij &amp;nbsp;4.3.2
&lt;br&gt;&lt;br&gt;Changelog:
&lt;br&gt;2009-03-23 &amp;nbsp;Omair Majid &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22668369&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;omajid@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/awt/Dialog/size.java (test): First add any
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; components to the Dialog, then pack it before testing preferred
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; size and actual size.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Omair
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/awt/Dialog/size.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Dialog/size.java,v
&lt;br&gt;retrieving revision 1.2
&lt;br&gt;diff -u -r1.2 size.java
&lt;br&gt;--- gnu/testlet/java/awt/Dialog/size.java	2 Nov 2005 16:38:22 -0000	1.2
&lt;br&gt;+++ gnu/testlet/java/awt/Dialog/size.java	23 Mar 2009 20:11:13 -0000
&lt;br&gt;@@ -37,8 +37,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;public void test(TestHarness harness) &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Dialog jd = new Dialog(new Frame());
&lt;br&gt;- &amp;nbsp; &amp;nbsp;jd.show();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;jd.add(new Label(&amp;quot;Hello world&amp;quot;));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;jd.pack();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;jd.show();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// jd insets may be larger than preferred size
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Dimension pref = jd.getPreferredSize();
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/RFC%3A-Fix-java.awt.Dialog.size-tp22668369p22668369.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22108248</id>
	<title>Re: [PATCH] Output xml results for tests with compilation problems</title>
	<published>2009-02-19T11:43:57Z</published>
	<updated>2009-02-19T11:43:57Z</updated>
	<author>
		<name>Omair Majid</name>
	</author>
	<content type="html">Lillian Angel wrote:
&lt;br&gt;&amp;gt; Omair Majid wrote:
&lt;br&gt;&amp;gt;&amp;gt; The attached patch fixes mauve so that a failure is reported in the xml
&lt;br&gt;&amp;gt;&amp;gt; file. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Feel free to commit this.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Thanks. Applied patch as
&lt;br&gt;&lt;br&gt;2009-02-19 &amp;nbsp;Omair Majid &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22108248&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;omajid@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;* RunnerProcess (runtest): If a test fails to start, include it in 
&lt;br&gt;the xml report as a failure.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Omair
&lt;br&gt;&lt;br /&gt;? xmloutput-on-failed-to-compile-tests.patch
&lt;br&gt;? xmloutput.patch
&lt;br&gt;Index: ChangeLog
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/ChangeLog,v
&lt;br&gt;retrieving revision 1.2136
&lt;br&gt;diff -u -r1.2136 ChangeLog
&lt;br&gt;--- ChangeLog	13 Feb 2009 15:51:58 -0000	1.2136
&lt;br&gt;+++ ChangeLog	19 Feb 2009 19:37:11 -0000
&lt;br&gt;@@ -1,3 +1,8 @@
&lt;br&gt;+2009-02-19 &amp;nbsp;Omair Majid &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22108248&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;omajid@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+	* RunnerProcess (runtest): If a test fails to start, include it in the xml
&lt;br&gt;+	report as a failure.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-02-13 &amp;nbsp;Omair Majid &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22108248&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;omajid@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	* Harness.java (setupHarness): Check for -xmlout file argument.
&lt;br&gt;Index: RunnerProcess.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/RunnerProcess.java,v
&lt;br&gt;retrieving revision 1.18
&lt;br&gt;diff -u -r1.18 RunnerProcess.java
&lt;br&gt;--- RunnerProcess.java	11 Jun 2008 10:08:00 -0000	1.18
&lt;br&gt;+++ RunnerProcess.java	19 Feb 2009 19:37:11 -0000
&lt;br&gt;@@ -362,6 +362,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (verbose)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;TEST FAILED: exception when loading &amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + stripPrefix(name));
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (report != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;report.addTestResult(currentResult);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Output-xml-results-for-tests-with-compilation-problems-tp22058739p22108248.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22107465</id>
	<title>Re: [PATCH] Output xml results for tests with compilation problems</title>
	<published>2009-02-19T11:02:44Z</published>
	<updated>2009-02-19T11:02:44Z</updated>
	<author>
		<name>Lillian Angel</name>
	</author>
	<content type="html">Omair Majid wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When mauve fails to start a test which because of compilation problems,
&lt;br&gt;&amp;gt; no xml output is gnenerated:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; $ java Harness -vm /usr/bin/java
&lt;br&gt;&amp;gt; gnu.java.security.hash.TestOfHashFactory -xmlout output.xml
&lt;br&gt;&amp;gt; FAIL: gnu.java.security.hash.TestOfHashFactory
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; exception when loading:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;java.lang.Error: Unresolved compilation problems:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; The import gnu.java cannot be resolved
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; The import gnu.java cannot be resolved
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; IMessageDigest cannot be resolved to a type
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; HashFactory cannot be resolved
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; HashFactory cannot be resolved
&lt;br&gt;&amp;gt; [snip]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The xml output file contains no failures:
&lt;br&gt;&amp;gt; &amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;testreport version='0.1'&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;jvm name='Sun Microsystems Inc.'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; version='14.0-b08'
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; os='Linux 2.6.27.9-159.fc10.i686 i386' /&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/testreport&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The attached patch fixes mauve so that a failure is reported in the xml
&lt;br&gt;&amp;gt; file. 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Feel free to commit this.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Lillian
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Output-xml-results-for-tests-with-compilation-problems-tp22058739p22107465.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22063458</id>
	<title>Issue with XML output when RunnerProcess is killed</title>
	<published>2009-02-17T10:33:20Z</published>
	<updated>2009-02-17T10:33:20Z</updated>
	<author>
		<name>Omair Majid</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I ran across an issue with mauve's xml output today. The xml test 
&lt;br&gt;results are stored in a TestReport object which belongs to 
&lt;br&gt;RunnerProcess. In tests where Harness thinks that the RunnerProcess has 
&lt;br&gt;timed out, it kills RunnerProcess, causing the TestReport object to be 
&lt;br&gt;destroyed and all the information to be lost. I am not sure how to go 
&lt;br&gt;about fixing this. Any ideas?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Omair
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mauve-discuss-f12238.html&quot; embed=&quot;fixTarget[12238]&quot; target=&quot;_top&quot; &gt;Sourceware - mauve-discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Issue-with-XML-output-when-RunnerProcess-is-killed-tp22063458p22063458.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22058739</id>
	<title>[PATCH] Output xml results for tests with compilation problems</title>
	<published>2009-02-17T06:46:03Z</published>
	<updated>2009-02-17T06:46:03Z</updated>
	<author>
		<name>Omair Majid</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;When mauve fails to start a test which because of compilation problems,
&lt;br&gt;no xml output is gnenerated:
&lt;br&gt;&lt;br&gt;$ java Harness -vm /usr/bin/java
&lt;br&gt;gnu.java.security.hash.TestOfHashFactory -xmlout output.xml
&lt;br&gt;FAIL: gnu.java.security.hash.TestOfHashFactory
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;exception when loading:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; java.lang.Error: Unresolved compilation problems:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The import gnu.java cannot be resolved
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The import gnu.java cannot be resolved
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IMessageDigest cannot be resolved to a type
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HashFactory cannot be resolved
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HashFactory cannot be resolved
&lt;br&gt;[snip]
&lt;br&gt;&lt;br&gt;The xml output file contains no failures:
&lt;br&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;
&lt;br&gt;&amp;lt;testreport version='0.1'&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;jvm name='Sun Microsystems Inc.'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version='14.0-b08'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;os='Linux 2.6.27.9-159.fc10.i686 i386' /&amp;gt;
&lt;br&gt;&amp;lt;/testreport&amp;gt;
&lt;br&gt;&lt;br&gt;The attached patch fixes mauve so that a failure is reported in the xml
&lt;br&gt;file.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Omair
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;--- RunnerProcess.java	11 Jun 2008 10:08:00 -0000
&lt;br&gt;+++ RunnerProcess.java	13 Feb 2009 16:50:41 -0000
&lt;br&gt;@@ -362,6 +362,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (verbose)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;TEST FAILED: exception when loading &amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + stripPrefix(name));
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (report != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;report.addTestResult(currentResult);
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Output-xml-results-for-tests-with-compilation-problems-tp22058739p22058739.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-21999105</id>
	<title>Re: [PATCH] Fix xmlout option</title>
	<published>2009-02-13T07:52:25Z</published>
	<updated>2009-02-13T07:52:25Z</updated>
	<author>
		<name>Mark Wielaard</name>
	</author>
	<content type="html">Hi Omair,
&lt;br&gt;&lt;br&gt;On Fri, 2009-02-13 at 10:07 -0500, Omair Majid wrote:
&lt;br&gt;&amp;gt; Good catch. Fixed patch attached. I am not sure how the help message 
&lt;br&gt;&amp;gt; indicates that the file name is optional. 'filename' in '-file 
&lt;br&gt;&amp;gt; [filename]' is required and so is 'millis' in '-timeout [millis]'.
&lt;br&gt;&lt;br&gt;O right, hmmm, how unconventional. But ok, lets keep them all the same.
&lt;br&gt;Applied your patch as:
&lt;br&gt;&lt;br&gt;2009-02-13 &amp;nbsp;Omair Majid &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=21999105&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;omajid@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Harness.java (setupHarness): Check for -xmlout file argument.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Fix-xmlout-option-tp21980038p21999105.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-21998179</id>
	<title>Re: [PATCH] Fix xmlout option</title>
	<published>2009-02-13T07:07:53Z</published>
	<updated>2009-02-13T07:07:53Z</updated>
	<author>
		<name>Omair Majid</name>
	</author>
	<content type="html">Hi Mark,
&lt;br&gt;&lt;br&gt;Mark Wielaard wrote:
&lt;br&gt;&amp;gt; Thanks. It took me some time to understand how this was supposed to work
&lt;br&gt;&amp;gt; with the ping-pong between Harness and RunnerProcess. I am afraid you
&lt;br&gt;&amp;gt; might be the first one in a long time that has worked with the xml
&lt;br&gt;&amp;gt; output. So don't be surprised if you find more bugs. Sorry about that.
&lt;br&gt;&lt;br&gt;I am just glad there is an xmlout option at all!
&lt;br&gt;&lt;br&gt;&amp;gt; I think you should explicitly check that args.length still has another
&lt;br&gt;&amp;gt; element like the other checks before this one. The help message implies
&lt;br&gt;&amp;gt; that the file name is optional, but it really isn't since RunnerProcess
&lt;br&gt;&amp;gt; depends on it. Could you make that change and update the help message?
&lt;br&gt;&lt;br&gt;Good catch. Fixed patch attached. I am not sure how the help message 
&lt;br&gt;indicates that the file name is optional. 'filename' in '-file 
&lt;br&gt;[filename]' is required and so is 'millis' in '-timeout [millis]'.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Omair
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;--- Harness.java.orig	2009-02-12 11:30:11.000000000 -0500
&lt;br&gt;+++ Harness.java	2009-02-13 09:58:05.000000000 -0500
&lt;br&gt;@@ -338,6 +338,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;after '-timeout'. &amp;nbsp;Exit&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;runner_timeout = Long.parseLong(args[i]);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (args[i].equals(&amp;quot;-xmlout&amp;quot;))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// User wants output in an xml file
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (++i &amp;gt;= args.length)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException (&amp;quot;No file &amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;given after '-xmlout'. &amp;nbsp;Exit&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// the filename is used directly from args
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (args[i].charAt(0) == '-')
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// One of the ignored options (handled by RunnerProcess)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Fix-xmlout-option-tp21980038p21998179.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-21995899</id>
	<title>Re: [PATCH] Fix xmlout option</title>
	<published>2009-02-13T05:01:50Z</published>
	<updated>2009-02-13T05:01:50Z</updated>
	<author>
		<name>Mark Wielaard</name>
	</author>
	<content type="html">Hi Omair,
&lt;br&gt;&lt;br&gt;On Thu, 2009-02-12 at 11:51 -0500, Omair Majid wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The attached patch fixes the issue in mauve when running the entire test 
&lt;br&gt;&amp;gt; suite with -xmlout fails:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; $ java Harness -vm /usr/bin/java -xmlout xmloutputfile
&lt;br&gt;&amp;gt; No tests were run. &amp;nbsp;Possible reasons may be listed below.
&lt;br&gt;&amp;gt; Did you specify a test that doesn't exist or a folder that contains no 
&lt;br&gt;&amp;gt; tests?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The bug seems to be that mauve ignores the -xmlout option and then 
&lt;br&gt;&amp;gt; treats xmloutputfile as the name of the test to run. The patch adds a 
&lt;br&gt;&amp;gt; case in Harness.setupHarness() so that the argument after -xmlout is 
&lt;br&gt;&amp;gt; skipped (it is later checked in RunnerProcess).
&lt;/div&gt;&lt;br&gt;Thanks. It took me some time to understand how this was supposed to work
&lt;br&gt;with the ping-pong between Harness and RunnerProcess. I am afraid you
&lt;br&gt;might be the first one in a long time that has worked with the xml
&lt;br&gt;output. So don't be surprised if you find more bugs. Sorry about that.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; --- Harness.java.orig	2009-02-12 11:30:11.000000000 -0500
&lt;br&gt;&amp;gt; +++ Harness.java	2009-02-12 11:34:23.000000000 -0500
&lt;br&gt;&amp;gt; @@ -338,6 +338,13 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;after '-timeout'. &amp;nbsp;Exit&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;runner_timeout = Long.parseLong(args[i]);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (args[i].equals(&amp;quot;-xmlout&amp;quot;))
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Option handled by RunnerProcess
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Next arg is filename; RunnerProcess checks the args
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// again
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;++i;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;/div&gt;&lt;br&gt;I think you should explicitly check that args.length still has another
&lt;br&gt;element like the other checks before this one. The help message implies
&lt;br&gt;that the file name is optional, but it really isn't since RunnerProcess
&lt;br&gt;depends on it. Could you make that change and update the help message?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Fix-xmlout-option-tp21980038p21995899.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-21980038</id>
	<title>[PATCH] Fix xmlout option</title>
	<published>2009-02-12T08:51:34Z</published>
	<updated>2009-02-12T08:51:34Z</updated>
	<author>
		<name>Omair Majid</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;The attached patch fixes the issue in mauve when running the entire test 
&lt;br&gt;suite with -xmlout fails:
&lt;br&gt;&lt;br&gt;$ java Harness -vm /usr/bin/java -xmlout xmloutputfile
&lt;br&gt;No tests were run. &amp;nbsp;Possible reasons may be listed below.
&lt;br&gt;Did you specify a test that doesn't exist or a folder that contains no 
&lt;br&gt;tests?
&lt;br&gt;&lt;br&gt;The bug seems to be that mauve ignores the -xmlout option and then 
&lt;br&gt;treats xmloutputfile as the name of the test to run. The patch adds a 
&lt;br&gt;case in Harness.setupHarness() so that the argument after -xmlout is 
&lt;br&gt;skipped (it is later checked in RunnerProcess).
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Omair
&lt;br&gt;&lt;br /&gt;--- Harness.java.orig	2009-02-12 11:30:11.000000000 -0500
&lt;br&gt;+++ Harness.java	2009-02-12 11:34:23.000000000 -0500
&lt;br&gt;@@ -338,6 +338,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;after '-timeout'. &amp;nbsp;Exit&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;runner_timeout = Long.parseLong(args[i]);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (args[i].equals(&amp;quot;-xmlout&amp;quot;))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Option handled by RunnerProcess
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Next arg is filename; RunnerProcess checks the args
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// again
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;++i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (args[i].charAt(0) == '-')
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// One of the ignored options (handled by RunnerProcess)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Fix-xmlout-option-tp21980038p21980038.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-21675724</id>
	<title>FYI: Add test for new String constructor</title>
	<published>2009-01-26T14:45:53Z</published>
	<updated>2009-01-26T14:45:53Z</updated>
	<author>
		<name>gnu_andrew</name>
	</author>
	<content type="html">This adds a test to ensure the String constructor
&lt;br&gt;(byte[], java.nio.charset.Charset) works as specified.
&lt;br&gt;Test passes on JamVM with Classpath CVS and IcedTea6.
&lt;br&gt;&lt;br&gt;ChangeLog:
&lt;br&gt;&lt;br&gt;2009-01-26 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=21675724&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ahughes@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/lang/String/ConsCharset.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; New test for constructor which takes a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; java.nio.charset.Charset as an argument.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew :)
&lt;br&gt;&lt;br&gt;Support Free Java!
&lt;br&gt;Contribute to GNU Classpath and the OpenJDK
&lt;br&gt;&lt;a href=&quot;http://www.gnu.org/software/classpath&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/classpath&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openjdk.java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjdk.java.net&lt;/a&gt;&lt;br&gt;PGP Key: 94EFD9D8 (&lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net&lt;/a&gt;)
&lt;br&gt;Fingerprint = F8EF F1EA 401E 2E60 15FA &amp;nbsp;7927 142C 2591 94EF D9D8
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/lang/String/ConsCharset.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/lang/String/ConsCharset.java
&lt;br&gt;diff -N gnu/testlet/java/lang/String/ConsCharset.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/lang/String/ConsCharset.java	26 Jan 2009 22:34:45 -0000
&lt;br&gt;@@ -0,0 +1,72 @@
&lt;br&gt;+// Tags: JDK1.6
&lt;br&gt;+
&lt;br&gt;+// Copyright (C) 2009 Red Hat, Inc.
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA. &amp;nbsp;*/
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.lang.String;
&lt;br&gt;+
&lt;br&gt;+import gnu.testlet.Testlet;
&lt;br&gt;+import gnu.testlet.TestHarness;
&lt;br&gt;+
&lt;br&gt;+import java.nio.charset.Charset;
&lt;br&gt;+import java.nio.charset.UnsupportedCharsetException;
&lt;br&gt;+
&lt;br&gt;+public class ConsCharset
&lt;br&gt;+ &amp;nbsp;implements Testlet
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public void test (TestHarness h)
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	byte[] cp437Bytes = asByteArray(new int[] { 224, 226, 227, 228, 156 });
&lt;br&gt;+	checkString(h, new String(cp437Bytes, Charset.forName(&amp;quot;CP437&amp;quot;)),
&lt;br&gt;+				 &amp;nbsp;&amp;quot;\u03b1\u0393\u03c0\u03a3\u00a3&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (UnsupportedCharsetException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	// Skip tests as CP437 is not required by the spec.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;byte[] utf8Bytes = asByteArray(new int[] { 0xC3,0x9F,0xE2,0x85,0x93,0xE2,0x82,0xAF,0xF0,0x90,0x85,0x80 });
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkString(h, new String(utf8Bytes, Charset.forName(&amp;quot;UTF8&amp;quot;)),
&lt;br&gt;+		&amp;quot;\u00DF\u2153\u20AF\uD800\uDD40&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;byte[] isoBytes = asByteArray(new int[] {0x48,0x65,0x6C,0x6C,0x6F,0x20,0x57,0x6F,0x72,0x6C,0x64,0x21});
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkString(h, new String(isoBytes, Charset.forName(&amp;quot;ISO-8859-1&amp;quot;)),
&lt;br&gt;+		&amp;quot;Hello World!&amp;quot;);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;private void checkString(TestHarness h, String result, String expected)
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (int a = 0; a &amp;lt; result.length(); ++a)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	h.check(result.charAt(a), expected.charAt(a));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;h.check(result, expected);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;private byte[] asByteArray(int[] ints)
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;byte[] bytes = new byte[ints.length];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (int a = 0; a &amp;lt; ints.length; ++a)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;bytes[a] = Integer.valueOf(ints[a]).byteValue();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return bytes;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+}
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Add-test-for-new-String-constructor-tp21675724p21675724.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-21251056</id>
	<title>FYI: ChoiceFormat fixes</title>
	<published>2009-01-02T04:52:55Z</published>
	<updated>2009-01-02T04:52:55Z</updated>
	<author>
		<name>gnu_andrew</name>
	</author>
	<content type="html">This fixes a bug in the format14 test where the ChoiceFormat used
&lt;br&gt;for the test is invalid. &amp;nbsp;A further test is added to ensure such
&lt;br&gt;invalid formats are correctly handled. &amp;nbsp;Sun's JDK currently fails to
&lt;br&gt;catch some invalid formats and thus was wrongly passing the format14
&lt;br&gt;test.
&lt;br&gt;&lt;br&gt;ChangeLog:
&lt;br&gt;&lt;br&gt;2009-01-02 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=21251056&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/text/ChoiceFormat/Bad.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; New test for bad ChoiceFormats.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/text/MessageFormat/format14.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Correct ChoiceFormat used.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew :)
&lt;br&gt;&lt;br&gt;Support Free Java!
&lt;br&gt;Contribute to GNU Classpath and the OpenJDK
&lt;br&gt;&lt;a href=&quot;http://www.gnu.org/software/classpath&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/classpath&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openjdk.java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjdk.java.net&lt;/a&gt;&lt;br&gt;PGP Key: 94EFD9D8 (&lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net&lt;/a&gt;)
&lt;br&gt;Fingerprint = F8EF F1EA 401E 2E60 15FA &amp;nbsp;7927 142C 2591 94EF D9D8
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/text/ChoiceFormat/Bad.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/text/ChoiceFormat/Bad.java
&lt;br&gt;diff -N gnu/testlet/java/text/ChoiceFormat/Bad.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/text/ChoiceFormat/Bad.java	2 Jan 2009 12:47:32 -0000
&lt;br&gt;@@ -0,0 +1,75 @@
&lt;br&gt;+// Test handling of bad ChoiceFormats.
&lt;br&gt;+
&lt;br&gt;+// Copyright (c) 2009 Red Hat
&lt;br&gt;+// Written by Andrew John Hughes (&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=21251056&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ahughes@...&lt;/a&gt;)
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.1
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.text.ChoiceFormat;
&lt;br&gt;+
&lt;br&gt;+import gnu.testlet.Testlet;
&lt;br&gt;+import gnu.testlet.TestHarness;
&lt;br&gt;+
&lt;br&gt;+import java.text.ChoiceFormat;
&lt;br&gt;+
&lt;br&gt;+public class Bad
&lt;br&gt;+ &amp;nbsp;implements Testlet
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public void test (TestHarness h)
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	ChoiceFormat f = new ChoiceFormat(&amp;quot;0#zero|1#one|1&amp;gt;many&amp;quot;);
&lt;br&gt;+	h.fail(&amp;quot;Failed to catch bad limit 1&amp;gt;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IllegalArgumentException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	h.check(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	ChoiceFormat f = new ChoiceFormat(&amp;quot;0#zero|1#one|1&amp;gt;many|&amp;quot;);
&lt;br&gt;+	h.fail(&amp;quot;Failed to catch bad limit 1&amp;gt; with trailing |&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IllegalArgumentException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	h.check(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	ChoiceFormat f = new ChoiceFormat(&amp;quot;0#zero|1#one|1&amp;lt;many|&amp;quot;);
&lt;br&gt;+	h.fail(&amp;quot;Failed to catch trailing |&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IllegalArgumentException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	h.check(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	ChoiceFormat f = new ChoiceFormat(&amp;quot;0#zero|1#one|1&amp;gt;many|1&amp;lt;many&amp;quot;);
&lt;br&gt;+	h.fail(&amp;quot;Failed to catch enclosed bad limit&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IllegalArgumentException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	h.check(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;Index: gnu/testlet/java/text/MessageFormat/format14.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/gnu/testlet/java/text/MessageFormat/format14.java,v
&lt;br&gt;retrieving revision 1.2
&lt;br&gt;diff -u -u -r1.2 format14.java
&lt;br&gt;--- gnu/testlet/java/text/MessageFormat/format14.java	18 Jan 2005 00:50:08 -0000	1.2
&lt;br&gt;+++ gnu/testlet/java/text/MessageFormat/format14.java	2 Jan 2009 12:47:33 -0000
&lt;br&gt;@@ -160,8 +160,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;s = MessageFormat.format(&amp;quot;{0,choice,0#zero|1#one|1&amp;gt;many}&amp;quot;, new Object[]{new Double(2.0)});
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;expected = new ChoiceFormat(&amp;quot;0#zero|1#one|1&amp;gt;many&amp;quot;).format(new Double(2.0));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s = MessageFormat.format(&amp;quot;{0,choice,0#zero|1#one|1&amp;lt;many}&amp;quot;, new Object[]{new Double(2.0)});
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;expected = new ChoiceFormat(&amp;quot;0#zero|1#one|1&amp;lt;many&amp;quot;).format(new Double(2.0));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;harness.check(s, expected);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-ChoiceFormat-fixes-tp21251056p21251056.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-21229667</id>
	<title>FYI: Fix Calendar.ampm test to use localised strings</title>
	<published>2008-12-31T02:40:05Z</published>
	<updated>2008-12-31T02:40:05Z</updated>
	<author>
		<name>gnu_andrew</name>
	</author>
	<content type="html">This fixes the Calendar.ampm test so it passes on both
&lt;br&gt;GNU Classpath and OpenJDK. &amp;nbsp;The AM/PM strings are localised
&lt;br&gt;and so should be retrieved from the locale data.
&lt;br&gt;&lt;br&gt;ChangeLog:
&lt;br&gt;&lt;br&gt;2008-12-31 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=21229667&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Calendar/ampm.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Use the localised am/pm strings from DateFormatSymbols
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rather than hardcoding.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew :)
&lt;br&gt;&lt;br&gt;Support Free Java!
&lt;br&gt;Contribute to GNU Classpath and the OpenJDK
&lt;br&gt;&lt;a href=&quot;http://www.gnu.org/software/classpath&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/classpath&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openjdk.java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjdk.java.net&lt;/a&gt;&lt;br&gt;PGP Key: 94EFD9D8 (&lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net&lt;/a&gt;)
&lt;br&gt;Fingerprint = F8EF F1EA 401E 2E60 15FA &amp;nbsp;7927 142C 2591 94EF D9D8
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/util/Calendar/ampm.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/gnu/testlet/java/util/Calendar/ampm.java,v
&lt;br&gt;retrieving revision 1.2
&lt;br&gt;diff -u -u -r1.2 ampm.java
&lt;br&gt;--- gnu/testlet/java/util/Calendar/ampm.java	21 Mar 2005 08:26:05 -0000	1.2
&lt;br&gt;+++ gnu/testlet/java/util/Calendar/ampm.java	31 Dec 2008 10:36:26 -0000
&lt;br&gt;@@ -13,13 +13,14 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class ampm implements Testlet
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp;private DateFormat format;
&lt;br&gt;+ &amp;nbsp;private SimpleDateFormat format;
&lt;br&gt;&amp;nbsp; &amp;nbsp;private TestHarness harness;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;public void test (TestHarness harness)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// AM/PM mark is locale-dependent. &amp;nbsp;We use Locale.US.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;format = new SimpleDateFormat(&amp;quot;hh:mm a&amp;quot;, Locale.US);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String[] ampm = format.getDateFormatSymbols().getAmPmStrings();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;this.harness = harness;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// According to the API document of java.util.Calendar,
&lt;br&gt;@@ -31,19 +32,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Whereas the 'h' flag is 1-12 time
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// I.e. 12 AM (midnight), 1 AM, .. , 12 PM (midday), 1 PM, .. 11 PM
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:00 AM&amp;quot;, &amp;quot;12:00 AM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:10 AM&amp;quot;, &amp;quot;12:10 AM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(0, 0, Calendar.AM, &amp;quot;12:00 AM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:00 AM&amp;quot;, &amp;quot;12:00 AM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(0, 10, Calendar.AM, &amp;quot;12:10 AM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:10 AM&amp;quot;, &amp;quot;12:10 AM&amp;quot;);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:00 PM&amp;quot;, &amp;quot;12:00 PM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:10 PM&amp;quot;, &amp;quot;12:10 PM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(0, 0, Calendar.PM, &amp;quot;12:00 PM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:00 PM&amp;quot;, &amp;quot;12:00 PM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(0, 10, Calendar.PM, &amp;quot;12:10 PM&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:10 PM&amp;quot;, &amp;quot;12:10 PM&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:00 &amp;quot; + ampm[0], &amp;quot;12:00 &amp;quot; + ampm[0]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:10 &amp;quot; + ampm[0], &amp;quot;12:10 &amp;quot; + ampm[0]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(0, 0, Calendar.AM, &amp;quot;12:00 &amp;quot; + ampm[0]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:00 &amp;quot; + ampm[0], &amp;quot;12:00 &amp;quot; + ampm[0]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(0, 10, Calendar.AM, &amp;quot;12:10 &amp;quot; + ampm[0]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:10 &amp;quot; + ampm[0], &amp;quot;12:10 &amp;quot; + ampm[0]);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:00 &amp;quot; + ampm[1], &amp;quot;12:00 &amp;quot; + ampm[1]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;12:10 &amp;quot; + ampm[1], &amp;quot;12:10 &amp;quot; + ampm[1]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(0, 0, Calendar.PM, &amp;quot;12:00 &amp;quot; + ampm[1]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:00 &amp;quot; + ampm[1], &amp;quot;12:00 &amp;quot; + ampm[1]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(0, 10, Calendar.PM, &amp;quot;12:10 &amp;quot; + ampm[1]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;checkTime(&amp;quot;0:10 &amp;quot; + ampm[1], &amp;quot;12:10 &amp;quot; + ampm[1]);
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;private void checkTime(int hh, int mm, int ampm, String expect)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Fix-Calendar.ampm-test-to-use-localised-strings-tp21229667p21229667.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-20479216</id>
	<title>Re: version of java for the sources ?</title>
	<published>2008-11-13T03:43:43Z</published>
	<updated>2008-11-13T03:43:43Z</updated>
	<author>
		<name>Christian Thalinger</name>
	</author>
	<content type="html">On Thu, 2008-11-13 at 06:56 +0100, Fabien DUMINY wrote:
&lt;br&gt;&amp;gt; - an XML report reader/writer
&lt;br&gt;&amp;gt; - a comparator of 2 XML reports (to show regressions/progressions in 
&lt;br&gt;&amp;gt; both html or plain text)
&lt;br&gt;&lt;br&gt;That is very appreciated! &amp;nbsp;Looking forward to it...
&lt;br&gt;&lt;br&gt;- Christian
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mauve-discuss-f12238.html&quot; embed=&quot;fixTarget[12238]&quot; target=&quot;_top&quot; &gt;Sourceware - mauve-discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/version-of-java-for-the-sources---tp20475190p20479216.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-20478901</id>
	<title>Re: version of java for the sources ?</title>
	<published>2008-11-13T03:19:54Z</published>
	<updated>2008-11-13T03:19:54Z</updated>
	<author>
		<name>Mark Wielaard</name>
	</author>
	<content type="html">Hi Fabien,
&lt;br&gt;&lt;br&gt;On Thu, 2008-11-13 at 06:56 +0100, Fabien DUMINY wrote:
&lt;br&gt;&amp;gt; Can I use Java 5 features in mauve sources (the core part, not the 
&lt;br&gt;&amp;gt; testlet part) ?
&lt;br&gt;&lt;br&gt;We do normally try to not be too fancy in mauve, just because there are
&lt;br&gt;still some older vms and compilers out there. So if you can avoid using
&lt;br&gt;these newer language constructs that would be appreciated.
&lt;br&gt;&lt;br&gt;&amp;gt; Here are the changes I am currently finalizing :
&lt;br&gt;&amp;gt; - an XML report reader/writer
&lt;br&gt;&amp;gt; - a comparator of 2 XML reports (to show regressions/progressions in 
&lt;br&gt;&amp;gt; both html or plain text)
&lt;br&gt;&amp;gt; - some non-JNode-specific minor changes that were needed to make mauve 
&lt;br&gt;&amp;gt; usable in JNode
&lt;br&gt;&amp;gt; - removing gnu.testlet.runner.XMLGenerator : that class is empty and I 
&lt;br&gt;&amp;gt; am not modifying/using it
&lt;br&gt;&lt;br&gt;Very nice!
&lt;br&gt;&lt;br&gt;If it is hard to avoid the jdk5 langauge features and you can contain
&lt;br&gt;them to just the XML generation part then we could probably just make
&lt;br&gt;them optional in case someone needs a &amp;quot;plain old mauve without bells&amp;quot;.
&lt;br&gt;&lt;br&gt;&amp;gt; - add nanoxml lite (licence zlib/libpng) by copying the 2 files 
&lt;br&gt;&amp;gt; (XMLElement, XMLParseException) from icedtea
&lt;br&gt;&lt;br&gt;That should be fine. But please do make sure to prominently document
&lt;br&gt;where they came from and how to update them to upstream versions in the
&lt;br&gt;future if necessary.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mauve-discuss-f12238.html&quot; embed=&quot;fixTarget[12238]&quot; target=&quot;_top&quot; &gt;Sourceware - mauve-discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/version-of-java-for-the-sources---tp20475190p20478901.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-20475190</id>
	<title>version of java for the sources ?</title>
	<published>2008-11-12T21:56:04Z</published>
	<updated>2008-11-12T21:56:04Z</updated>
	<author>
		<name>fabien.duminy</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Can I use Java 5 features in mauve sources (the core part, not the 
&lt;br&gt;testlet part) ?
&lt;br&gt;&lt;br&gt;Here are the changes I am currently finalizing :
&lt;br&gt;- an XML report reader/writer
&lt;br&gt;- a comparator of 2 XML reports (to show regressions/progressions in 
&lt;br&gt;both html or plain text)
&lt;br&gt;- some non-JNode-specific minor changes that were needed to make mauve 
&lt;br&gt;usable in JNode
&lt;br&gt;- removing gnu.testlet.runner.XMLGenerator : that class is empty and I 
&lt;br&gt;am not modifying/using it
&lt;br&gt;- add nanoxml lite (licence zlib/libpng) by copying the 2 files 
&lt;br&gt;(XMLElement, XMLParseException) from icedtea
&lt;br&gt;&lt;br&gt;Fabien (FabienD on irc)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mauve-discuss-f12238.html&quot; embed=&quot;fixTarget[12238]&quot; target=&quot;_top&quot; &gt;Sourceware - mauve-discuss&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/version-of-java-for-the-sources---tp20475190p20475190.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19261907</id>
	<title>FYI: Fix BigDecimalInteger test and make exceptions cause failure</title>
	<published>2008-09-01T16:02:35Z</published>
	<updated>2008-09-01T16:02:35Z</updated>
	<author>
		<name>gnu_andrew</name>
	</author>
	<content type="html">This patch amends another of the Scanner tests so it correctly
&lt;br&gt;uses harness.check (so we actually pass some tests). &amp;nbsp;It also
&lt;br&gt;makes exceptions cause failure as they were being swallowed
&lt;br&gt;by the Base class.
&lt;br&gt;&lt;br&gt;2008-09-01 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19261907&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Base.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (test(TestHarness)): Fail if an exception is thrown.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/BigDecimalInteger.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Use harness.check.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew :)
&lt;br&gt;&lt;br&gt;Support Free Java!
&lt;br&gt;Contribute to GNU Classpath and the OpenJDK
&lt;br&gt;&lt;a href=&quot;http://www.gnu.org/software/classpath&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/classpath&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openjdk.java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjdk.java.net&lt;/a&gt;&lt;br&gt;PGP Key: 94EFD9D8 (&lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net&lt;/a&gt;)
&lt;br&gt;Fingerprint = F8EF F1EA 401E 2E60 15FA &amp;nbsp;7927 142C 2591 94EF D9D8
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/util/Scanner/Base.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/gnu/testlet/java/util/Scanner/Base.java,v
&lt;br&gt;retrieving revision 1.1
&lt;br&gt;diff -u -u -r1.1 Base.java
&lt;br&gt;--- gnu/testlet/java/util/Scanner/Base.java	1 Sep 2008 22:22:39 -0000	1.1
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/Base.java	1 Sep 2008 22:56:10 -0000
&lt;br&gt;@@ -69,6 +69,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Throwable e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;myHarness.fail(e.toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/BigDecimalInteger.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/gnu/testlet/java/util/Scanner/BigDecimalInteger.java,v
&lt;br&gt;retrieving revision 1.1
&lt;br&gt;diff -u -u -r1.1 BigDecimalInteger.java
&lt;br&gt;--- gnu/testlet/java/util/Scanner/BigDecimalInteger.java	1 Sep 2008 22:22:39 -0000	1.1
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/BigDecimalInteger.java	1 Sep 2008 22:56:11 -0000
&lt;br&gt;@@ -69,72 +69,33 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp;	decimals[i] = new BigDecimal (rand.nextDouble () - 0.5);
&lt;br&gt;&amp;nbsp;	integers[i] = BigInteger.valueOf (rand.nextInt ());
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (i % 100 == 0)
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(i);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sBuff.append (decimals[0] + &amp;quot; &amp;quot; + integers[0]);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; decimals.length; i++)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp;	sBuff.append (&amp;quot; &amp;quot; + decimals[i] + &amp;quot; &amp;quot; + integers[i]);
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (i % 100 == 0)
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(i);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;inStr = sBuff.toString ();
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (inStr);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (inStr);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;//s.setUseLocale (false);
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(inStr);
&lt;br&gt;-
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;len : &amp;quot; + inStr.length());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNext () &amp;&amp; runsLeft &amp;gt; 0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;-	fund = false;
&lt;br&gt;&amp;nbsp;	failed = false;
&lt;br&gt;-	if (s.hasNextBigDecimal ())
&lt;br&gt;-	 &amp;nbsp;{
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;tmpDec = s.nextBigDecimal ();
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;if (!tmpDec.equals (decimals[i]))
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;-		failed = true;
&lt;br&gt;-		this.myHarness.fail (&amp;quot;#&amp;quot; + i +
&lt;br&gt;-				 &amp;nbsp; &amp;nbsp; &amp;quot; : bad result by nextBigDeciaml() : (&amp;quot; +
&lt;br&gt;-				 &amp;nbsp; &amp;nbsp; tmpDec + &amp;quot; != &amp;quot; + decimals[i] +
&lt;br&gt;-				 &amp;nbsp; &amp;nbsp; &amp;quot;) possibly needed : \&amp;quot;&amp;quot; + s.next () +
&lt;br&gt;-				 &amp;nbsp; &amp;nbsp; &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;fund = true;
&lt;br&gt;-	 &amp;nbsp;}
&lt;br&gt;-	else
&lt;br&gt;-	 &amp;nbsp;{
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;no BigDecimal found...&amp;quot;);
&lt;br&gt;-	 &amp;nbsp;}
&lt;br&gt;-	if (s.hasNextBigInteger ())
&lt;br&gt;-	 &amp;nbsp;{
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;tmpInt = s.nextBigInteger ();
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;if (!tmpInt.equals (integers[i]))
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;-		failed = true;
&lt;br&gt;-		this.myHarness.fail (&amp;quot;#&amp;quot; + i +
&lt;br&gt;-				 &amp;nbsp; &amp;nbsp; &amp;quot; : bad result by nextBigInteger() : &amp;quot; +
&lt;br&gt;-				 &amp;nbsp; &amp;nbsp; tmpInt + &amp;quot; != &amp;quot; + integers[i]);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;fund = true;
&lt;br&gt;-	 &amp;nbsp;}
&lt;br&gt;-	else
&lt;br&gt;-	 &amp;nbsp;{
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;no BigInteger found...&amp;quot;);
&lt;br&gt;-	 &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (i % 100 == 0)
&lt;br&gt;-// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(i);
&lt;br&gt;+	fund = s.hasNextBigDecimal();
&lt;br&gt;+	myHarness.check(fund, &amp;quot;hasNextBigDecimal()&amp;quot;);
&lt;br&gt;+	tmpDec = s.nextBigDecimal ();
&lt;br&gt;+	myHarness.check(tmpDec, decimals[i], tmpDec + &amp;quot; == &amp;quot; + decimals[i]);
&lt;br&gt;+	fund = s.hasNextBigInteger();
&lt;br&gt;+	myHarness.check(fund, &amp;quot;hasNextBigInteger()&amp;quot;);
&lt;br&gt;+	tmpInt = s.nextBigInteger ();
&lt;br&gt;+	myHarness.check(tmpInt, integers[i], tmpInt + &amp;quot; == &amp;quot; + integers[i]);
&lt;br&gt;&amp;nbsp;	if (!fund)
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;{
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;\&amp;quot;&amp;quot; + s.next () +
&lt;br&gt;-				 &amp;quot;\&amp;quot; is neighter BigDecimal nor BigInteger&amp;quot;);
&lt;br&gt;+				 &amp;quot;\&amp;quot; is neither BigDecimal nor BigInteger&amp;quot;);
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;}
&lt;br&gt;&amp;nbsp;	i++;
&lt;br&gt;&amp;nbsp;	if (failed)
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Fix-BigDecimalInteger-test-and-make-exceptions-cause-failure-tp19261907p19261907.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19261544</id>
	<title>FYI: Tests for java.util.Scanner</title>
	<published>2008-09-01T15:21:50Z</published>
	<updated>2008-09-01T15:21:50Z</updated>
	<author>
		<name>gnu_andrew</name>
	</author>
	<content type="html">This patch adds the tests submitted by Laszlo with his
&lt;br&gt;Scanner implementation to Mauve. &amp;nbsp;All now pass with IcedTea6.
&lt;br&gt;&lt;br&gt;ChangeLog:
&lt;br&gt;&lt;br&gt;2008-09-01 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19261544&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Base.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/BigDecimalInteger.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Booleans.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/DoubleFloat.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FileInput.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FindPattern.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FindWithinHorizon.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FishString.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Inputs.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfInts.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfPMInts.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfPMLong.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfPMShort.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/MultiLine.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Added headers, replaced MyScanner with Scanner,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fixed location of temporary files, general formatting
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; and naming cleanup.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Radix.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/SkipPattern.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Likewise, and converted to use harness.check instead
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of harness.fail.
&lt;br&gt;&lt;br&gt;2007-07-25 &amp;nbsp;Laszlo Andras Hernadi &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19261544&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;e0327023@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Base.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/BigDecimalInteger.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Booleans.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/DoubleFloat.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FileInput.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FindPattern.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FindWithinHorizon.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/FishString.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Inputs.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfInts.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfPMInts.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfPMLong.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/LotsOfPMShort.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/MultiLine.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/Radix.java,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/util/Scanner/SkipPattern.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; New tests for java.util.Scanner.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew :)
&lt;br&gt;&lt;br&gt;Support Free Java!
&lt;br&gt;Contribute to GNU Classpath and the OpenJDK
&lt;br&gt;&lt;a href=&quot;http://www.gnu.org/software/classpath&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/classpath&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openjdk.java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjdk.java.net&lt;/a&gt;&lt;br&gt;PGP Key: 94EFD9D8 (&lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net&lt;/a&gt;)
&lt;br&gt;Fingerprint = F8EF F1EA 401E 2E60 15FA &amp;nbsp;7927 142C 2591 94EF D9D8
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/util/Scanner/Base.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/Base.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/Base.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/Base.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,81 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: not-a-test
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import gnu.testlet.TestHarness;
&lt;br&gt;+import gnu.testlet.Testlet;
&lt;br&gt;+
&lt;br&gt;+import java.io.File;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo @ 14.02.2007 - 12:13:06
&lt;br&gt;+ */
&lt;br&gt;+public abstract class Base implements Testlet
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;protected TestHarness myHarness = null;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;protected final boolean doCleanUP = false;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;protected String fileName = null;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;protected File aktFile;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;protected boolean isEnabled = true;
&lt;br&gt;+ &amp;nbsp;protected boolean forceAll = true;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;public void test (final TestHarness harness)
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (!isEnabled &amp;&amp; !forceAll)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	System.out.println (&amp;quot;\t\tTest Disabled...&amp;quot;);
&lt;br&gt;+	return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness = harness;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (this.fileName != null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	this.aktFile = new File (myHarness.getTempDirectory() +
&lt;br&gt;+				 myHarness.getSeparator() +
&lt;br&gt;+				 this.fileName);
&lt;br&gt;+	myHarness.debug(&amp;quot;Using file: &amp;quot; + aktFile.toString());
&lt;br&gt;+	if (this.doCleanUP)
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.aktFile.deleteOnExit ();
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;doTest ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (Throwable e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;protected void setDefaultFilename ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.fileName = this.getClass ().getName () + &amp;quot;.txt&amp;quot;;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;protected abstract void doTest ();
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/BigDecimalInteger.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/BigDecimalInteger.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/BigDecimalInteger.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/BigDecimalInteger.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,150 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.math.BigDecimal;
&lt;br&gt;+import java.math.BigInteger;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 15.02.2007 - 13:37:48
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class BigDecimalInteger extends Base
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * The amount of BigDecimals and BigIntegers to generate and test
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;private final static int AMOUNT = 5000;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;public BigDecimalInteger ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.isEnabled = false;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;BigDecimal[]decimals = new BigDecimal[AMOUNT];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;BigInteger[]integers = new BigInteger[decimals.length];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long runID = System.currentTimeMillis ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random rand = new Random (runID);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;StringBuilder sBuff = new StringBuilder (1000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String inStr;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;BigDecimal tmpDec;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;BigInteger tmpInt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;boolean fund;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;boolean failed;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int runsLeft = 10;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; decimals.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	decimals[i] = new BigDecimal (rand.nextDouble () - 0.5);
&lt;br&gt;+	integers[i] = BigInteger.valueOf (rand.nextInt ());
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (i % 100 == 0)
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(i);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;sBuff.append (decimals[0] + &amp;quot; &amp;quot; + integers[0]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; decimals.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	sBuff.append (&amp;quot; &amp;quot; + decimals[i] + &amp;quot; &amp;quot; + integers[i]);
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (i % 100 == 0)
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(i);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;inStr = sBuff.toString ();
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (inStr);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (inStr);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;//s.setUseLocale (false);
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(inStr);
&lt;br&gt;+
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;len : &amp;quot; + inStr.length());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;while (s.hasNext () &amp;&amp; runsLeft &amp;gt; 0)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	fund = false;
&lt;br&gt;+	failed = false;
&lt;br&gt;+	if (s.hasNextBigDecimal ())
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;tmpDec = s.nextBigDecimal ();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;if (!tmpDec.equals (decimals[i]))
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+		failed = true;
&lt;br&gt;+		this.myHarness.fail (&amp;quot;#&amp;quot; + i +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; &amp;quot; : bad result by nextBigDeciaml() : (&amp;quot; +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; tmpDec + &amp;quot; != &amp;quot; + decimals[i] +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; &amp;quot;) possibly needed : \&amp;quot;&amp;quot; + s.next () +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;fund = true;
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	else
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;no BigDecimal found...&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	if (s.hasNextBigInteger ())
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;tmpInt = s.nextBigInteger ();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;if (!tmpInt.equals (integers[i]))
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+		failed = true;
&lt;br&gt;+		this.myHarness.fail (&amp;quot;#&amp;quot; + i +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; &amp;quot; : bad result by nextBigInteger() : &amp;quot; +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; tmpInt + &amp;quot; != &amp;quot; + integers[i]);
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;fund = true;
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	else
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;no BigInteger found...&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (i % 100 == 0)
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(i);
&lt;br&gt;+	if (!fund)
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;\&amp;quot;&amp;quot; + s.next () +
&lt;br&gt;+				 &amp;quot;\&amp;quot; is neighter BigDecimal nor BigInteger&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	i++;
&lt;br&gt;+	if (failed)
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;runsLeft--;
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (i, decimals.length,
&lt;br&gt;+			 &amp;nbsp;&amp;quot;not all read (&amp;quot; + i + &amp;quot; / &amp;quot; + decimals.length +
&lt;br&gt;+			 &amp;nbsp;&amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/Booleans.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/Booleans.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/Booleans.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/Booleans.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,83 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 15.02.2007 - 13:10:31
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class Booleans extends Base
&lt;br&gt;+{
&lt;br&gt;+	/**
&lt;br&gt;+	 * The amount of booleans to generate and test.
&lt;br&gt;+	 */
&lt;br&gt;+ &amp;nbsp;private final static int AMOUNT = 100;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;boolean[]values = new boolean[AMOUNT];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;boolean hasNext;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;boolean aktValue;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String inStr;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random rand = new Random (System.currentTimeMillis ());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; values.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	values[i] = rand.nextBoolean ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;inStr = &amp;quot;&amp;quot; + values[0];
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; values.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	inStr += &amp;quot; &amp;quot; + values[i];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (inStr);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;hasNext = s.hasNextBoolean ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;while (hasNext)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	aktValue = s.nextBoolean ();
&lt;br&gt;+	this.myHarness.check (aktValue, values[i],
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;nextBoolean() is wrong : &amp;quot; + aktValue +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot; != &amp;quot; + values[i]);
&lt;br&gt;+	i++;
&lt;br&gt;+	hasNext = s.hasNextBoolean ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (i, values.length,
&lt;br&gt;+			 &amp;nbsp;&amp;quot;not all values (&amp;quot; + i + &amp;quot; / &amp;quot; + values.length +
&lt;br&gt;+			 &amp;nbsp;&amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/DoubleFloat.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/DoubleFloat.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/DoubleFloat.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/DoubleFloat.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,117 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 15.02.2007 - 21:06:41
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class DoubleFloat extends Base
&lt;br&gt;+{
&lt;br&gt;+	/**
&lt;br&gt;+	 * The amount of doubles and floats to generate and test.
&lt;br&gt;+	 */
&lt;br&gt;+ &amp;nbsp;private final static int AMOUNT = 10000;
&lt;br&gt;+
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;public DoubleFloat ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.isEnabled = false;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;double[] doubleZ = new double[AMOUNT];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;float[] floatZ = new float[doubleZ.length];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long runID = System.currentTimeMillis ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random rand = new Random (runID);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;StringBuffer tmpStr = new StringBuffer (1000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String inStr;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;double aktDouble;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;float aktFloat;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; doubleZ.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	doubleZ[i] = rand.nextDouble () - 0.5d;
&lt;br&gt;+	floatZ[i] = rand.nextFloat () - 0.5f;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmpStr.append (doubleZ[0] + &amp;quot; &amp;quot; + floatZ[0]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; doubleZ.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmpStr.append (&amp;quot; &amp;quot; + doubleZ[i] + &amp;quot; &amp;quot; + floatZ[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;inStr = tmpStr.toString ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (inStr);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;//s.setUseLocale (false);
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner(inStr);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;while (s.hasNext () &amp;&amp; i &amp;lt; doubleZ.length)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	if (s.hasNextDouble ())
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;aktDouble = s.nextDouble ();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.check (aktDouble, doubleZ[i],
&lt;br&gt;+				 &amp;nbsp;&amp;quot;#&amp;quot; + i + &amp;quot; : bad nextDouble() (&amp;quot; +
&lt;br&gt;+				 &amp;nbsp;aktDouble + &amp;quot; != &amp;quot; + doubleZ[i]);
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	else
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;#&amp;quot; + i + &amp;quot; : not double... (&amp;quot; + s.next () +
&lt;br&gt;+				 &amp;quot;)&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	if (s.hasNextFloat ())
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;aktFloat = s.nextFloat ();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.check (aktFloat, floatZ[i],
&lt;br&gt;+				 &amp;nbsp;&amp;quot;#&amp;quot; + i + &amp;quot; : bad nextFloat() (&amp;quot; +
&lt;br&gt;+				 &amp;nbsp;aktFloat + &amp;quot; != &amp;quot; + floatZ[i]);
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	else
&lt;br&gt;+	 &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;#&amp;quot; + i + &amp;quot; : not float... (&amp;quot; + s.next () +
&lt;br&gt;+				 &amp;quot;)&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;}
&lt;br&gt;+	i++;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (i != doubleZ.length)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	this.myHarness.fail (&amp;quot;not all (&amp;quot; + i + &amp;quot; / &amp;quot; + doubleZ.length);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/FileInput.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/FileInput.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/FileInput.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/FileInput.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,100 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.io.FileNotFoundException;
&lt;br&gt;+import java.io.FileOutputStream;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 14.02.2007 - 12:20:18
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class FileInput extends Base
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public FileInput ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;setDefaultFilename ();
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp; @Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.checkPoint (&amp;quot;File Input&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String[]testWords =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;quot;This&amp;quot;, &amp;quot;is&amp;quot;, &amp;quot;a&amp;quot;, &amp;quot;simple&amp;quot;, &amp;quot;Test&amp;quot;, &amp;quot;don't&amp;quot;, &amp;quot;panik&amp;quot;, &amp;quot;it's&amp;quot;, &amp;quot;just&amp;quot;,
&lt;br&gt;+	&amp;quot;a&amp;quot;, &amp;quot;Teset&amp;quot;};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;testWords[0] = testWords[0].trim ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String testString = testWords[0];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String tmpStr;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; testWords.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	testWords[i] = testWords[i].trim ();
&lt;br&gt;+	testString += &amp;quot; &amp;quot; + testWords[i].trim ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;FileOutputStream fos = new FileOutputStream (this.aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.write (testString.getBytes ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.flush ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.close ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNext ())
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;tmpStr = s.next ();
&lt;br&gt;+	 &amp;nbsp;this.myHarness.check (tmpStr, testWords[i],
&lt;br&gt;+				&amp;quot;next() -&amp;gt; \&amp;quot;&amp;quot; + tmpStr + &amp;quot;\&amp;quot; != \&amp;quot;&amp;quot; +
&lt;br&gt;+				testWords[i] + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;// System.out.println(&amp;quot;\&amp;quot;&amp;quot; + tmpStr + &amp;quot;\&amp;quot; ?= \&amp;quot;&amp;quot; + testWords[i] + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;i++;
&lt;br&gt;+	}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.check (i, testWords.length,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;&amp;quot;Incomplete read... (&amp;quot; + i + &amp;quot; / &amp;quot; +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;testWords.length + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s.close ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (FileNotFoundException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not create file&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IOException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not write to File \&amp;quot;&amp;quot; +
&lt;br&gt;+			 &amp;nbsp; this.aktFile.getName () + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/FindPattern.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/FindPattern.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/FindPattern.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/FindPattern.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,70 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 19.02.2007 - 03:16:19
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class FindPattern extends Base
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;private static final String FISH_STR = &amp;quot;1 fish 2 fish red fish blue fish &amp;quot;;	//$NON-NLS-1$
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s3 = new Scanner (FISH_STR);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String pattern1 = &amp;quot;\\d+&amp;quot;;	// &amp;quot;(\\d+) fish &amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String pattern2 = &amp;quot;\\w+&amp;quot;;	// &amp;quot;(\\w+) fish &amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String[] patterns =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{	null, pattern1, pattern1, pattern2, pattern2};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String[]values =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{ null, &amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;blue&amp;quot;};	// the null is required...
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String tmpStr;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;boolean rc;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;i = 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;s3.useDelimiter (&amp;quot; fish &amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;do
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	rc = s3.hasNext (patterns[i]);
&lt;br&gt;+	myHarness.check(rc, &amp;quot;Next item doesn't match &amp;quot; + patterns[i]);
&lt;br&gt;+	if (!rc) myHarness.fail(&amp;quot;Stopping early; encountered \&amp;quot;&amp;quot; + s3.next() + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+	tmpStr = s3.next (patterns[i]);
&lt;br&gt;+	myHarness.check(tmpStr, values[i], &amp;quot;wrong result : \&amp;quot;&amp;quot; + tmpStr + &amp;quot;\&amp;quot; != \&amp;quot;&amp;quot; +
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp; &amp;nbsp;values[i] + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+	i++;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;while (rc &amp;&amp; i &amp;lt; patterns.length);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/FindWithinHorizon.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/FindWithinHorizon.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/FindWithinHorizon.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/FindWithinHorizon.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,59 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 24.02.2007 - 20:10:24
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class FindWithinHorizon extends Base
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String fishString = &amp;quot;1 fish 2 fish red fish blue fish&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (fishString);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String tmpStr = &amp;quot;&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; fishString.length (); i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	// from : &lt;a href=&quot;http://www.cs.princeton.edu/introcs/15inout/In.java.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/introcs/15inout/In.java.html&lt;/a&gt;&lt;br&gt;+	// (?s) for DOTALL mode so . matches any character, including a line termination character
&lt;br&gt;+	// 1 says look only one character ahead
&lt;br&gt;+	// consider precompiling the pattern
&lt;br&gt;+	tmpStr += s.findWithinHorizon (&amp;quot;(?s).&amp;quot;, 1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check (tmpStr.equals(fishString), &amp;quot;\&amp;quot;&amp;quot; + tmpStr + &amp;quot;\&amp;quot; == \&amp;quot;&amp;quot; + fishString + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (s.hasNext ())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;myHarness.fail (&amp;quot;should not has next...&amp;quot;);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/FishString.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/FishString.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/FishString.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/FishString.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,89 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import gnu.testlet.Testlet;
&lt;br&gt;+
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.util.regex.MatchResult;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo @ 12.02.2007 - 23:00:30
&lt;br&gt;+ */
&lt;br&gt;+public class FishString extends Base
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String input = &amp;quot;1 fish 2 fish red fish blue fish&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String delimiter = &amp;quot;\\s*fish\\s*&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String tmpStr;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;String[] values =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;null, &amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;blue&amp;quot;};	// the null is required...
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.checkPoint (&amp;quot;Fisch String [&amp;quot; + input + &amp;quot;]&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s1 = new Scanner (input);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;s1.useDelimiter (delimiter);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmpStr = s1.delimiter ().pattern ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (tmpStr, delimiter,
&lt;br&gt;+			 &amp;nbsp;&amp;quot;get / setDelimiter fail (\&amp;quot;&amp;quot; + tmpStr +
&lt;br&gt;+			 &amp;nbsp;&amp;quot;\&amp;quot; != \&amp;quot;&amp;quot; + delimiter);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNext (), true, &amp;quot;first hasNext()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNextInt (), true, &amp;quot;first hasNextInt()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.nextInt (), 1, &amp;quot;nextInt()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNextInt (), true, &amp;quot;hasNextInt()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNextBoolean (), false, &amp;quot;hasNextBoolean()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNextByte (), true, &amp;quot;hasNextByte()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.nextInt (), 2, &amp;quot;2. nextInt()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNext (), true, &amp;quot;3. hasNext()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNextBigInteger (), false,
&lt;br&gt;+			 &amp;nbsp;&amp;quot;hasNextBigInteger()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.next (), &amp;quot;red&amp;quot;, &amp;quot;3. next()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.next (), &amp;quot;blue&amp;quot;, &amp;quot;4. next()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.check (s1.hasNext (), false, &amp;quot;letztes hasNext()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;s1.close ();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;// Scanner s2 = new Scanner(input);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s2 = new Scanner (input);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;s2.findInLine (&amp;quot;(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;MatchResult mResult = s2.match ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt;= mResult.groupCount (); i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	this.myHarness.check (mResult.group (i), values[i],
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;wrong result : \&amp;quot;&amp;quot; + mResult.group (i) +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;\&amp;quot; != \&amp;quot;&amp;quot; + values[i] + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+	// System.out.println(mResult.group(i));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (i != values.length)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	this.myHarness.fail (&amp;quot;not all results... (&amp;quot; + i + &amp;quot; != &amp;quot; +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; (values.length) + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;s2.close ();
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/Inputs.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/Inputs.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/Inputs.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/Inputs.java	1 Sep 2008 22:16:11 -0000
&lt;br&gt;@@ -0,0 +1,227 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.io.ByteArrayInputStream;
&lt;br&gt;+import java.io.FileInputStream;
&lt;br&gt;+import java.io.FileNotFoundException;
&lt;br&gt;+import java.io.FileOutputStream;
&lt;br&gt;+import java.io.FileReader;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 26.02.2007 - 04:15:47
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class Inputs extends Base
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;/**
&lt;br&gt;+ &amp;nbsp; * The amount of long numbers to generate and test.
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;private final static int AMOUNT = 20000;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;public Inputs ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;fileName = getClass().getName () + &amp;quot;.txt&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.isEnabled = false;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long[] numbers = new long[AMOUNT];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random r = new Random (System.currentTimeMillis ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int errors;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;final long max = 20000000000000L, mean = max &amp;gt;&amp;gt; 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;StringBuffer tmpBuff = new StringBuffer (10000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;FileOutputStream fos = null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = null;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String[]charSets = {&amp;quot;windows-1252&amp;quot;};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String aktName;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int aktCS;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmp = ((long) (r.nextFloat () * max) - mean);
&lt;br&gt;+	numbers[i] = tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmpBuff.insert (0, &amp;quot;&amp;quot; + numbers[0]);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmpBuff.append (&amp;quot; &amp;quot; + numbers[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos = new FileOutputStream (this.aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.write (tmpBuff.toString ().getBytes ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.flush ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.close ();
&lt;br&gt;+
&lt;br&gt;+// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (aktFile);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;Testing Readable input...&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;errors = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s = new Scanner (new FileReader (this.aktFile));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNextLong ())
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;tmp = s.nextLong ();
&lt;br&gt;+	 &amp;nbsp;if (tmp != numbers[i])
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;errors++;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Readable : nextLong() -&amp;gt; &amp;quot; + tmp +
&lt;br&gt;+				 &amp;nbsp; &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp;i++;
&lt;br&gt;+	}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (errors == 0)
&lt;br&gt;+	myHarness.debug (&amp;quot;all OK&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+	this.myHarness.fail (errors + &amp;quot; errors..&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;Testing ReadableByteChanel input...&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;errors = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s = new Scanner ((new FileInputStream (this.aktFile)).getChannel ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNextLong ())
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;tmp = s.nextLong ();
&lt;br&gt;+	 &amp;nbsp;if (tmp != numbers[i])
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;errors++;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;ReadableByteChanel : nextLong() -&amp;gt; &amp;quot; +
&lt;br&gt;+				 &amp;nbsp; tmp + &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp;i++;
&lt;br&gt;+	}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (errors == 0)
&lt;br&gt;+	myHarness.debug (&amp;quot;all OK&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+	this.myHarness.fail (errors + &amp;quot; errors..&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;for (aktCS = 0; aktCS &amp;lt; charSets.length; aktCS++)
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;aktName = &amp;quot;Testing File + CharSet \&amp;quot;&amp;quot; + charSets[aktCS] + &amp;quot;\&amp;quot;&amp;quot;;
&lt;br&gt;+	 &amp;nbsp;myHarness.debug (aktName);
&lt;br&gt;+	 &amp;nbsp;errors = 0;
&lt;br&gt;+	 &amp;nbsp;s = new Scanner (this.aktFile, charSets[aktCS]);
&lt;br&gt;+	 &amp;nbsp;i = 0;
&lt;br&gt;+	 &amp;nbsp;while (s.hasNextLong ())
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp = s.nextLong ();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (tmp != numbers[i])
&lt;br&gt;+		{
&lt;br&gt;+		 &amp;nbsp;errors++;
&lt;br&gt;+		 &amp;nbsp;this.myHarness.fail (aktName + &amp;quot; : nextLong() -&amp;gt; &amp;quot; + tmp +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+		}
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;i++;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp;if (errors == 0)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;all OK&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;else
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (errors + &amp;quot; errors..&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+	 &amp;nbsp;aktName =
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;&amp;quot;Testing InputStream + CharSet \&amp;quot;&amp;quot; + charSets[aktCS] + &amp;quot;\&amp;quot;&amp;quot;;
&lt;br&gt;+	 &amp;nbsp;myHarness.debug (aktName);
&lt;br&gt;+	 &amp;nbsp;errors = 0;
&lt;br&gt;+	 &amp;nbsp;s =
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;new Scanner (new
&lt;br&gt;+			 &amp;nbsp; ByteArrayInputStream (tmpBuff.toString ().
&lt;br&gt;+						 getBytes ()),
&lt;br&gt;+			 &amp;nbsp; charSets[aktCS]);
&lt;br&gt;+	 &amp;nbsp;i = 0;
&lt;br&gt;+	 &amp;nbsp;while (s.hasNextLong ())
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp = s.nextLong ();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (tmp != numbers[i])
&lt;br&gt;+		{
&lt;br&gt;+		 &amp;nbsp;errors++;
&lt;br&gt;+		 &amp;nbsp;this.myHarness.fail (aktName + &amp;quot; : nextLong() -&amp;gt; &amp;quot; + tmp +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+		}
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;i++;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp;if (errors == 0)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;all OK&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;else
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (errors + &amp;quot; errors..&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+	 &amp;nbsp;aktName =
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;&amp;quot;Testing ReadableByteChanel + CharSet \&amp;quot;&amp;quot; + charSets[aktCS] +
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;&amp;quot;\&amp;quot;&amp;quot;;
&lt;br&gt;+	 &amp;nbsp;myHarness.debug (aktName);
&lt;br&gt;+	 &amp;nbsp;errors = 0;
&lt;br&gt;+	 &amp;nbsp;s =
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;new Scanner ((new FileInputStream (this.aktFile)).getChannel (),
&lt;br&gt;+			 &amp;nbsp; charSets[aktCS]);
&lt;br&gt;+	 &amp;nbsp;i = 0;
&lt;br&gt;+	 &amp;nbsp;while (s.hasNextLong ())
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp = s.nextLong ();
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;if (tmp != numbers[i])
&lt;br&gt;+		{
&lt;br&gt;+		 &amp;nbsp;errors++;
&lt;br&gt;+		 &amp;nbsp;this.myHarness.fail (aktName + &amp;quot; : nextLong() -&amp;gt; &amp;quot; + tmp +
&lt;br&gt;+				 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+		}
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp;i++;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+	 &amp;nbsp;if (errors == 0)
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;all OK&amp;quot;);
&lt;br&gt;+	 &amp;nbsp;else
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;this.myHarness.fail (errors + &amp;quot; errors..&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+	}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.check (i, numbers.length,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;&amp;quot;Incomplete read... (&amp;quot; + i + &amp;quot; / &amp;quot; +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;numbers.length + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s.close ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (FileNotFoundException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not create file&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IOException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not write to File \&amp;quot;&amp;quot; +
&lt;br&gt;+			 &amp;nbsp; this.aktFile.getName () + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/LotsOfInts.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/LotsOfInts.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/LotsOfInts.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/LotsOfInts.java	1 Sep 2008 22:16:12 -0000
&lt;br&gt;@@ -0,0 +1,96 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.io.FileNotFoundException;
&lt;br&gt;+import java.io.FileOutputStream;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+public class LotsOfInts extends Base
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public LotsOfInts ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.isEnabled = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.fileName = this.getClass ().getName () + &amp;quot;.txt&amp;quot;;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.checkPoint (&amp;quot;Reading lots of positive ints&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int[] numbers = new int[100000];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random r = new Random (System.currentTimeMillis ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;final int max = 1000000;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;StringBuilder tmpBuff = new StringBuilder (10000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;FileOutputStream fos = null;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmp = (int) (r.nextFloat () * max);
&lt;br&gt;+	numbers[i] = tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmpBuff.insert (0, &amp;quot;&amp;quot; + numbers[0]);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmpBuff.append (&amp;quot; &amp;quot; + numbers[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos = new FileOutputStream (this.aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.write (tmpBuff.toString ().getBytes ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.flush ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.close ();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (this.aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNextInt ())
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;tmp = s.nextInt ();
&lt;br&gt;+	 &amp;nbsp;this.myHarness.check (tmp, numbers[i],
&lt;br&gt;+				&amp;quot;nextInt() -&amp;gt; &amp;quot; + tmp + &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+	 &amp;nbsp;i++;
&lt;br&gt;+	}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.check (i, numbers.length,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;&amp;quot;Incomplete read... (&amp;quot; + i + &amp;quot; / &amp;quot; +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;numbers.length + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s.close ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (FileNotFoundException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not create file&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IOException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not write to File \&amp;quot;&amp;quot; +
&lt;br&gt;+			 &amp;nbsp; this.aktFile.getName () + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/LotsOfPMInts.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/LotsOfPMInts.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/LotsOfPMInts.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/LotsOfPMInts.java	1 Sep 2008 22:16:12 -0000
&lt;br&gt;@@ -0,0 +1,98 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.io.FileNotFoundException;
&lt;br&gt;+import java.io.FileOutputStream;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+public class LotsOfPMInts extends Base
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public LotsOfPMInts ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.isEnabled = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;setDefaultFilename ();
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; @Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.checkPoint (&amp;quot;Reading lots of positive ints&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int[] numbers = new int[100000];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long runID = System.currentTimeMillis ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random rand = new Random (runID);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;final int max = 1000000, mean = max &amp;gt;&amp;gt; 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;StringBuilder tmpBuff = new StringBuilder (10000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;FileOutputStream fos = null;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;runID : &amp;quot; + runID);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmp = (int) (rand.nextFloat () * max) - mean;
&lt;br&gt;+	numbers[i] = tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmpBuff.insert (0, &amp;quot;&amp;quot; + numbers[0]);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmpBuff.append (&amp;quot; &amp;quot; + numbers[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos = new FileOutputStream (this.aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.write (tmpBuff.toString ().getBytes ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.flush ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.close ();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNextInt ())
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;tmp = s.nextInt ();
&lt;br&gt;+	 &amp;nbsp;this.myHarness.check (tmp, numbers[i],
&lt;br&gt;+				&amp;quot;nextInt() -&amp;gt; &amp;quot; + tmp + &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+	 &amp;nbsp;i++;
&lt;br&gt;+	}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.check (i, numbers.length,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;&amp;quot;Incomplete read... (&amp;quot; + i + &amp;quot; / &amp;quot; +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;numbers.length + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s.close ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (FileNotFoundException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not create file&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IOException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not write to File \&amp;quot;&amp;quot; +
&lt;br&gt;+			 &amp;nbsp; this.aktFile.getName () + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/LotsOfPMLong.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/LotsOfPMLong.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/LotsOfPMLong.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/LotsOfPMLong.java	1 Sep 2008 22:16:12 -0000
&lt;br&gt;@@ -0,0 +1,97 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.io.FileNotFoundException;
&lt;br&gt;+import java.io.FileOutputStream;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+public class LotsOfPMLong extends Base
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public LotsOfPMLong ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.fileName = this.getClass ().getName () + &amp;quot;.txt&amp;quot;;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.checkPoint (&amp;quot;Reading lots of shorts&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long[] numbers = new long[20000];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long runID = System.currentTimeMillis ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random rand = new Random (runID);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;final long max = 20000000000000L, mean = max &amp;gt;&amp;gt; 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;StringBuilder tmpBuff = new StringBuilder (10000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;FileOutputStream fos = null;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;runID : &amp;quot; + runID);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmp = ((long) (rand.nextFloat () * max) - mean);
&lt;br&gt;+	numbers[i] = tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmpBuff.insert (0, &amp;quot;&amp;quot; + numbers[0]);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmpBuff.append (&amp;quot; &amp;quot; + numbers[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos = new FileOutputStream (this.aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.write (tmpBuff.toString ().getBytes ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.flush ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.close ();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNextLong ())
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;tmp = s.nextLong ();
&lt;br&gt;+	 &amp;nbsp;this.myHarness.check (tmp, numbers[i],
&lt;br&gt;+				&amp;quot;nextLong() -&amp;gt; &amp;quot; + tmp + &amp;quot; != &amp;quot; + numbers[i]);
&lt;br&gt;+	 &amp;nbsp;i++;
&lt;br&gt;+	}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.check (i, numbers.length,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;&amp;quot;Incomplete read... (&amp;quot; + i + &amp;quot; / &amp;quot; +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;numbers.length + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s.close ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (FileNotFoundException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not create file&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IOException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not write to File \&amp;quot;&amp;quot; +
&lt;br&gt;+			 &amp;nbsp; this.aktFile.getName () + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/LotsOfPMShort.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/LotsOfPMShort.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/LotsOfPMShort.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/LotsOfPMShort.java	1 Sep 2008 22:16:12 -0000
&lt;br&gt;@@ -0,0 +1,99 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.io.FileNotFoundException;
&lt;br&gt;+import java.io.FileOutputStream;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+
&lt;br&gt;+import java.util.Random;
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+public class LotsOfPMShort extends Base
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public LotsOfPMShort ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.isEnabled = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.fileName = this.getClass ().getName () + &amp;quot;.txt&amp;quot;;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.checkPoint (&amp;quot;Reading lots of shorts&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;short[] numbers = new short[10000];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;long runID = System.currentTimeMillis ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Random rand = new Random (runID);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;short tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;final short max = 20000, mean = max &amp;gt;&amp;gt; 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;StringBuilder tmpBuff = new StringBuilder (10000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;FileOutputStream fos = null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.debug (&amp;quot;runID : &amp;quot; + runID);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmp = (short) ((short) (rand.nextFloat () * max) - mean);
&lt;br&gt;+	numbers[i] = tmp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmpBuff.insert (0, &amp;quot;&amp;quot; + numbers[0]);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; numbers.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmpBuff.append (&amp;quot; &amp;quot; + numbers[i]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos = new FileOutputStream (this.aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.write (tmpBuff.toString ().getBytes ());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.flush ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;fos.close ();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (aktFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;i = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;while (s.hasNextShort ())
&lt;br&gt;+	{
&lt;br&gt;+	 &amp;nbsp;tmp = s.nextShort ();
&lt;br&gt;+	 &amp;nbsp;this.myHarness.check (tmp, numbers[i],
&lt;br&gt;+				&amp;quot;nextShort() -&amp;gt; &amp;quot; + tmp + &amp;quot; != &amp;quot; +
&lt;br&gt;+				numbers[i]);
&lt;br&gt;+	 &amp;nbsp;i++;
&lt;br&gt;+	}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.check (i, numbers.length,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;&amp;quot;Incomplete read... (&amp;quot; + i + &amp;quot; / &amp;quot; +
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp;numbers.length + &amp;quot;)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;s.close ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (FileNotFoundException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not create file&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (IOException e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;this.myHarness.fail (&amp;quot;Could not write to File \&amp;quot;&amp;quot; +
&lt;br&gt;+			 &amp;nbsp; this.aktFile.getName () + &amp;quot;\&amp;quot;&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/MultiLine.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/MultiLine.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/MultiLine.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/MultiLine.java	1 Sep 2008 22:16:12 -0000
&lt;br&gt;@@ -0,0 +1,74 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.io.ByteArrayInputStream;
&lt;br&gt;+
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 14.02.2007 - 12:17:51
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class MultiLine extends Base
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.myHarness.checkPoint (&amp;quot;Multi line read - linewise&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String[] lines =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;quot;1. Line: aaa bbb ccc&amp;quot;, &amp;quot;2. line: aaa bbb aaa&amp;quot;, &amp;quot;3. line: bbb aaa&amp;quot;};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String newLine = System.getProperty (&amp;quot;line.separator&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String tmp = lines[0];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String result;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;byte[]buffer;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 1; i &amp;lt; lines.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmp += newLine + lines[i];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;tmp += newLine;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;buffer = tmp.getBytes ();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;ByteArrayInputStream inStr = new ByteArrayInputStream (buffer);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (inStr);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; lines.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	this.myHarness.check (s.hasNextLine (), true,
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;(i + 1) + &amp;quot;. hasNextLine()&amp;quot;);
&lt;br&gt;+	result = s.nextLine ();
&lt;br&gt;+	this.myHarness.check (result, lines[i],
&lt;br&gt;+			 &amp;nbsp; &amp;nbsp; &amp;nbsp;(i + 1) + &amp;quot;. nextLine() [&amp;quot; + result + &amp;quot;]&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/Radix.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/Radix.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/Radix.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/Radix.java	1 Sep 2008 22:16:12 -0000
&lt;br&gt;@@ -0,0 +1,75 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+/**
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.math.BigInteger;
&lt;br&gt;+
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 26.02.2007 - 05:28:44
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class Radix extends Base
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String testStr = &amp;quot;5F 7FFF 4F3F3F6F 3F3F2EF3FFEE 4FFAAEEFFAA&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = new Scanner (testStr);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextByte (16), &amp;quot;hasNextByte(16)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextByte(16), 95, &amp;quot;nextByte is 95&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextShort(16), &amp;quot;hasNextShort(16)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextShort(16), 32767, &amp;quot;nextShort is 32767&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextInt(16), &amp;quot;hasNextInt(16)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextInt(16), 1329545071, &amp;quot;nextInt is 1329545071&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextLong(16), &amp;quot;hasNextLong(16)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextLong(16), 69540603232238L, &amp;quot;nextLong is 69540603232238&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextBigInteger(16), &amp;quot;hasNextBigInteger(16)&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextBigInteger(16), BigInteger.valueOf(5496130961322L),
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp;&amp;quot;nextBigInteger is 5496130961322&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;s = new Scanner (testStr).useRadix (16);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.radix(), 16, &amp;quot;radix was not set to 16&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextByte (), &amp;quot;hasNextByte()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextByte(), 95, &amp;quot;nextByte is 95&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextShort(), &amp;quot;hasNextShort()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextShort(), 32767, &amp;quot;nextShort is 32767&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextInt(), &amp;quot;hasNextInt()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextInt(), 1329545071, &amp;quot;nextInt is 1329545071&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextLong(), &amp;quot;hasNextLong()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextLong(), 69540603232238L, &amp;quot;nextLong is 69540603232238&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.hasNextBigInteger(), &amp;quot;hasNextBigInteger()&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;myHarness.check(s.nextBigInteger(), BigInteger.valueOf(5496130961322L),
&lt;br&gt;+		 &amp;nbsp; &amp;nbsp;&amp;quot;nextBigInteger is 5496130961322&amp;quot;);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;Index: gnu/testlet/java/util/Scanner/SkipPattern.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/util/Scanner/SkipPattern.java
&lt;br&gt;diff -N gnu/testlet/java/util/Scanner/SkipPattern.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/util/Scanner/SkipPattern.java	1 Sep 2008 22:16:12 -0000
&lt;br&gt;@@ -0,0 +1,55 @@
&lt;br&gt;+// Copyright (c) 2007 Hernadi Laszlo
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA.
&lt;br&gt;+
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+import java.util.Scanner;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * @author E0327023 Hernadi Laszlo
&lt;br&gt;+ * @ 19.02.2007 - 03:16:19
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+public class SkipPattern extends Base
&lt;br&gt;+{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;private static final String FISH_STR = &amp;quot;1 fish 2 fish red fish blue fish &amp;quot;;	//$NON-NLS-1$
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;/* (non-Javadoc)
&lt;br&gt;+ &amp;nbsp; * @see gnu.testlet.java.util.Scanner.TestBase#doTest()
&lt;br&gt;+ &amp;nbsp; */
&lt;br&gt;+ &amp;nbsp;@Override protected void doTest ()
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Scanner s = new Scanner(FISH_STR);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String[] values = { &amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;red&amp;quot;, &amp;quot;blue&amp;quot;};
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;int i;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String tmpStr;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for (i = 0; i &amp;lt; values.length; i++)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	tmpStr = s.next ();
&lt;br&gt;+	myHarness.check(tmpStr.equals (values[i]), tmpStr + &amp;quot; = &amp;quot; + values[i]);
&lt;br&gt;+	s = s.skip (&amp;quot; &amp;quot;).skip (&amp;quot;fish&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+}
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Tests-for-java.util.Scanner-tp19261544p19261544.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19259091</id>
	<title>FYI: Add test for PR36085</title>
	<published>2008-09-01T11:49:49Z</published>
	<updated>2008-09-01T11:49:49Z</updated>
	<author>
		<name>gnu_andrew</name>
	</author>
	<content type="html">This adds a test for the issue reported in PR36085.
&lt;br&gt;&lt;br&gt;ChangeLog:
&lt;br&gt;&lt;br&gt;2008-09-01 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19259091&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/lang/String/replaceAll.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; New test for PRclasspath/36085.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew :)
&lt;br&gt;&lt;br&gt;Support Free Java!
&lt;br&gt;Contribute to GNU Classpath and the OpenJDK
&lt;br&gt;&lt;a href=&quot;http://www.gnu.org/software/classpath&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/classpath&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openjdk.java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjdk.java.net&lt;/a&gt;&lt;br&gt;PGP Key: 94EFD9D8 (&lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net&lt;/a&gt;)
&lt;br&gt;Fingerprint = F8EF F1EA 401E 2E60 15FA &amp;nbsp;7927 142C 2591 94EF D9D8
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/lang/String/replaceAll.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/lang/String/replaceAll.java
&lt;br&gt;diff -N gnu/testlet/java/lang/String/replaceAll.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/lang/String/replaceAll.java	1 Sep 2008 17:36:31 -0000
&lt;br&gt;@@ -0,0 +1,36 @@
&lt;br&gt;+// Tags: JDK1.4
&lt;br&gt;+
&lt;br&gt;+// Copyright (C) 2008 Andrew John Hughes
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA. &amp;nbsp;*/
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.lang.String;
&lt;br&gt;+
&lt;br&gt;+import gnu.testlet.Testlet;
&lt;br&gt;+import gnu.testlet.TestHarness;
&lt;br&gt;+
&lt;br&gt;+public class replaceAll 
&lt;br&gt;+ &amp;nbsp;implements Testlet
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;public void test (TestHarness harness)
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;/* Test for PRclasspath/36085 */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;String result = &amp;quot;Test #&amp;quot;.replaceAll(&amp;quot;#&amp;quot;,&amp;quot;\\\\n&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;harness.check(result, &amp;quot;Test \\n&amp;quot;, result);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-Add-test-for-PR36085-tp19259091p19259091.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19251709</id>
	<title>increase timeout in java.net.ServerSocket.AcceptTimeout</title>
	<published>2008-09-01T02:39:03Z</published>
	<updated>2008-09-01T02:39:03Z</updated>
	<author>
		<name>Christian Thalinger</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;The java.net.ServerSocket.AcceptTimeout test failed consistently on
&lt;br&gt;IcedTea with CACAO. &amp;nbsp;I talked to Mark about it, as he's the author of
&lt;br&gt;the test, and he said we should increase the ServerSocket timeout. &amp;nbsp;It
&lt;br&gt;seems to fix the issue.
&lt;br&gt;&lt;br&gt;- twisti
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Index: ChangeLog
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/ChangeLog,v
&lt;br&gt;retrieving revision 1.2125
&lt;br&gt;diff -u -3 -p -r1.2125 ChangeLog
&lt;br&gt;--- ChangeLog	25 Aug 2008 15:13:14 -0000	1.2125
&lt;br&gt;+++ ChangeLog	1 Sep 2008 09:34:33 -0000
&lt;br&gt;@@ -1,3 +1,8 @@
&lt;br&gt;+2008-09-01 &amp;nbsp;Christian Thalinger &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19251709&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;twisti@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+	* gnu/testlet/java/net/ServerSocket/AcceptTimeout.java (test):
&lt;br&gt;+	Increase timeout from 200 to 2000.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2008-08-25 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19251709&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	* gnu/testlet/java/lang/Enum/PR33183.java:
&lt;br&gt;Index: gnu/testlet/java/net/ServerSocket/AcceptTimeout.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: /cvs/mauve/mauve/gnu/testlet/java/net/ServerSocket/AcceptTimeout.java,v
&lt;br&gt;retrieving revision 1.1
&lt;br&gt;diff -u -3 -p -r1.1 AcceptTimeout.java
&lt;br&gt;--- gnu/testlet/java/net/ServerSocket/AcceptTimeout.java	14 May 2006 19:55:28 -0000	1.1
&lt;br&gt;+++ gnu/testlet/java/net/ServerSocket/AcceptTimeout.java	1 Sep 2008 09:34:35 -0000
&lt;br&gt;@@ -39,7 +39,7 @@ public class AcceptTimeout implements Te
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp;	ServerSocket ss = new ServerSocket(port);
&lt;br&gt;-	ss.setSoTimeout(200);
&lt;br&gt;+	ss.setSoTimeout(2000);
&lt;br&gt;&amp;nbsp;	Socket s = ss.accept();
&lt;br&gt;&amp;nbsp;	harness.check(s.getSoTimeout(), 0);
&lt;br&gt;&amp;nbsp;	s.close();
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/increase-timeout-in-java.net.ServerSocket.AcceptTimeout-tp19251709p19251709.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19145761</id>
	<title>FYI: PR33183 Enum test</title>
	<published>2008-08-25T08:12:36Z</published>
	<updated>2008-08-25T08:12:36Z</updated>
	<author>
		<name>gnu_andrew</name>
	</author>
	<content type="html">This adds a test for the issue found in PR33183, i.e.
&lt;br&gt;Enum.valueOf throwing an exception for a non-public Enum class.
&lt;br&gt;&lt;br&gt;ChangeLog:
&lt;br&gt;&lt;br&gt;2008-08-25 &amp;nbsp;Andrew John Hughes &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19145761&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * gnu/testlet/java/lang/Enum/PR33183.java:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; New test.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Andrew :)
&lt;br&gt;&lt;br&gt;Support Free Java!
&lt;br&gt;Contribute to GNU Classpath and the OpenJDK
&lt;br&gt;&lt;a href=&quot;http://www.gnu.org/software/classpath&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnu.org/software/classpath&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openjdk.java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjdk.java.net&lt;/a&gt;&lt;br&gt;PGP Key: 94EFD9D8 (&lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://subkeys.pgp.net&lt;/a&gt;)
&lt;br&gt;Fingerprint = F8EF F1EA 401E 2E60 15FA &amp;nbsp;7927 142C 2591 94EF D9D8
&lt;br&gt;&lt;br /&gt;Index: gnu/testlet/java/lang/Enum/PR33183.java
&lt;br&gt;===================================================================
&lt;br&gt;RCS file: gnu/testlet/java/lang/Enum/PR33183.java
&lt;br&gt;diff -N gnu/testlet/java/lang/Enum/PR33183.java
&lt;br&gt;--- /dev/null	1 Jan 1970 00:00:00 -0000
&lt;br&gt;+++ gnu/testlet/java/lang/Enum/PR33183.java	25 Aug 2008 14:54:48 -0000
&lt;br&gt;@@ -0,0 +1,44 @@
&lt;br&gt;+// Tags: JDK1.5
&lt;br&gt;+
&lt;br&gt;+// Copyright (C) 2008 Andrew John Hughes (&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=19145761&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gnu_andrew@...&lt;/a&gt;)
&lt;br&gt;+
&lt;br&gt;+// This file is part of Mauve.
&lt;br&gt;+
&lt;br&gt;+// Mauve is free software; you can redistribute it and/or modify
&lt;br&gt;+// it under the terms of the GNU General Public License as published by
&lt;br&gt;+// the Free Software Foundation; either version 2, or (at your option)
&lt;br&gt;+// any later version.
&lt;br&gt;+
&lt;br&gt;+// Mauve is distributed in the hope that it will be useful,
&lt;br&gt;+// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the
&lt;br&gt;+// GNU General Public License for more details.
&lt;br&gt;+
&lt;br&gt;+// You should have received a copy of the GNU General Public License
&lt;br&gt;+// along with Mauve; see the file COPYING. &amp;nbsp;If not, write to
&lt;br&gt;+// the Free Software Foundation, 59 Temple Place - Suite 330,
&lt;br&gt;+// Boston, MA 02111-1307, USA. &amp;nbsp;*/
&lt;br&gt;+
&lt;br&gt;+package gnu.testlet.java.lang.Enum;
&lt;br&gt;+
&lt;br&gt;+import gnu.testlet.Testlet;
&lt;br&gt;+import gnu.testlet.TestHarness;
&lt;br&gt;+
&lt;br&gt;+public class PR33183
&lt;br&gt;+ &amp;nbsp;implements Testlet
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp;static enum E { A, B, C }
&lt;br&gt;+ &amp;nbsp;public void test(TestHarness harness)
&lt;br&gt;+ &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;try
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	E e = E.valueOf(&amp;quot;A&amp;quot;);
&lt;br&gt;+	harness.check(e.toString().equals(&amp;quot;A&amp;quot;));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;catch (Exception e)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+	harness.debug(e);
&lt;br&gt;+	harness.fail(e.toString());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Sourceware---mouve-patches-f15948.html&quot; embed=&quot;fixTarget[15948]&quot; target=&quot;_top&quot; &gt;Sourceware - mouve-patches&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/FYI%3A-PR33183-Enum-test-tp19145761p19145761.html" />
</entry>

</feed>
