mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Merge pull request #104793 from YYF233333/remove_astar_stress_test
Remove stress unit tests
This commit is contained in:
commit
4725a4bac9
6 changed files with 0 additions and 311 deletions
|
|
@ -442,48 +442,6 @@ TEST_CASE("[CommandQueue] Test Queue Lapping") {
|
|||
ProjectSettings::get_singleton()->property_get_revert(COMMAND_QUEUE_SETTING));
|
||||
}
|
||||
|
||||
TEST_CASE("[Stress][CommandQueue] Stress test command queue") {
|
||||
const char *COMMAND_QUEUE_SETTING = "memory/limits/command_queue/multithreading_queue_size_kb";
|
||||
ProjectSettings::get_singleton()->set_setting(COMMAND_QUEUE_SETTING, 1);
|
||||
SharedThreadState sts;
|
||||
sts.init_threads();
|
||||
|
||||
RandomNumberGenerator rng;
|
||||
|
||||
rng.set_seed(1837267);
|
||||
|
||||
int msgs_to_add = 2048;
|
||||
|
||||
for (int i = 0; i < msgs_to_add; i++) {
|
||||
// randi_range is inclusive, so allow any enum value except MAX.
|
||||
sts.add_msg_to_write((SharedThreadState::TestMsgType)rng.randi_range(0, SharedThreadState::TEST_MSG_MAX - 1));
|
||||
}
|
||||
sts.writer_threadwork.main_start_work();
|
||||
|
||||
int max_loop_iters = msgs_to_add * 2;
|
||||
int loop_iters = 0;
|
||||
while (sts.func1_count < msgs_to_add && loop_iters < max_loop_iters) {
|
||||
int remaining = (msgs_to_add - sts.func1_count);
|
||||
sts.message_count_to_read = rng.randi_range(1, remaining < 128 ? remaining : 128);
|
||||
if (loop_iters % 3 == 0) {
|
||||
sts.message_count_to_read = -1;
|
||||
}
|
||||
sts.reader_threadwork.main_start_work();
|
||||
sts.reader_threadwork.main_wait_for_done();
|
||||
loop_iters++;
|
||||
}
|
||||
CHECK_MESSAGE(loop_iters < max_loop_iters,
|
||||
"Reader needed too many iterations to read messages!");
|
||||
sts.writer_threadwork.main_wait_for_done();
|
||||
|
||||
sts.destroy_threads();
|
||||
|
||||
CHECK_MESSAGE(sts.func1_count == msgs_to_add,
|
||||
"Reader should have read no additional messages after join");
|
||||
ProjectSettings::get_singleton()->set_setting(COMMAND_QUEUE_SETTING,
|
||||
ProjectSettings::get_singleton()->property_get_revert(COMMAND_QUEUE_SETTING));
|
||||
}
|
||||
|
||||
TEST_CASE("[CommandQueue] Test Parameter Passing Semantics") {
|
||||
SharedThreadState sts;
|
||||
sts.init_threads();
|
||||
|
|
|
|||
|
|
@ -545,57 +545,4 @@ TEST_CASE("[List] Swap adjacent back and front (reverse order of elements)") {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void swap_random(List<int> &p_list, List<int>::Element *r_elements[], size_t p_size, size_t p_iterations) {
|
||||
Math::seed(0);
|
||||
|
||||
for (size_t test_i = 0; test_i < p_iterations; ++test_i) {
|
||||
// A and B elements have corresponding indices as values.
|
||||
const int a_idx = static_cast<int>(Math::rand() % p_size);
|
||||
const int b_idx = static_cast<int>(Math::rand() % p_size);
|
||||
List<int>::Element *a = p_list.find(a_idx); // via find.
|
||||
List<int>::Element *b = r_elements[b_idx]; // via pointer.
|
||||
|
||||
int va = a->get();
|
||||
int vb = b->get();
|
||||
|
||||
p_list.swap(a, b);
|
||||
|
||||
CHECK(va == a->get());
|
||||
CHECK(vb == b->get());
|
||||
|
||||
size_t element_count = 0;
|
||||
|
||||
// Fully traversable after swap?
|
||||
List<int>::Element *it = p_list.front();
|
||||
while (it) {
|
||||
element_count += 1;
|
||||
List<int>::Element *prev_it = it;
|
||||
it = it->next();
|
||||
if (it == prev_it) {
|
||||
FAIL_CHECK("Infinite loop detected.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
// We should not lose anything in the process.
|
||||
if (element_count != p_size) {
|
||||
FAIL_CHECK("Element count mismatch.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("[Stress][List] Swap random 100 elements, 500 iterations.") {
|
||||
List<int> list;
|
||||
List<int>::Element *n[100];
|
||||
populate_integers(list, n, 100);
|
||||
swap_random(list, n, 100, 500);
|
||||
}
|
||||
|
||||
TEST_CASE("[Stress][List] Swap random 10 elements, 1000 iterations.") {
|
||||
List<int> list;
|
||||
List<int>::Element *n[10];
|
||||
populate_integers(list, n, 10);
|
||||
swap_random(list, n, 10, 1000);
|
||||
}
|
||||
} // namespace TestList
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue