From 2160446ec78ebefe3925bad6be56f4f065672bb7 Mon Sep 17 00:00:00 2001
From: Simon Morlat <simon.morlat@linphone.org>
Date: Thu, 23 Nov 2023 11:25:15 +0100
Subject: [PATCH] Implement test suite cpu resource reservation - to optimize
 test suites execution.

---
 tester/liblinphone_tester.c                  |  2 +-
 tester/local_ice_conference_tester.cpp       |  4 +++-
 tester/local_inpromptu_conference_tester.cpp |  4 +++-
 tester/local_scheduled_conference_tester.cpp | 12 +++++++++---
 tester/video_quality_tester.c                |  3 ++-
 5 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/tester/liblinphone_tester.c b/tester/liblinphone_tester.c
index b6dd2063e3..7f0b13b8ea 100644
--- a/tester/liblinphone_tester.c
+++ b/tester/liblinphone_tester.c
@@ -627,7 +627,7 @@ void liblinphone_tester_init(void (*ftester_printf)(int level, const char *fmt,
 	bc_tester_set_logfile_func(logfile_arg_func);
 	bc_tester_init(ftester_printf, ORTP_MESSAGE, ORTP_ERROR, "rcfiles");
 	liblinphone_tester_add_suites();
-	bc_tester_set_max_parallel_suites(20); /* empiricaly defined as sustainable for our lab 12 threads machine.*/
+	bc_tester_set_max_parallel_suites(32); /* empiricaly defined as sustainable for our lab 12 threads machine.*/
 	bc_tester_set_global_timeout(20 * 60); /* 20 mn max */
 }
 
diff --git a/tester/local_ice_conference_tester.cpp b/tester/local_ice_conference_tester.cpp
index 36e6ea5cdb..5c38c8ccbf 100644
--- a/tester/local_ice_conference_tester.cpp
+++ b/tester/local_ice_conference_tester.cpp
@@ -522,4 +522,6 @@ test_suite_t local_conference_test_suite_scheduled_ice_conference = {
     sizeof(local_conference_scheduled_ice_conference_tests) /
         sizeof(local_conference_scheduled_ice_conference_tests[0]),
     local_conference_scheduled_ice_conference_tests,
-    0};
+    0,
+    4 /*cpu_weight : video conference uses more resources */
+};
diff --git a/tester/local_inpromptu_conference_tester.cpp b/tester/local_inpromptu_conference_tester.cpp
index ae3a061735..8b00e725bc 100644
--- a/tester/local_inpromptu_conference_tester.cpp
+++ b/tester/local_inpromptu_conference_tester.cpp
@@ -1897,7 +1897,9 @@ test_suite_t local_conference_test_suite_inpromptu_conference = {
     liblinphone_tester_after_each,
     sizeof(local_conference_inpromptu_conference_tests) / sizeof(local_conference_inpromptu_conference_tests[0]),
     local_conference_inpromptu_conference_tests,
-    0};
+    0,
+    4 /*cpu_weight : video conference uses more resources */
+};
 
 test_suite_t local_conference_test_suite_inpromptu_mismatch_conference = {
     "Local conference tester (Inpromptu Conference with mismatch)",
diff --git a/tester/local_scheduled_conference_tester.cpp b/tester/local_scheduled_conference_tester.cpp
index e45dbade0f..4c5b6c8820 100644
--- a/tester/local_scheduled_conference_tester.cpp
+++ b/tester/local_scheduled_conference_tester.cpp
@@ -2491,7 +2491,9 @@ test_suite_t local_conference_test_suite_scheduled_conference_basic = {
     sizeof(local_conference_scheduled_conference_basic_tests) /
         sizeof(local_conference_scheduled_conference_basic_tests[0]),
     local_conference_scheduled_conference_basic_tests,
-    0};
+    0,
+    4 /*cpu_weight : video conference uses more resources */
+};
 
 test_suite_t local_conference_test_suite_scheduled_conference_advanced = {
     "Local conference tester (Scheduled Conference Advanced)",
@@ -2502,7 +2504,9 @@ test_suite_t local_conference_test_suite_scheduled_conference_advanced = {
     sizeof(local_conference_scheduled_conference_advanced_tests) /
         sizeof(local_conference_scheduled_conference_advanced_tests[0]),
     local_conference_scheduled_conference_advanced_tests,
-    0};
+    0,
+    4 /*cpu_weight : video conference uses more resources */
+};
 
 test_suite_t local_conference_test_suite_scheduled_conference_audio_only_participant = {
     "Local conference tester (Audio only participants)",
@@ -2513,4 +2517,6 @@ test_suite_t local_conference_test_suite_scheduled_conference_audio_only_partici
     sizeof(local_conference_scheduled_conference_audio_only_participant_tests) /
         sizeof(local_conference_scheduled_conference_audio_only_participant_tests[0]),
     local_conference_scheduled_conference_audio_only_participant_tests,
-    0};
+    0,
+    4 /*cpu_weight : video conference uses more resources */
+};
diff --git a/tester/video_quality_tester.c b/tester/video_quality_tester.c
index 3aabc19d52..ca808baca2 100644
--- a/tester/video_quality_tester.c
+++ b/tester/video_quality_tester.c
@@ -975,6 +975,7 @@ test_suite_t call_video_quality_test_suite = {"Video Call quality",
                                               liblinphone_tester_after_each,
                                               sizeof(call_video_quality_tests) / sizeof(call_video_quality_tests[0]),
                                               call_video_quality_tests,
-                                              0};
+                                              0,
+                                              8 /* cpu weight - this suite is very cpu consuming */};
 
 #endif // ifdef VIDEO_ENABLED
-- 
GitLab