Exemple #1
0
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));
}
Exemple #2
0
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");
  }
}
Exemple #3
0
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);
}
Exemple #4
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);
}