Author: chatellier Date: 2009-10-21 11:58:23 +0000 (Wed, 21 Oct 2009) New Revision: 2681 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java Log: Ajout de la redirection de la sortie d'Isis vers un fichier avant que cela n'arrive sur qsub Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-10-21 09:54:29 UTC (rev 2680) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-10-21 11:58:23 UTC (rev 2681) @@ -950,6 +950,7 @@ // context values Map<String, Object> root = new HashMap<String, Object>(); root.put("isishome", IsisFish.config.getSimulatorSshIsisHome()); + root.put("isistemp", getRemoteTempDirectory()); root.put("simulationid", simuationId); root.put("simulationzip", simulationZip); root.put("simulationresultzip", simulationZipResult); @@ -1035,6 +1036,8 @@ /** * Get remote directory absolute path. * + * Don't use File.separator here, caparmor is always unix. + * * @return remote temp directory path */ protected String getRemoteTempDirectory() { Modified: isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq =================================================================== --- isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq 2009-10-21 09:54:29 UTC (rev 2680) +++ isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq 2009-10-21 11:58:23 UTC (rev 2681) @@ -3,7 +3,7 @@ cd "${isishome}" <#if simulationprescript?length > 0> -java -jar isis-fish*.jar --option launch.ui false --simulateRemotellyWithPreScript "${simulationid}" "${simulationzip}" "${simulationresultzip}" "${simulationprescript}" +java -jar isis-fish*.jar --option launch.ui false --simulateRemotellyWithPreScript "${simulationid}" "${simulationzip}" "${simulationresultzip}" "${simulationprescript}" >& "${isistemp}output-${simulationid}" <#else> -java -jar isis-fish*.jar --option launch.ui false --simulateRemotelly "${simulationid}" "${simulationzip}" "${simulationresultzip}" -</#if> \ No newline at end of file +java -jar isis-fish*.jar --option launch.ui false --simulateRemotelly "${simulationid}" "${simulationzip}" "${simulationresultzip}" >& "${isistemp}output-${simulationid}" +</#if> Modified: isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq =================================================================== --- isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq 2009-10-21 09:54:29 UTC (rev 2680) +++ isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq 2009-10-21 11:58:23 UTC (rev 2681) @@ -6,7 +6,7 @@ module load java/1.6.0 <#if simulationprescript?length > 0> -/home3/caparmor/poussin/jdk1.6.0_13/bin/java -Xmx2500M -jar isis-fish*.jar --option launch.ui false --simulateRemotellyWithPreScript "${simulationid}" "${simulationzip}" "${simulationresultzip}" "${simulationprescript}" +/home3/caparmor/poussin/jdk1.6.0_13/bin/java -Xmx2500M -jar isis-fish*.jar --option launch.ui false --simulateRemotellyWithPreScript "${simulationid}" "${simulationzip}" "${simulationresultzip}" "${simulationprescript}" >& "${isistemp}output-${simulationid}" <#else> -/home3/caparmor/poussin/jdk1.6.0_13/bin/java -jar isis-fish*.jar --option launch.ui false --simulateRemotelly "${simulationid}" "${simulationzip}" "${simulationresultzip}" -</#if> \ No newline at end of file +/home3/caparmor/poussin/jdk1.6.0_13/bin/java -jar isis-fish*.jar --option launch.ui false --simulateRemotelly "${simulationid}" "${simulationzip}" "${simulationresultzip}" >& "${isistemp}output-${simulationid}" +</#if> Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java 2009-10-21 09:54:29 UTC (rev 2680) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java 2009-10-21 11:58:23 UTC (rev 2681) @@ -64,15 +64,19 @@ final String SIMULATIONRESULTZIP = "/tmp/test-result.zip"; final String SIMULATIONPRESCRIPT = "prescript-1234567890.txt"; final String ISISHOME = IsisFish.config.getSimulatorSshIsisHome(); + final String ISISTMP = IsisFish.config.getSimulatorSshTmpPath(); SSHSimulatorLauncher launcher = new SSHSimulatorLauncher(); String content = launcher.getSimulationScriptLaunchContent( SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, SIMULATIONID, SIMULATIONZIP, SIMULATIONRESULTZIP, SIMULATIONPRESCRIPT); + if (log.isDebugEnabled()) { + log.debug("Script content = " + content); + } + // simulation parameters - Assert - .assertTrue("String \"" + SIMULATIONID + Assert.assertTrue("String \"" + SIMULATIONID + "\" not found in template", content .indexOf(SIMULATIONID) > 0); Assert.assertTrue("String \"" + SIMULATIONZIP @@ -91,6 +95,10 @@ // isis location Assert.assertTrue("String \"" + ISISHOME + "\" not found in template", content.indexOf(ISISHOME) > 0); + + // isis temp + Assert.assertTrue("String \"" + ISISTMP + "\" not found in template", + content.indexOf(ISISTMP) > 0); } /** @@ -113,15 +121,19 @@ final String SIMULATIONRESULTZIP = "/tmp/test-result.zip"; final String SIMULATIONPRESCRIPT = null; final String ISISHOME = IsisFish.config.getSimulatorSshIsisHome(); + final String ISISTMP = IsisFish.config.getSimulatorSshTmpPath(); SSHSimulatorLauncher launcher = new SSHSimulatorLauncher(); String content = launcher.getSimulationScriptLaunchContent( SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, SIMULATIONID, SIMULATIONZIP, SIMULATIONRESULTZIP, SIMULATIONPRESCRIPT); + if (log.isDebugEnabled()) { + log.debug("Script content = " + content); + } + // simulation parameters - Assert - .assertTrue("String \"" + SIMULATIONID + Assert.assertTrue("String \"" + SIMULATIONID + "\" not found in template", content .indexOf(SIMULATIONID) > 0); Assert.assertTrue("String \"" + SIMULATIONZIP @@ -136,9 +148,25 @@ // isis location Assert.assertTrue("String \"" + ISISHOME + "\" not found in template", content.indexOf(ISISHOME) > 0); + + // isis temp + Assert.assertTrue("String \"" + ISISTMP + "\" not found in template", + content.indexOf(ISISTMP) > 0); } /** + * Test get le chemin distant commence et fini toujours par / + */ + @Test + public void testGetRemoteTempDirectory() { + SSHSimulatorLauncher launcher = new SSHSimulatorLauncher(); + + String remoteTemp = launcher.getRemoteTempDirectory(); + Assert.assertTrue(remoteTemp.startsWith("/")); + Assert.assertTrue(remoteTemp.endsWith("/")); + } + + /** * Pour tester, un autre script est present, mais * celui ci ne doit jamais être utilisé hors des tests. *