Package org.codehaus.xharness.testutil

Examples of org.codehaus.xharness.testutil.ProcessTester


    }
   
    public void testExecute() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        XhJavaBgTask task = new XhJavaBgTask();
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
        task.setProcessName(PROC_NAME);
       
        try {
            ProcessRegistry.getProcess(PROC_NAME);
            fail("Expected BuildException");
        } catch (BuildException be) {
            assertEquals("Wrong message",
                         "Process " + PROC_NAME + " not registered.",
                         be.getMessage());
        }
        task.execute();
        assertEquals("Process not registered", task, ProcessRegistry.getProcess(PROC_NAME));
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        server.getSocket().close();
        // wait 500ms for process to terminate
        Thread.sleep(500);
        assertTrue("Process is still running", !task.isRunning());
        try {
            ProcessRegistry.getProcess(PROC_NAME);
View Full Code Here


    }
   
    public void testKill() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        XhJavaBgTask task = new XhJavaBgTask();
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
        task.setProcessName(PROC_NAME);
       
        try {
            ProcessRegistry.getProcess(PROC_NAME);
            fail("Expected BuildException");
        } catch (BuildException be) {
            assertEquals("Wrong message",
                         "Process " + PROC_NAME + " not registered.",
                         be.getMessage());
        }
        task.execute();
        assertEquals("Process not registered", task, ProcessRegistry.getProcess(PROC_NAME));
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        task.kill();
        assertTrue("Process is still running", !task.isRunning());
        try {
            ProcessRegistry.getProcess(PROC_NAME);
            fail("Expected BuildException");
View Full Code Here

    }

    public void testKillNotRunning() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        XhJavaBgTask task = new XhJavaBgTask();
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
       
        task.execute();
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        server.getSocket().close();
        // wait 500 for process to terminate
        Thread.sleep(500);
        task.kill();
        assertTrue("Process is still running", !task.isRunning());
    }
View Full Code Here

    }

    public void testPrekillTimeout() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        XhJavaBgTask task = new XhJavaBgTask();
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
        task.setPrekilltimeout(1);
       
        task.execute();
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        try {
            task.kill();
            fail("Expected BuildExcecption");
        } catch (BuildException be) {
            assertEquals("Wrong message", "Timeout: killed the sub-process", be.getMessage());
View Full Code Here

    }

    public void testNegativePrekillTimeout() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        XhJavaBgTask task = new XhJavaBgTask();
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
        task.setPrekilltimeout(-1);
       
        task.execute();
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        task.kill();
        assertTrue("Process is still running", !task.isRunning());
    }
View Full Code Here

    }
   
    public void testKillTimeout() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        MockControl wdCtrl = MockClassControl.createControl(KillableExecuteWatchdog.class);
        KillableExecuteWatchdog wd = (KillableExecuteWatchdog)wdCtrl.getMock();
        wd.killProcess(true);

        XhJavaBgTask task = new TestXhJavaBgTask(wd);
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
        task.setKilltimeout(1);
       
        wdCtrl.replay();
        task.execute();
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        try {
            task.kill();
            fail("Expected BuildException");
        } catch (BuildException be) {
            assertEquals("Wrong message", "Unable to kill process!", be.getMessage());
        }
        assertTrue("Process is not running", task.isRunning());
        server.getSocket().close();
        // wait 500ms for process to terminate
        Thread.sleep(500);
        assertTrue("Process is still running", !task.isRunning());
        wdCtrl.verify();
    }
View Full Code Here

    }
   
    public void testAfterwards() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        MockControl ctrl = MockClassControl.createControl(Sequential.class);
        Sequential afterwards = (Sequential)ctrl.getMock();
        afterwards.execute();

        XhJavaBgTask task = new XhJavaBgTask();
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
        task.addAfterwards(afterwards);
       
        ctrl.replay();
        task.execute();
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        task.kill();
        assertTrue("Process is still running", !task.isRunning());
        ctrl.verify();
    }
View Full Code Here

    }
   
    public void testAfterwardsFails() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        MockControl ctrl = MockClassControl.createControl(Sequential.class);
        Sequential afterwards = (Sequential)ctrl.getMock();
        afterwards.execute();
        ctrl.setThrowable(new BuildException());

        XhJavaBgTask task = new XhJavaBgTask();
        task.setProject(project);
        task.setClassname(ProcessTester.class.getName());
        task.setClasspath(new Path(project, getClassPath()));
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
        task.createArg().setLine("-t 60");
        task.addAfterwards(afterwards);
       
        ctrl.replay();
        task.execute();
        assertTrue("Process is not running", task.isRunning());
        assertTrue("Process is not running", server.passed());
        assertEqualsIgnoreCase("Wrong user dir",
                               System.getProperty("user.dir"),
                               server.getReceivedData());
        try {
            task.kill();
            fail("Expected BuildException");
        } catch (BuildException be) {
            assertEquals("Wrong message", "Nested task failed.", be.getMessage());
View Full Code Here

    }
   
    public void testExecuteAbsolute() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        XhExecTask task = new XhExecTask();
        task.setProject(project);
        task.setExecutable(JVM);
        task.createArg().setValue("-cp");
        task.createArg().setPath(new Path(project, getClassPath()));
        task.createArg().setLine(ProcessTester.class.getName());
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
       
        task.execute();
        assertEquals("Wrong return value", 0, task.getReturnValue());
        assertTrue("Client did not run", server.passed());
        assertEquals("Wrong user dir", System.getProperty("user.dir"), server.getReceivedData());
    }
View Full Code Here

    }
   
    public void testExecuteRelative() throws Exception {
        Project project = new Project();
       
        ProcessTester server = new ProcessTester();
       
        XhExecTask task = new XhExecTask();
        task.setProject(project);
        task.setExecutable(JVM_CMD);
        task.createArg().setValue("-cp");
        task.createArg().setPath(new Path(project, getClassPath()));
        task.createArg().setLine(ProcessTester.class.getName());
        task.createArg().setLine("-p " + server.getPort());
        task.createArg().setLine("-s user.dir");
       
        task.execute();
        assertEquals("Wrong return value", 0, task.getReturnValue());
        assertTrue("Client did not run", server.passed());
        assertEquals("Wrong user dir", System.getProperty("user.dir"), server.getReceivedData());
    }
View Full Code Here

TOP

Related Classes of org.codehaus.xharness.testutil.ProcessTester

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.