antoine 2003/07/28 07:36:44 Modified: src/testcases/org/apache/tools/ant/taskdefs ExecTaskTest.java Log: test really works now, thats better. Revision Changes Path 1.2 +28 -11 ant/src/testcases/org/apache/tools/ant/taskdefs/ExecTaskTest.java Index: ExecTaskTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/ExecTaskTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ExecTaskTest.java 28 Jul 2003 13:30:13 -0000 1.1 +++ ExecTaskTest.java 28 Jul 2003 14:36:44 -0000 1.2 @@ -70,9 +70,12 @@ private static final String BUILD_PATH = "src/etc/testcases/taskdefs/exec/"; private static final String BUILD_FILE = BUILD_PATH + "exec.xml"; private final int TIME_TO_WAIT = 4; + /** maximum time allowed for the build in milliseconds */ + private final int MAX_BUILD_TIME = 4000; private final int SECURITY_MARGIN = 100; // wait 100 millis extras private File logFile; private MonitoredBuild myBuild = null; + volatile private boolean buildFinished = false; public ExecTaskTest(String name) { super(name); } @@ -102,6 +105,30 @@ myBuild.setLogFile(logFile.getAbsolutePath()); myBuild.addBuildListener(new MonitoredBuildListener()); myBuild.start(); + GregorianCalendar startwait = new GregorianCalendar(); + while (!buildFinished) { + try { + Thread.sleep(10); + } catch (InterruptedException e) { + System.out.println("my sleep was interrupted"); + } + GregorianCalendar now = new GregorianCalendar(); + // security + if (now.getTimeInMillis() - startwait.getTimeInMillis() > MAX_BUILD_TIME) { + break; + } + } + try { + Thread.sleep((TIME_TO_WAIT) * 1000 + SECURITY_MARGIN); + } catch (InterruptedException e) { + System.out.println("my sleep was interrupted"); + } + // time of the build in milli seconds + long elapsed = myBuild.getTimeElapsed(); + assertTrue("we waited more than the process lasted", TIME_TO_WAIT * 1000 > elapsed); + logFile = new File(logFile.getAbsolutePath()); + System.out.println("log file exists "+ logFile.exists()); + assertTrue("log file found after spawn", logFile.exists()); } private static class MonitoredBuild implements Runnable { @@ -172,17 +199,7 @@ } public void buildFinished(BuildEvent event) { - try { - Thread.sleep((TIME_TO_WAIT) * 1000 + SECURITY_MARGIN); - } catch (InterruptedException e) { - System.out.println("my sleep was interrupted"); - } - // time of the build in milli seconds - long elapsed = myBuild.getTimeElapsed(); - assertTrue("we waited more than the process lasted", TIME_TO_WAIT * 1000 > elapsed); - logFile = new File(logFile.getAbsolutePath()); - System.out.println("log file exists "+ logFile.exists()); - assertTrue("log file found after spawn", logFile.exists()); + buildFinished = true; } public void targetStarted(BuildEvent event) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]