@@ -545,24 +545,25 @@ TEST(server, task_worker) {
545
545
exit (2 );
546
546
}
547
547
548
- serv.onTask = [](Server *serv, swEventData *task) -> int {
549
- EXPECT_EQ (serv->get_task_count (), 1 );
548
+ serv.onTask = [](Server *serv, EventData *task) -> int {
549
+ EXPECT_EQ (serv->get_tasking_num (), 1 );
550
550
EXPECT_EQ (string (task->data , task->info .len ), string (packet));
551
551
serv->gs ->task_workers .running = 0 ;
552
+ serv->gs ->task_count ++;
553
+ serv->gs ->tasking_num --;
552
554
return 0 ;
553
555
};
554
556
555
557
ASSERT_EQ (serv.create (), SW_OK);
556
558
ASSERT_EQ (serv.create_task_workers (), SW_OK);
557
559
558
560
thread t1 ([&serv]() {
561
+ SwooleWG.run_always = true ;
559
562
serv.gs ->task_workers .running = 1 ;
560
- serv.gs ->tasking_num ++;
561
563
serv.gs ->task_workers .main_loop (&serv.gs ->task_workers , &serv.gs ->task_workers .workers [0 ]);
564
+ EXPECT_EQ (serv.get_tasking_num (), 0 );
562
565
serv.gs ->tasking_num --;
563
- EXPECT_EQ (serv.get_task_count (), 0 );
564
- serv.gs ->tasking_num --;
565
- EXPECT_EQ (serv.get_task_count (), 0 );
566
+ EXPECT_EQ (serv.get_tasking_num (), 0 );
566
567
EXPECT_EQ (serv.get_idle_task_worker_num (), serv.task_worker_num );
567
568
});
568
569
@@ -577,10 +578,13 @@ TEST(server, task_worker) {
577
578
578
579
int _dst_worker_id = 0 ;
579
580
580
- ASSERT_GE (serv.gs ->task_workers .dispatch (&buf, &_dst_worker_id), 0 );
581
+ ASSERT_TRUE (serv.task (&buf, &_dst_worker_id));
582
+ ASSERT_EQ (serv.gs ->task_count , 1 );
581
583
582
584
t1.join ();
583
585
serv.gs ->task_workers .destroy ();
586
+
587
+ ASSERT_EQ (serv.gs ->task_count , 2 );
584
588
}
585
589
586
590
// PHP_METHOD(swoole_server, task)
@@ -600,8 +604,7 @@ TEST(server, task_worker2) {
600
604
601
605
serv.onTask = [](Server *serv, swEventData *task) -> int {
602
606
EXPECT_EQ (string (task->data , task->info .len ), string (packet));
603
- int ret = serv->reply_task_result (task->data , task->info .len , 0 , task);
604
- EXPECT_GT (ret, 0 );
607
+ EXPECT_TRUE (serv->finish (task->data , task->info .len , 0 , task));
605
608
return 0 ;
606
609
};
607
610
@@ -623,7 +626,7 @@ TEST(server, task_worker2) {
623
626
memcpy (buf.data , packet, strlen (packet));
624
627
buf.info .reactor_id = worker->id ;
625
628
buf.info .ext_flags |= (SW_TASK_NONBLOCK | SW_TASK_CALLBACK);
626
- ASSERT_GE (serv->gs ->task_workers .dispatch (&buf, &_dst_worker_id), 0 );
629
+ ASSERT_EQ (serv->gs ->task_workers .dispatch (&buf, &_dst_worker_id), SW_OK );
627
630
sleep (1 );
628
631
kill (serv->gs ->master_pid , SIGTERM);
629
632
}
@@ -649,8 +652,7 @@ TEST(server, task_worker3) {
649
652
650
653
serv.onTask = [](Server *serv, swEventData *task) -> int {
651
654
EXPECT_EQ (string (task->data , task->info .len ), string (packet));
652
- int ret = serv->reply_task_result (task->data , task->info .len , 0 , task);
653
- EXPECT_GT (ret, 0 );
655
+ EXPECT_TRUE (serv->finish (task->data , task->info .len , 0 , task));
654
656
return 0 ;
655
657
};
656
658
@@ -698,8 +700,7 @@ TEST(server, task_worker4) {
698
700
699
701
serv.onTask = [](Server *serv, swEventData *task) -> int {
700
702
EXPECT_EQ (string (task->data , task->info .len ), string (packet));
701
- int ret = serv->reply_task_result (task->data , task->info .len , 0 , task);
702
- EXPECT_GT (ret, 0 );
703
+ EXPECT_TRUE (serv->finish (task->data , task->info .len , 0 , task));
703
704
return 0 ;
704
705
};
705
706
@@ -724,7 +725,7 @@ TEST(server, task_worker4) {
724
725
serv->gs ->task_workers .dispatch (&buf, &_dst_worker_id);
725
726
sleep (1 );
726
727
727
- EventData *task_result = &( serv->task_result [ swoole_get_process_id ()] );
728
+ EventData *task_result = serv->get_task_result ( );
728
729
sw_memset_zero (task_result, sizeof (*task_result));
729
730
memset (&buf.info , 0 , sizeof (buf.info ));
730
731
buf.info .len = strlen (packet);
@@ -767,8 +768,7 @@ TEST(server, task_worker5) {
767
768
ifs.close ();
768
769
769
770
EXPECT_EQ (string (resp), string (data));
770
- int ret = serv->reply_task_result (resp, SW_IPC_MAX_SIZE * 2 , 0 , task);
771
- EXPECT_GT (ret, 0 );
771
+ EXPECT_TRUE (serv->finish (resp, SW_IPC_MAX_SIZE * 2 , 0 , task));
772
772
return 0 ;
773
773
};
774
774
@@ -779,7 +779,7 @@ TEST(server, task_worker5) {
779
779
if (worker->id == 1 ) {
780
780
int _dst_worker_id = 0 ;
781
781
782
- EventData *task_result = &(serv->task_result [worker->id ]);
782
+ EventData *task_result = &(serv->task_results [worker->id ]);
783
783
sw_memset_zero (task_result, sizeof (*task_result));
784
784
785
785
File fp = make_tmpfile ();
0 commit comments