remove bogus mutex_init_stress test
Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
d659b416f2
commit
8ab1cd8987
1 changed files with 0 additions and 66 deletions
|
@ -190,72 +190,6 @@ CU_Test(os_mutex, basic)
|
|||
printf("Ending os_mutex_basic\n");
|
||||
}
|
||||
|
||||
#define RUNTIME_SEC (4)
|
||||
#define NUM_THREADS (8)
|
||||
#define OS_STRESS_STOP (0)
|
||||
#define OS_STRESS_GO (1)
|
||||
#define THREAD_NAME_LEN (8)
|
||||
|
||||
struct os_mutex_stress {
|
||||
os_threadId tid;
|
||||
os_mutex m;
|
||||
os_atomic_uint32_t * flag;
|
||||
char name[THREAD_NAME_LEN];
|
||||
};
|
||||
|
||||
static uint32_t
|
||||
os_mutex_init_thr(
|
||||
void *args)
|
||||
{
|
||||
struct os_mutex_stress *state = (struct os_mutex_stress *)args;
|
||||
os_result r;
|
||||
uint32_t iterations = 0;
|
||||
|
||||
do {
|
||||
os_mutexInit(&state->m);
|
||||
r = os_mutexLock_s(&state->m); /* Use the mutex to check that all is OK. */
|
||||
CU_ASSERT_EQUAL(r, os_resultSuccess); /* Failure can't be forced. */
|
||||
os_mutexUnlock(&state->m);
|
||||
os_mutexDestroy(&state->m);
|
||||
iterations++;
|
||||
} while ( os_atomic_ld32(state->flag) != OS_STRESS_STOP && r == os_resultSuccess);
|
||||
|
||||
printf("%s <%"PRIxMAX">: Performed %u iterations. Stopping now.\n", state->name, os_threadIdToInteger(os_threadIdSelf()), iterations);
|
||||
return r != os_resultSuccess; /* Return true on faulure */
|
||||
}
|
||||
|
||||
CU_Test(os_mutex, init_stress)
|
||||
{
|
||||
struct os_mutex_stress threads[NUM_THREADS];
|
||||
os_threadAttr tattr;
|
||||
unsigned i;
|
||||
os_atomic_uint32_t flag = OS_ATOMIC_UINT32_INIT(OS_STRESS_GO);
|
||||
os_time runtime = { .tv_sec = RUNTIME_SEC, .tv_nsec = 0 };
|
||||
|
||||
printf("Starting os_mutex_init_stress\n");
|
||||
|
||||
os_threadAttrInit(&tattr);
|
||||
for ( i = 0; i < NUM_THREADS; i++ ) {
|
||||
(void) snprintf(&threads[i].name[0], THREAD_NAME_LEN, "thr%u", i);
|
||||
threads[i].flag = &flag;
|
||||
os_threadCreate(&threads[i].tid, threads[i].name, &tattr, &os_mutex_init_thr, &threads[i]);
|
||||
printf("main <%"PRIxMAX">: Started thread '%s' with thread-id %" PRIxMAX "\n", os_threadIdToInteger(os_threadIdSelf()), threads[i].name, os_threadIdToInteger(threads[i].tid));
|
||||
}
|
||||
|
||||
printf("main <%"PRIxMAX">: Test will run for ~%ds with %d threads\n", os_threadIdToInteger(os_threadIdSelf()), RUNTIME_SEC, NUM_THREADS);
|
||||
os_nanoSleep(runtime);
|
||||
os_atomic_st32(&flag, OS_STRESS_STOP);
|
||||
|
||||
for ( ; i != 0; i-- ) {
|
||||
uint32_t thread_failed;
|
||||
os_threadWaitExit(threads[i - 1].tid, &thread_failed);
|
||||
printf("main <%"PRIxMAX">: Thread %s <%" PRIxMAX "> stopped with result %s.\n", os_threadIdToInteger(os_threadIdSelf()), threads[i - 1].name, os_threadIdToInteger(threads[i - 1].tid), thread_failed ? "FAILED" : "PASS");
|
||||
|
||||
CU_ASSERT_FALSE(thread_failed);
|
||||
}
|
||||
printf("Ending os_mutex_init_stress\n");
|
||||
}
|
||||
|
||||
CU_Test(os_mutex, lock, false)
|
||||
{
|
||||
/* Test critical section access with locking and PRIVATE scope */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue