You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Vemund Østgaard (JIRA)" <ji...@apache.org> on 2008/03/11 16:06:46 UTC

[jira] Created: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
----------------------------------------------------------------------------------------------------------------------

                 Key: DERBY-3521
                 URL: https://issues.apache.org/jira/browse/DERBY-3521
             Project: Derby
          Issue Type: Test
          Components: Test
         Environment: phoneME advanced platform
            Reporter: Vemund Østgaard
            Assignee: Vemund Østgaard


It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.

Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.

A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.

private static Test addSuiteByReflection(String className) throws Exception
   {
       try {
           Class clz = Class.forName(className);
                      Method sm = clz.getMethod("suite", null);
                            return (Test) sm.invoke(null, null);
       } catch (LinkageError  e) {
           return new TestSuite("SKIPPED: " + className + " - " +
                   e.getMessage());
       }
   } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577779#action_12577779 ] 

Knut Anders Hatlen commented on DERBY-3521:
-------------------------------------------

Merged to 10.4 and committed revision 636268.

(JIRA is down, so I'll have to update the fix version later.)


> Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3521
>                 URL: https://issues.apache.org/jira/browse/DERBY-3521
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>         Environment: phoneME advanced platform
>            Reporter: Vemund Østgaard
>            Assignee: Vemund Østgaard
>             Fix For: 10.5.0.0
>
>         Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
>    {
>        try {
>            Class clz = Class.forName(className);
>                       Method sm = clz.getMethod("suite", null);
>                             return (Test) sm.invoke(null, null);
>        } catch (LinkageError  e) {
>            return new TestSuite("SKIPPED: " + className + " - " +
>                    e.getMessage());
>        }
>    } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen resolved DERBY-3521.
---------------------------------------

       Resolution: Fixed
    Fix Version/s: 10.5.0.0
       Derby Info:   (was: [Patch Available])

Committed revision 636256.

Should the fix also be merged into the 10.4 branch?

> Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3521
>                 URL: https://issues.apache.org/jira/browse/DERBY-3521
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>         Environment: phoneME advanced platform
>            Reporter: Vemund Østgaard
>            Assignee: Vemund Østgaard
>             Fix For: 10.5.0.0
>
>         Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
>    {
>        try {
>            Class clz = Class.forName(className);
>                       Method sm = clz.getMethod("suite", null);
>                             return (Test) sm.invoke(null, null);
>        } catch (LinkageError  e) {
>            return new TestSuite("SKIPPED: " + className + " - " +
>                    e.getMessage());
>        }
>    } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Posted by "Vemund Østgaard (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vemund Østgaard closed DERBY-3521.
----------------------------------


Closing this issue as there is no more work to do, thank you Knut.

> Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3521
>                 URL: https://issues.apache.org/jira/browse/DERBY-3521
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>         Environment: phoneME advanced platform
>            Reporter: Vemund Østgaard
>            Assignee: Vemund Østgaard
>             Fix For: 10.4.0.0, 10.5.0.0
>
>         Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
>    {
>        try {
>            Class clz = Class.forName(className);
>                       Method sm = clz.getMethod("suite", null);
>                             return (Test) sm.invoke(null, null);
>        } catch (LinkageError  e) {
>            return new TestSuite("SKIPPED: " + className + " - " +
>                    e.getMessage());
>        }
>    } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Posted by "Vemund Østgaard (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vemund Østgaard updated DERBY-3521:
-----------------------------------

    Attachment: 3521-fix-diff

Attaching simple fix, 3521-fix-diff, which unwraps the InvocationTargetException and cheks if it contains an instanceof LinkageError.



> Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3521
>                 URL: https://issues.apache.org/jira/browse/DERBY-3521
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>         Environment: phoneME advanced platform
>            Reporter: Vemund Østgaard
>            Assignee: Vemund Østgaard
>         Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
>    {
>        try {
>            Class clz = Class.forName(className);
>                       Method sm = clz.getMethod("suite", null);
>                             return (Test) sm.invoke(null, null);
>        } catch (LinkageError  e) {
>            return new TestSuite("SKIPPED: " + className + " - " +
>                    e.getMessage());
>        }
>    } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Posted by "Vemund Østgaard (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vemund Østgaard updated DERBY-3521:
-----------------------------------

    Derby Info: [Patch Available]

> Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3521
>                 URL: https://issues.apache.org/jira/browse/DERBY-3521
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>         Environment: phoneME advanced platform
>            Reporter: Vemund Østgaard
>            Assignee: Vemund Østgaard
>         Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
>    {
>        try {
>            Class clz = Class.forName(className);
>                       Method sm = clz.getMethod("suite", null);
>                             return (Test) sm.invoke(null, null);
>        } catch (LinkageError  e) {
>            return new TestSuite("SKIPPED: " + className + " - " +
>                    e.getMessage());
>        }
>    } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-3521:
--------------------------------------

    Fix Version/s: 10.4.0.0

> Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3521
>                 URL: https://issues.apache.org/jira/browse/DERBY-3521
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>         Environment: phoneME advanced platform
>            Reporter: Vemund Østgaard
>            Assignee: Vemund Østgaard
>             Fix For: 10.4.0.0, 10.5.0.0
>
>         Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
>    {
>        try {
>            Class clz = Class.forName(className);
>                       Method sm = clz.getMethod("suite", null);
>                             return (Test) sm.invoke(null, null);
>        } catch (LinkageError  e) {
>            return new TestSuite("SKIPPED: " + className + " - " +
>                    e.getMessage());
>        }
>    } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-3521) Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced

Posted by "Vemund Østgaard (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-3521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577770#action_12577770 ] 

Vemund Østgaard commented on DERBY-3521:
----------------------------------------

It would be good to get it merged to 10.4, so I can test the RCs on phoneME advanced.

> Functionality for skipping testsuites on certain platforms fails for the new management testsuite on phoneME advanced 
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3521
>                 URL: https://issues.apache.org/jira/browse/DERBY-3521
>             Project: Derby
>          Issue Type: Test
>          Components: Test
>         Environment: phoneME advanced platform
>            Reporter: Vemund Østgaard
>            Assignee: Vemund Østgaard
>             Fix For: 10.5.0.0
>
>         Attachments: 3521-fix-diff
>
>
> It is not possible to run suites.All on phoneME advanced, junit will just exit with an InvocationTargetException when trying to invoke the suites.All.suite() method. Unwrapping the exception shows that the underlying reason is a NoClassDefFoundError from the invoke() call in AllPackages.addSuiteByReflection() when trying to load the new management testsuite.
> Now, this suite is compiled into 1.5 classfiles, so the Class.forName() call before the invoke() is expected to fail with UnsupportedClassVersionError on Java ME and Java SE 1.4. It does fail as expected when running with jdk 1.4, but on phoneME advanced it does not, possibly a bug in phoneME advanced.
> A fix/workaround in the testinfrastructure may be to catch InvocationTargetException from the try block below, unwrap it and see if it is an instance of LinkageError and if so skip the testsuite. This would make it possible to run the tests on phoneME advanced.
> private static Test addSuiteByReflection(String className) throws Exception
>    {
>        try {
>            Class clz = Class.forName(className);
>                       Method sm = clz.getMethod("suite", null);
>                             return (Test) sm.invoke(null, null);
>        } catch (LinkageError  e) {
>            return new TestSuite("SKIPPED: " + className + " - " +
>                    e.getMessage());
>        }
>    } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.