[
https://issues.apache.org/jira/browse/DERBY-3151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kristian Waagan updated DERBY-3151:
-----------------------------------
Attachment: derby-3151-4a-wrapper_with_reflection.diff
Uploaded a new version of the 4a patch. There was no reason to duplicate the
logic, so reflection is now being used to obtain a NetworkServerControl
instance through a static method in NetworkServerTestSetup (as before).
I found it easier to keep the new wrapper class, but in theory this code could
be moved into TestConfiguration. I do feel that TestConfiguration is large
enough as it is, so I prefer not to add more code to it unless it is necessary.
I'm a bit unsure about the error handling. Is it sufficient?
My regression test got aborted, so I've restarted it.
Patch ready for commit.
> Reduce dependency on NetworkServerControl in TestConfiguration
> --------------------------------------------------------------
>
> Key: DERBY-3151
> URL: https://issues.apache.org/jira/browse/DERBY-3151
> Project: Derby
> Issue Type: Improvement
> Components: Test
> Affects Versions: 10.4.1.3
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Minor
> Attachments: derby-3151-1a-proposal.diff, derby-3151-2a-wrapper.diff,
> derby-3151-2a-wrapper.stat, derby-3151-2b-wrapper.diff,
> derby-3151-3a-test.diff, derby-3151-4a-wrapper_with_reflection.diff
>
>
> Code has been added in TestConfiguration to allow for starting and stopping a
> Derby network server.
> Even if you know will not need this functionality, or you simply don't want
> to have this functionality available, you must include derbynet.jar (or point
> to classes/).
> I think this dependency should be reduced, by not having any instance
> variables and by not importing the class with an explicit import statement.
> The existing instance variables are not used.
> With this planned change, you can run tests without including derbynet.jar on
> the classpath, as long as they don't call 'startNetworkServer' or
> 'stopNetworkServer'. Most often these methods will be called by a decorator.
> The downside of this change, is that you won't get any error messages before
> the mentioned methods are actually executed.
> A typical error message:
> Failed to invoke suite():java.lang.NoClassDefFoundError:
> org/apache/derby/drda/NetworkServerControl
> I'm sure there are other solutions as well, but this one is really easy.
> Any opinions on this change?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.