MacBook vs. Powerbook: Hurdles in the JiggeryPokery
Kim Horne updates her post to tell us that in her attempt to run tests for Eclipse on her MacBook and Powerbook machines, she faced innumerable hurdles.
“After managing to get the tests running I discovered that the results were not being logged to the database. In the end there were several hurdles,” Kim says. She says she had to redo a lot of work before she could get any results from the tests. The problems she faced were:
The appropriate system properties (-Declipse.perf.dbloc, etc) were not being passed to the VMs used to launch the tests. This was corrected by supplying the appropriate flags via extraVMArgs in the test.xml file.
Appropriate JDBC drivers were not available. The documentation for the performance tests says that the Derby plug-in needs to be called org.apche.derby, when it needs to be called Cloudscape. The Ant scripts that set up the test VMs require the plug-in to be called Cloudscape; otherwise, it is not copied to the test Eclipse instances. This was fixed by renaming the plug-in and putting it into the test ZIP file.
An inability to connect to a database. “I had set up my Mac Mini as a database server to contain the results from both machines but for some reason I couldn't connect to it. As it happens Derby out of the box comes with very strict security settings and will only allow connections to 'localhost'. Once this was fixed (simply adding -h to the derby start script) I could connect to the database,” Kim says.
No reports of failures. “In trying to debug the database connection woes I had created a database called ‘perf’ from the Derby command line. As it happens, the eclipse tests will always append ‘/perfDB’ to any connection URL you give it. As a result when I was passing ‘net:///perf’ as a connection string to the tests it was trying to connect to ‘net:///perf/perfDB’. The connection would succeed but there is no such database. What's more, one can't be created in that location because its parent was already a database. Either Derby was silently ignoring the problem and returning success for all writes to this location or the Eclipse tests were eating failures and not reporting them,” she says.
Kim, however, got the results after deleting the initial database and running the tests again.