Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
12 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
10 лет назад
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package worker
  2. import (
  3. "sync"
  4. "testing"
  5. )
  6. var worker *Worker
  7. func init() {
  8. worker = New(Unlimited)
  9. }
  10. func TestWorkerErrNoneAgents(t *testing.T) {
  11. err := worker.Ready()
  12. if err != ErrNoneAgents {
  13. t.Error("ErrNoneAgents expected.")
  14. }
  15. }
  16. func TestWorkerAddServer(t *testing.T) {
  17. t.Log("Add local server 127.0.0.1:4730.")
  18. if err := worker.AddServer(Network, "127.0.0.1:4730"); err != nil {
  19. t.Error(err)
  20. }
  21. if l := len(worker.agents); l != 1 {
  22. t.Log(worker.agents)
  23. t.Error("The length of server list should be 1.")
  24. }
  25. }
  26. func TestWorkerErrNoneFuncs(t *testing.T) {
  27. err := worker.Ready()
  28. if err != ErrNoneFuncs {
  29. t.Error("ErrNoneFuncs expected.")
  30. }
  31. }
  32. func foobar(job Job) ([]byte, error) {
  33. return nil, nil
  34. }
  35. func TestWorkerAddFunction(t *testing.T) {
  36. if err := worker.AddFunc("foobar", foobar, 0); err != nil {
  37. t.Error(err)
  38. }
  39. if err := worker.AddFunc("timeout", foobar, 5); err != nil {
  40. t.Error(err)
  41. }
  42. if l := len(worker.funcs); l != 2 {
  43. t.Log(worker.funcs)
  44. t.Errorf("The length of function map should be %d.", 2)
  45. }
  46. }
  47. func TestWorkerRemoveFunc(t *testing.T) {
  48. if err := worker.RemoveFunc("foobar"); err != nil {
  49. t.Error(err)
  50. }
  51. }
  52. func TestWork(t *testing.T) {
  53. var wg sync.WaitGroup
  54. worker.JobHandler = func(job Job) error {
  55. t.Logf("%s", job.Data())
  56. wg.Done()
  57. return nil
  58. }
  59. if err := worker.Ready(); err != nil {
  60. t.Error(err)
  61. return
  62. }
  63. go worker.Work()
  64. wg.Add(1)
  65. worker.Echo([]byte("Hello"))
  66. wg.Wait()
  67. }
  68. func TestWorkerClose(t *testing.T) {
  69. worker.Close()
  70. }