Пример #1
0
int
main(int argc, char *argv[])
{
    int r = 0;

    if (sol_init() < 0)
        return EXIT_FAILURE;

    printf("Initial platform state: %d\n", sol_platform_get_state());
    sol_platform_add_state_monitor(on_state_change, NULL);

    if (argc > 2) {
        cmds = argv + 1;
        n_cmds = argc - 1;
        timeout_handle = sol_timeout_add(CMD_TICK, on_timeout_cmd, NULL);
    }

    sol_run();

    if (timeout_handle)
        sol_timeout_del(timeout_handle);

    sol_platform_del_state_monitor(on_state_change, NULL);

    sol_shutdown();

    return r;
}
Пример #2
0
int
main(int argc, char *argv[])
{
    struct sol_mqtt *mqtt;
    int port;

    sol_init();

    if (argc < 4) {
        SOL_INF("Usage: %s <ip> <port> <topic>", argv[0]);
        return 0;
    }

    port = atoi(argv[2]);
    topic = argv[3];

    mqtt = sol_mqtt_connect(argv[1], port, &config, NULL);
    if (!mqtt) {
        SOL_WRN("Unable to create MQTT session");
        return -1;
    }

    sol_run();

    sol_mqtt_disconnect(mqtt);

    sol_shutdown();

    return 0;
}
Пример #3
0
int
TEST_MAINLOOP_MAIN_FN(int argc, char *argv[])
{
    int err, i;
    struct sol_timeout *timeout_to_del;
    struct sol_idle *idler_to_del;

    err = sol_init();
    ASSERT(!err);

    timeout_to_del = sol_timeout_add(100, timeout_never_called, NULL);
    sol_timeout_add(20, on_timeout_del_and_new, timeout_to_del);

    sol_timeout_add(1, on_timeout_renew_twice, NULL);
    sol_idle_add(on_idler_renew_twice, NULL);

    for (i = 0; i < 5; i++)
        sol_idle_add(on_idler, (void *)(intptr_t)i);

    sol_idle_add(on_idler_del_another, &idler_to_del);
    idler_to_del = sol_idle_add(on_idler_never_called, NULL);

    sol_run();
    ASSERT_INT_EQ(timeout_called, 3);
    ASSERT_INT_EQ(timeout_renewed, 2);
    ASSERT_INT_EQ(idler_renewed, 2);

    for (i = 0; i < 10; i++)
        ASSERT_INT_EQ(idler_sequence[i], i);

    sol_shutdown();

    return 0;
}
Пример #4
0
int
test_main(struct test *start, struct test *stop, void (*reset_func)(void), int argc, char *argv[])
{
    const struct test *t;
    const char *pattern = NULL;
    int err, count = 0;

    err = sol_init();
    ASSERT(!err);

    if (argc > 1) {
        pattern = argv[1];
        printf("Running only tests that match '%s'\n", pattern);
    }

    for (t = start; t < stop; t++) {
        if (!pattern || strstr(t->name, pattern)) {
            printf("- %s\n", t->name);
            t->func();
            if (reset_func)
                reset_func();
            count++;
        }
    }

    if (count == 0) {
        printf("No tests found!\n");
        return EXIT_FAILURE;
    }

    sol_shutdown();
    printf("OK!\n");

    return 0;
}
int
main(int argc, char *argv[])
{
    int err;

    err = sol_init();
    ASSERT(!err);

    sol_idle_add(perform_tests, NULL);

    sol_run();

    sol_shutdown();

    return 0;
}
Пример #6
0
int
main(int argc, char *argv[])
{
    int r;

    if (!parse_args(argc, argv)) {
        usage(argv[0]);
        return EXIT_FAILURE;
    }

    if (sol_init() < 0) {
        SOL_CRI("Cannot initialize soletta.");
        return EXIT_FAILURE;
    }

    sol_idle_add(startup, NULL);

    r = sol_run();

    shutdown();
    sol_shutdown();

    return r;
}