IdTestSchedulerOfThreadPool.pas 898 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. unit IdTestSchedulerOfThreadPool;
  2. interface
  3. uses
  4. IdTest,
  5. IdSchedulerOfThreadPool,
  6. IdSys,
  7. IdCmdTCPServer;
  8. type
  9. TIdTestSchedulerOfThreadPool = class(TIdTest)
  10. published
  11. procedure TestFree;
  12. end;
  13. implementation
  14. procedure TIdTestSchedulerOfThreadPool.TestFree;
  15. //tests that a simple start/stop doesn't cause errors
  16. var
  17. //better to use a simple tcpserver?
  18. aServer:TIdCmdTCPServer;
  19. aSchedule:TIdSchedulerOfThreadPool;
  20. begin
  21. aServer:=TIdCmdTCPServer.Create(nil);
  22. aSchedule:=TIdSchedulerOfThreadPool.Create(nil);
  23. try
  24. aSchedule.PoolSize:=2;
  25. aServer.Scheduler:=aSchedule;
  26. //should set a port?
  27. aServer.Active:=True;
  28. //let things stabilize
  29. //Sleep(200);
  30. aServer.Active:=False;
  31. finally
  32. Sys.FreeAndNil(aServer);
  33. Sys.FreeAndNil(aSchedule);
  34. end;
  35. end;
  36. initialization
  37. TIdTest.RegisterTest(TIdTestSchedulerOfThreadPool);
  38. end.