static void test_submit_while_shutdown(void) { Executor* exe = exe_new(); int status = exe_shutdown(exe); CU_ASSERT_EQUAL_FATAL(status, 0); CU_ASSERT_EQUAL(exe_count(exe), 0); Job* job; status = exe_submit(exe, waitForStop, NULL, NULL, &job); CU_ASSERT_EQUAL_FATAL(status, EINVAL); CU_ASSERT_EQUAL(exe_count(exe), 0); exe_free(exe); }
static void test_exe_submit(void) { int sleep1Result; Executor* exe = exe_new(); Job* job; int status = exe_submit(exe, sleep1, &sleep1Result, NULL, &job); CU_ASSERT_EQUAL_FATAL(status, 0); CU_ASSERT_EQUAL(exe_count(exe), 1); Job* completedJob = exe_getCompleted(exe); CU_ASSERT_EQUAL_FATAL(status, 0); CU_ASSERT_EQUAL(exe_count(exe), 0); CU_ASSERT_PTR_EQUAL(completedJob, job); CU_ASSERT_FALSE(job_wasStopped(job)); CU_ASSERT_EQUAL(job_status(job), 0); CU_ASSERT_PTR_EQUAL(job_result(job), &sleep1Result); job_free(job); CU_ASSERT_EQUAL(status, 0); status = exe_free(exe); CU_ASSERT_EQUAL(status, 0); }
static void test_exe_shutdown(void) { Executor* exe = exe_new(); Job* job; int status = exe_submit(exe, waitForStop, NULL, stop, &job); CU_ASSERT_EQUAL_FATAL(status, 0); sleep(1); status = exe_shutdown(exe); CU_ASSERT_EQUAL(status, 0); CU_ASSERT_EQUAL(exe_count(exe), 1); Job* completedJob = exe_getCompleted(exe); CU_ASSERT_EQUAL_FATAL(status, 0); CU_ASSERT_EQUAL(exe_count(exe), 0); CU_ASSERT_PTR_EQUAL(completedJob, job); CU_ASSERT_TRUE(job_wasStopped(job)); job_free(job); CU_ASSERT_EQUAL(status, 0); status = exe_free(exe); CU_ASSERT_EQUAL(status, 0); }