[
https://issues.apache.org/jira/browse/DERBY-5490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-5490:
---------------------------------
Attachment: derby-5490-01-aa-fixForMac.diff
Attaching derby-5490-01-aa-fixForMac.diff. With this patch SecureServerTest
runs cleanly for me on my Mac on JDKs 6 and 7. Committed at subversion revision
1197563.
The problem is that the pathname of my JDK 7 executable contains spaces.
Because of the way that the server process is spawned, those spaces are
interpreted as argument separators. I fixed this by replacing the java
executable name with just "java" if the executable name contains spaces and you
are running on Mac OS X. If people are experiencing this problem on other
platforms, we could consider removing the Mac OS X check. I am reluctant to
attempt a more general solution for fear that this may break something that
doesn't need fixing in other developers' environments.
I will leave this issue open until the next time I run full regression tests on
JDK 7.
Touches the following file:
M java/testing/org/apache/derbyTesting/junit/BaseTestCase.java
> Lots of error trying to spawn a JVM in the SecureServerTest and Replication
> tests when running on the preview JDK 7 on Mac OS X
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-5490
> URL: https://issues.apache.org/jira/browse/DERBY-5490
> Project: Derby
> Issue Type: Bug
> Components: Test
> Environment: OpenJDK Runtime Environment (build 1.7.0-ea-b213) on Mac
> OS X 10.7
> Reporter: Rick Hillegas
> Attachments: derby-5490-01-aa-fixForMac.diff
>
>
> I see lots of errors when the tests try to spawn a JVM while running on the
> OpenJDK 7 preview for Mac OS X.
> SecureServerTest runs cleanly when I use JDK 6. But I see lots of these
> errors when I use JDK 7:
> .java.io.IOException: Cannot run program
> "/Library/Java/JavaVirtualMachines/JDK": error=2, No such file or directory
> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
> at java.lang.Runtime.exec(Runtime.java:615)
> at java.lang.Runtime.exec(Runtime.java:448)
> at java.lang.Runtime.exec(Runtime.java:345)
> at
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest$1.run(SecureServerTest.java:487)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest.runServerCommand(SecureServerTest.java:479)
> at
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest.runsysinfo(SecureServerTest.java:415)
> at
> org.apache.derbyTesting.functionTests.tests.derbynet.SecureServerTest.testServerStartup(SecureServerTest.java:356)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at junit.framework.TestCase.runTest(TestCase.java:164)
> at junit.framework.TestCase.runBare(TestCase.java:130)
> at
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:116)
> 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:120)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.extensions.TestSetup.run(TestSetup.java:25)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at junit.textui.TestRunner.doRun(TestRunner.java:121)
> at junit.textui.TestRunner.start(TestRunner.java:185)
> at junit.textui.TestRunner.main(TestRunner.java:143)
> Caused by: java.io.IOException: error=2, No such file or directory
> at java.lang.UNIXProcess.forkAndExec(Native Method)
> at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
> at java.lang.ProcessImpl.start(ProcessImpl.java:130)
> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
> ... 41 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira