Search in sources :

Example 1 with StartPhaseOperation

use of com.hazelcast.simulator.worker.operations.StartPhaseOperation in project hazelcast-simulator by hazelcast.

the class TestCaseRunner method startRun.

/**
 * Starts running the test. This call is asynchronous. It will not wait for the running to complete. It will
 * return a map of futures (one for each target worker) that can be used to sync on completion.
 */
private Map<WorkerData, Future> startRun() {
    log(format("Starting run on %s workers", targetType.toString(targetCount)));
    log(format("Test run using workers %s", WorkerData.toAddressString(targets)));
    recordTimestamp("start");
    return submitToTargets(false, new StartPhaseOperation(RUN, testCase.getId()));
}
Also used : StartPhaseOperation(com.hazelcast.simulator.worker.operations.StartPhaseOperation)

Example 2 with StartPhaseOperation

use of com.hazelcast.simulator.worker.operations.StartPhaseOperation in project hazelcast-simulator by hazelcast.

the class TestManagerTest method test_startRun.

@Test
public void test_startRun() throws Exception {
    TestCase testCase = new TestCase("foo").setProperty("threadCount", 1).setProperty("class", StoppingTest.class);
    manager.createTest(new CreateTestOperation(testCase));
    StubPromise promise = new StubPromise();
    manager.startTestPhase(new StartPhaseOperation(RUN, "foo"), promise);
    promise.assertCompletesEventually();
}
Also used : CreateTestOperation(com.hazelcast.simulator.worker.operations.CreateTestOperation) TestCase(com.hazelcast.simulator.common.TestCase) StubPromise(com.hazelcast.simulator.protocol.StubPromise) StartPhaseOperation(com.hazelcast.simulator.worker.operations.StartPhaseOperation) SuccessTest(com.hazelcast.simulator.tests.SuccessTest) FailingTest(com.hazelcast.simulator.tests.FailingTest) Test(org.junit.Test) StoppingTest(com.hazelcast.simulator.tests.StoppingTest)

Example 3 with StartPhaseOperation

use of com.hazelcast.simulator.worker.operations.StartPhaseOperation in project hazelcast-simulator by hazelcast.

the class TestManagerTest method test_whenProblemDuringPhase.

@Test
public void test_whenProblemDuringPhase() throws Exception {
    TestCase testCase = new TestCase("foo").setProperty("threadCount", 1).setProperty("class", FailingTest.class);
    manager.createTest(new CreateTestOperation(testCase));
    StubPromise setupPromise = new StubPromise();
    manager.startTestPhase(new StartPhaseOperation(SETUP, "foo"), setupPromise);
    setupPromise.assertCompletesEventually();
    StubPromise runPromise = new StubPromise();
    manager.startTestPhase(new StartPhaseOperation(RUN, "foo"), runPromise);
    runPromise.assertCompletesEventually();
    System.out.println(runPromise.getAnswer());
    assertTrue(runPromise.getAnswer() instanceof Exception);
}
Also used : CreateTestOperation(com.hazelcast.simulator.worker.operations.CreateTestOperation) TestCase(com.hazelcast.simulator.common.TestCase) StubPromise(com.hazelcast.simulator.protocol.StubPromise) StartPhaseOperation(com.hazelcast.simulator.worker.operations.StartPhaseOperation) SuccessTest(com.hazelcast.simulator.tests.SuccessTest) FailingTest(com.hazelcast.simulator.tests.FailingTest) Test(org.junit.Test) StoppingTest(com.hazelcast.simulator.tests.StoppingTest)

Example 4 with StartPhaseOperation

use of com.hazelcast.simulator.worker.operations.StartPhaseOperation in project hazelcast-simulator by hazelcast.

the class TestManagerTest method test_whenLastPhaseCompletes_thenTestRemoved.

@Test
public void test_whenLastPhaseCompletes_thenTestRemoved() throws Exception {
    final TestCase testCase = new TestCase("foo").setProperty("threadCount", 1).setProperty("class", TestWithSlowSetup.class);
    manager.createTest(new CreateTestOperation(testCase));
    // then we call start; this call will not block
    StubPromise promise = new StubPromise();
    manager.startTestPhase(new StartPhaseOperation(TestPhase.LOCAL_TEARDOWN, "foo"), promise);
    // but eventually the promise will complete.
    promise.assertCompletesEventually();
    assertTrueEventually(new AssertTask() {

        @Override
        public void run() throws Exception {
            assertEquals(0, manager.getContainers().size());
        }
    });
}
Also used : CreateTestOperation(com.hazelcast.simulator.worker.operations.CreateTestOperation) TestCase(com.hazelcast.simulator.common.TestCase) AssertTask(com.hazelcast.simulator.utils.AssertTask) StubPromise(com.hazelcast.simulator.protocol.StubPromise) StartPhaseOperation(com.hazelcast.simulator.worker.operations.StartPhaseOperation) SuccessTest(com.hazelcast.simulator.tests.SuccessTest) FailingTest(com.hazelcast.simulator.tests.FailingTest) Test(org.junit.Test) StoppingTest(com.hazelcast.simulator.tests.StoppingTest)

Example 5 with StartPhaseOperation

use of com.hazelcast.simulator.worker.operations.StartPhaseOperation in project hazelcast-simulator by hazelcast.

the class TestManagerTest method test_stopRun.

@Test
public void test_stopRun() throws Exception {
    TestCase testCase = new TestCase("foo").setProperty("threadCount", 1).setProperty("class", SuccessTest.class);
    manager.createTest(new CreateTestOperation(testCase));
    final TestContainer container = manager.getContainers().iterator().next();
    // we need to call setup so the test is initialized correctly
    StubPromise setupPromise = new StubPromise();
    manager.startTestPhase(new StartPhaseOperation(SETUP, "foo"), setupPromise);
    setupPromise.assertCompletesEventually();
    // then we call start; this call will not block
    StubPromise runPromise = new StubPromise();
    manager.startTestPhase(new StartPhaseOperation(RUN, "foo"), runPromise);
    awaitRunning(container);
    // then we eventually call stop
    manager.stopRun(new StopRunOperation("foo"));
    // and now the test should complete.
    runPromise.assertCompletesEventually();
}
Also used : CreateTestOperation(com.hazelcast.simulator.worker.operations.CreateTestOperation) StopRunOperation(com.hazelcast.simulator.worker.operations.StopRunOperation) TestCase(com.hazelcast.simulator.common.TestCase) StubPromise(com.hazelcast.simulator.protocol.StubPromise) StartPhaseOperation(com.hazelcast.simulator.worker.operations.StartPhaseOperation) SuccessTest(com.hazelcast.simulator.tests.SuccessTest) FailingTest(com.hazelcast.simulator.tests.FailingTest) Test(org.junit.Test) StoppingTest(com.hazelcast.simulator.tests.StoppingTest)

Aggregations

StartPhaseOperation (com.hazelcast.simulator.worker.operations.StartPhaseOperation)9 Test (org.junit.Test)7 TestCase (com.hazelcast.simulator.common.TestCase)6 StubPromise (com.hazelcast.simulator.protocol.StubPromise)6 FailingTest (com.hazelcast.simulator.tests.FailingTest)6 StoppingTest (com.hazelcast.simulator.tests.StoppingTest)6 SuccessTest (com.hazelcast.simulator.tests.SuccessTest)6 CreateTestOperation (com.hazelcast.simulator.worker.operations.CreateTestOperation)6 WorkerData (com.hazelcast.simulator.coordinator.registry.WorkerData)1 Promise (com.hazelcast.simulator.protocol.Promise)1 AssertTask (com.hazelcast.simulator.utils.AssertTask)1 StopRunOperation (com.hazelcast.simulator.worker.operations.StopRunOperation)1 Future (java.util.concurrent.Future)1