@Test public void lotOfProcesses() throws Exception { System.err.println("Starting test lotOfProcesses()"); for (int times = 0; times < 20; times++) { System.err.printf(" Iteration %d\n", times + 1); Semaphore[] semaphores = new Semaphore[100]; LottaProcessListener[] listeners = new LottaProcessListener[100]; for (int i = 0; i < semaphores.length; i++) { semaphores[i] = new Semaphore(0); listeners[i] = new LottaProcessListener(semaphores[i]); NuProcessBuilder pb = new NuProcessBuilder(listeners[i], command); pb.start(); // System.err.printf(" starting process: %d\n", i + 1); } for (Semaphore sem : semaphores) { sem.acquire(); } for (LottaProcessListener listen : listeners) { Assert.assertTrue("Adler32 mismatch between written and read", listen.checkAdlers()); Assert.assertEquals("Exit code mismatch", 0, listen.getExitCode()); } } System.err.println("Completed test lotOfProcesses()"); }
@Test public void lotOfData() throws Exception { System.err.println("Starting test lotOfData()"); for (int i = 0; i < 100; i++) { Semaphore semaphore = new Semaphore(0); LottaProcessListener processListener = new LottaProcessListener(semaphore); NuProcessBuilder pb = new NuProcessBuilder(processListener, command); pb.start(); semaphore.acquireUninterruptibly(); Assert.assertTrue("Adler32 mismatch between written and read", processListener.checkAdlers()); } System.err.println("Completed test lotOfData()"); }