JDK-4908693 : REGRESSION: Regression test .../EventSetDescriptor/NullListenerName.java fails
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.beans
  • Affected Version: 5.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_9,solaris_10,windows_xp
  • CPU: x86
  • Submitted: 2003-08-19
  • Updated: 2003-09-12
  • Resolved: 2003-09-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 tigerFixed
Related Reports
Relates :  
Description

Name: vsR10238			Date: 08/19/2003


Filed By       : J2SE-SQA [###@###.###
JDK            : JDK1.5.0-b15
Testbase       : Regression-test
Platform[s]    : Windows XP Home, Solaris 10 (sparc) (GNOME), Solaris 9 (x86) (CDE)
switch/Mode    : -client, -server
Falling test[s]:
         java/beans/EventSetDescriptor/NullListenerName.java

Regression-test java/beans/EventSetDescriptor/NullListenerName.java test fails with JDK1.5.0-b15.
The test passes with JDK1.5.0 (tested with b14), JDK1.4.2 (tested with b28).

The failure is caused by changes in java/beans/EventSetDescriptor.java. The code of the EventSetDescriptor
constructor does not check listenedMethodNames[] for null values any more:

---------------- 1.5.0 - b15 ----------->>
     public EventSetDescriptor(Class sourceClass,
                 String eventSetName,
                 Class listenerType,
                 String listenerMethodNames[],
                 String addListenerMethodName,
                 String removeListenerMethodName,
                 String getListenerMethodName)
                 throws IntrospectionException {
         setName(eventSetName);
         setClass0(sourceClass);
         setListenerType(listenerType);

         this.listenerMethodNames = listenerMethodNames;
         this.addMethodName = addListenerMethodName;
         this.removeMethodName = removeListenerMethodName;
         this.getMethodName = getListenerMethodName;
     }

<< ---------------- 1.5.0 - b15 -----------

---------------- 1.5.0 - b14 ----------->>

     public EventSetDescriptor(Class sourceClass,
                 String eventSetName,
                 Class listenerType,
                 String listenerMethodNames[],
                 String addListenerMethodName,
                 String removeListenerMethodName,
                 String getListenerMethodName)
                 throws IntrospectionException {
         setName(eventSetName);
         listenerMethods = new Method[listenerMethodNames.length];
         for (int i = 0; i < listenerMethods.length; i++) {
             String listenerName = listenerMethodNames[i];
             if (listenerName == null) {
                 throw new NullPointerException();
             }
             listenerMethods[i] = Introspector.findMethod(listenerType,
                                                         listenerName, 1);
         }

     ....

<< ---------------- 1.5.0 - b14 -----------


Test source location:
=====================
/java/re/jdk/1.5.0/promoted/latest/ws/j2se/test/java/beans/EventSetDescriptor/NullListenerName.java

jtr file location:
==================
/net/jtgb4u4c.sfbay/export/sail15/results.2/tiger/b15/regtest/x86/sol9_x86_cde_smp_linux-6/workDir/test/java/beans/EventSetDescriptor/NullListenerName.jtr

How to reproduce:
=================
Run the following script (you may need to change its variables)

--- script start ---
#!/bin/sh

RESULT_DIR=`pwd`
WORK_DIR=$RESULT_DIR/workDir/test
REPORT_DIR=$RESULT_DIR/reportDir
JT_HOME="/net/linux-15/export/home/java/jct"
JAVA_HOME="/net/linux-15/export/home/java/jdk1.5.0/x86"
TEST_BASE_PATH="/net/linux-15/export/home/java/regtest.tiger/test"

TESTWITH=$JAVA_HOME
TESTJAVA=$JAVA_HOME

JTOPTS="-server"
TESTVMOPTS="-server"

CLASSPATH="$JT_HOME/classes:$JT_HOME/lib/javatest.jar:$JT_HOME/lib/jtreg.jar:$JT_HOME/jemmy/jemmy.jar"

export JAVA_HOME
export JT_HOME
export TESTWITH
export CLASSPATH

mkdir -p $WORK_DIR/scratch 2>&1
mkdir -p $WORK_DIR/jtData 2>&1
mkdir -p $REPORT_DIR 2>&1

#rm $WORK_DIR/jtData/ResultCache.jtw 2>&1

cd $WORK_DIR/scratch

$JAVA_HOME/bin/java -cp $CLASSPATH $JTOPTS -DenvVars=TESTJAVAHOME=$JAVA_HOME,TESTVMOPTS=$TESTVMOPTS,DISPLAY=:0,HOME=$HOME/.regtest,PATH=/bin:/usr/bin,CPAPPEND=$JT_HOME/jemmy/jemmy.jar,TZ=,LC_ALL=en_US,LC_CTYPE=en_US,LANG=en_US,LPDEST= -DDISPLAY=:0 -DlocalHost="linux-6" -Dprogram=jtreg com.sun.javatest.regtest.Main -a -v default -batch -params -w "$WORK_DIR" -r "$REPORT_DIR" -t "$TEST_BASE_PATH" "$TEST_BASE_PATH/java/beans/EventSetDescriptor/NullListenerName.java"

--- script end ---

Test output (jtr part):
=======================
----------System.out:(0/0)----------
----------System.err:(13/784)----------
java.lang.RuntimeException: Didn't get expected NullPointerException
	at NullListenerName.main(NullListenerName.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:324)
	at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:82)
	at java.lang.Thread.run(Thread.java:549)

JavaTest Message: Test threw exception: java.lang.RuntimeException: Didn't get expected NullPointerException
JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: java.lang.RuntimeException: Didn't get expected NullPointerException
result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Didn't get expected NullPointerException


test result: Failed. Execution failed: `main' threw exception: java.lang.RuntimeException: Didn't get expected NullPointerException


Specific machine info:
======================
Hostname: linux-21
OS: Windows XP Home
Hostname: linux-6
OS: Solaris 9 (x86) (CDE)
Hostname: linux-8
OS: Solaris 10 (sparc) (GNOME)



======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger FIXED IN: tiger INTEGRATED IN: tiger tiger-b19 VERIFIED IN: tiger
14-06-2004

EVALUATION In the refactoring and fixing of 4809008, the check for null values was removed and the test failed. It will be reinserted. ###@###.### 2003-08-19
19-08-2003