CTEST2(tube, utilities) { tube *t; spud_tube_id *id; int local_data = 1337; int *out; char buf[24]; char buf2[24]; ASSERT_TRUE(tube_manager_running(data->mgr)); ASSERT_EQUAL(tube_manager_size(data->mgr), 0); ASSERT_TRUE( tube_create(&t, &data->err)); tube_set_data(t, &local_data); out = tube_get_data(t); ASSERT_EQUAL(*out, 1337); ASSERT_EQUAL(tube_get_state(t), TS_UNKNOWN); tube_get_id(t, &id); spud_id_to_string(buf, sizeof(buf), id); ASSERT_TRUE( tube_id_to_string(t, buf2, sizeof(buf2)) == buf2); ASSERT_STR(buf, buf2); ASSERT_TRUE(tube_manager_stop(data->mgr, &data->err)); ASSERT_FALSE(tube_manager_running(data->mgr)); }
void done(ls_timer* tim) { ls_err err; UNUSED_PARAM(tim); printf("done\n"); if ( !tube_manager_stop(mgr, &err) ) { LS_LOG_ERR(err, "tube_manager_stop"); } }
void done() { ls_err err; if ( !tube_manager_stop(mgr, &err) ) { LS_LOG_ERR(err, "tube_manager_stop"); } pthread_cancel(listenThread); pthread_join(listenThread, NULL); ls_log(LS_LOG_INFO, "DONE!"); exit(0); }
CTEST2(tube, manager_loop) { void *ret; int r; struct timespec timer = {0, 5000000}; // 5ms pthread_t listen_thread; ASSERT_EQUAL(pthread_create(&listen_thread, NULL, listen_run, data), 0); nanosleep(&timer, NULL); ASSERT_TRUE(tube_manager_stop(data->mgr, &data->err)); r = pthread_join(listen_thread, &ret); if (r != 0) { printf("pthread_join (%d): '%s'\n", errno, strerror(errno)); ASSERT_EQUAL(r, 0); } ASSERT_TRUE(ret == data); ASSERT_EQUAL((int)true, data->listen_return); }