Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 53340 invoked from network); 6 Dec 2006 02:57:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Dec 2006 02:57:44 -0000 Received: (qmail 8515 invoked by uid 500); 6 Dec 2006 02:57:52 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 8485 invoked by uid 500); 6 Dec 2006 02:57:52 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 8473 invoked by uid 99); 6 Dec 2006 02:57:52 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Dec 2006 18:57:52 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Dec 2006 18:57:43 -0800 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 04C477142EC for ; Tue, 5 Dec 2006 18:57:23 -0800 (PST) Message-ID: <33041336.1165373843017.JavaMail.jira@brutus> Date: Tue, 5 Dec 2006 18:57:23 -0800 (PST) From: "Nathan Beyer (JIRA)" To: commits@harmony.apache.org Subject: [jira] Commented: (HARMONY-2420) [classlib][prefs] java.util.prefs.AbstractPreferences.exportNode(OutputStream) and java.util.prefs.AbstractPreferences.exportSubtree(OutputStream) throws AssertionError instead of NPE in a case when OutputStream is null In-Reply-To: <14680747.1165236923056.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ http://issues.apache.org/jira/browse/HARMONY-2420?page=comments#action_12455846 ] Nathan Beyer commented on HARMONY-2420: --------------------------------------- Could you create a patch the test case, so we can add a regression test? Thanks. > [classlib][prefs] java.util.prefs.AbstractPreferences.exportNode(OutputStream) and java.util.prefs.AbstractPreferences.exportSubtree(OutputStream) throws AssertionError instead of NPE in a case when OutputStream is null > ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: HARMONY-2420 > URL: http://issues.apache.org/jira/browse/HARMONY-2420 > Project: Harmony > Issue Type: Bug > Components: Classlib > Reporter: Artem Aliev > Priority: Minor > > exportNode(OutputStream) and exportSubtree(OutputStream) throws > AssertionError not NullPointerException in a case when OutputStream is null. > Test to reproduce: > import junit.framework.TestCase; > import java.io.IOException; > import java.util.prefs.*; > class AbstractPreferencesImpl extends AbstractPreferences{ > protected AbstractPreferencesImpl(AbstractPreferences arg0, String > arg1) { > super(arg0, arg1); > } > protected AbstractPreferences childSpi(String arg0) { > return null; > } > protected String[] childrenNamesSpi() throws BackingStoreException { > return null; > } > protected void flushSpi() throws BackingStoreException { > } > protected String getSpi(String arg0) { > return null; > } > protected String[] keysSpi() throws BackingStoreException { > return null; > } > protected void putSpi(String arg0, String arg1) { > } > protected void removeNodeSpi() throws BackingStoreException { > } > protected void removeSpi(String arg0) { > } > protected void syncSpi() throws BackingStoreException { > } > } > public class Test extends TestCase { > public void testcase() { > AbstractPreferences ap = new AbstractPreferencesImpl(null, ""); > boolean res1 = false, res2 = false; > try { > ap.exportNode(null); > } catch (IOException e) { > e.printStackTrace(); > } catch (BackingStoreException e) { > e.printStackTrace(); > }catch (NullPointerException e) { > e.printStackTrace(); > System.out.println("Got Expected > NullPointerException"); > } catch (AssertionError ae) { > ae.printStackTrace(); > res1 = true; > System.out.println("Got Unexpected AssertionError"); > } > try { > ap.exportSubtree(null); > } catch (IOException e) { > e.printStackTrace(); > } catch (BackingStoreException e) { > e.printStackTrace(); > }catch (NullPointerException e) { > e.printStackTrace(); > System.out.println("Got Expected > NullPointerException"); > } catch (AssertionError ae) { > ae.printStackTrace(); > res2 = true; > System.out.println("Got Unexpected AssertionError"); > } > if (res1 || res2) { > fail(); > } > } > } > Output on Harmony: > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software > Foundation or its licensors, as applicable. > java version "1.5.0" > pre-alpha : not complete or compatible > svn = rsvn: '.' is not a working copy, (Sep 20 2006), Windows/ia32/msvc 1310, > release build > http://incubator.apache.org/harmony > .java.lang.AssertionError: Stream is null > at > java.util.prefs.AbstractPreferences.exportNode(AbstractPreferences.java:373) > at Test.testcase(Test.java:50) > at java.lang.reflect.VMReflection.invokeMethod(Native Method) > at java.lang.reflect.Method.invoke(Unknown Source) > at junit.framework.TestCase.runTest(TestCase.java:154) > at junit.framework.TestCase.runBare(TestCase.java:127) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at junit.textui.TestRunner.doRun(TestRunner.java:115) > at junit.textui.TestRunner.start(TestRunner.java:172) > at junit.textui.TestRunner.main(TestRunner.java:138) > Got Unexpected AssertionError > java.lang.AssertionError: Stream is null > at > java.util.prefs.AbstractPreferences.exportSubtree(AbstractPreferences.java:388) > at Test.testcase(Test.java:64) > at java.lang.reflect.VMReflection.invokeMethod(Native Method) > at java.lang.reflect.Method.invoke(Unknown Source) > at junit.framework.TestCase.runTest(TestCase.java:154) > at junit.framework.TestCase.runBare(TestCase.java:127) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at junit.textui.TestRunner.doRun(TestRunner.java:115) > at junit.textui.TestRunner.start(TestRunner.java:172) > at junit.textui.TestRunner.main(TestRunner.java:138) > Got Unexpected AssertionError > F > Time: 0.125 > There was 1 failure: > 1) testcase(Test)junit.framework.AssertionFailedError > at Test.testcase(Test.java:78) > at java.lang.reflect.VMReflection.invokeMethod(Native Method) > FAILURES!!! > Tests run: 1, Failures: 1, Errors: 0 > res = 1 > Output on RI: > java version "1.5.0_06" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) > Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode) > .java.lang.NullPointerException > at java.util.prefs.XmlSupport.putPreferencesInXml(XmlSupport.java:140) > at java.util.prefs.XmlSupport.export(XmlSupport.java:104) > at > java.util.prefs.AbstractPreferences.exportNode(AbstractPreferences.java:1575) > at Test.testcase(Test.java:50) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at junit.framework.TestCase.runTest(TestCase.java:154) > at junit.framework.TestCase.runBare(TestCase.java:127) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at junit.textui.TestRunner.doRun(TestRunner.java:116) > at junit.textui.TestRunner.start(TestRunner.java:172) > at junit.textui.TestRunner.main(TestRunner.java:138) > Got Expected NullPointerException > java.lang.NullPointerException > at java.util.prefs.XmlSupport.putPreferencesInXml(XmlSupport.java:140) > at java.util.prefs.XmlSupport.export(XmlSupport.java:104) > at > java.util.prefs.AbstractPreferences.exportSubtree(AbstractPreferences.java:1591) > at Test.testcase(Test.java:64) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at junit.framework.TestCase.runTest(TestCase.java:154) > at junit.framework.TestCase.runBare(TestCase.java:127) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at junit.textui.TestRunner.doRun(TestRunner.java:116) > at junit.textui.TestRunner.start(TestRunner.java:172) > at junit.textui.TestRunner.main(TestRunner.java:138) > Got Expected NullPointerException > Time: 0.078 > OK (1 test) > res = 0 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira