In this implementation: Manager.host.requestFindProc(true, new ProcId (pid), new Host.FindProc() if pid is pointing to a non-existant process (ie 0) the requestFindProc fails with: java.lang.NullPointerException at frysk.proc.LinuxHost.sendRefresh(TestRunner) at frysk.proc.HostState$1.handleRefresh(TestRunner) at frysk.proc.Host$2.execute(TestRunner) at frysk.event.EventLoop.runEventLoop(TestRunner) at frysk.event.EventLoop.runPolling(TestRunner) at frysk.proc.TestLib.assertRunUntilStop(TestRunner) at frysk.proc.TestLib.assertRunUntilStop(TestRunner) at frysk.proc.TestFindProc.testFindFailed(TestRunner) at frysk.junit.Runner.runCases(TestRunner) at frysk.junit.Runner.runArchCases(TestRunner) at frysk.junit.Runner.runTestCases(TestRunner) at TestRunner.main(TestRunner) However if the refreshAll flag is set to false, it passes. In all cases, however, it should always call the callback: public void procNotFound (ProcId procId, Exception e) as defined in the interface contract
Is the threads? parameter even necessary? Instead, always add threads?
2006-11-27 frysk-core/frysk/proc/CL * TestFindProc.java (testFindAndRefreshFailed): Added, checks for bug 3600. * LinuxHost.java (sendRefresh): Changed to throw procNotFound earlier. Fixes bug 3600. * TestLib (findProcUsingRefresh.procNotFound): Changed to throw a fail.
See comment 2