static void testcase20(void) { /* weird $BOOTSTATE cases */ gchar* module_name = g_strconcat(dsme_module_path, "state.so", NULL); // do not specify $BOOTSTATE module_t* state = load_module_under_test(module_name); DSM_MSGTYPE_STATE_CHANGE_IND* ind; assert(ind = queued(DSM_MSGTYPE_STATE_CHANGE_IND)); assert(ind->state == DSME_STATE_USER); free(ind); assert(message_queue_is_empty()); assert(!timer_exists()); unload_module_under_test(state); // specify a bad $BOOTSTATE state = load_state_module("DIIBADAABA", DSME_STATE_USER); DSM_MSGTYPE_ENTER_MALF* msg; assert(msg = queued(DSM_MSGTYPE_ENTER_MALF)); free(msg); assert(!timer_exists()); assert(message_queue_is_empty()); unload_module_under_test(state); // specify SHUTDOWN setenv("BOOTSTATE", "SHUTDOWN", true); state = load_module_under_test(module_name); unsetenv("BOOTSTATE"); expect_shutdown(state); unload_module_under_test(state); // specify SHUTDOWN setenv("BOOTSTATE", "SHUTDOWN", true); state = load_module_under_test(module_name); unsetenv("BOOTSTATE"); expect_shutdown(state); unload_module_under_test(state); // specify BOOT setenv("BOOTSTATE", "BOOT", true); state = load_module_under_test(module_name); unsetenv("BOOTSTATE"); expect_reboot(state); unload_module_under_test(state); g_free(module_name); }
static void testcase11(void) { /* reboot */ module_t* state = load_state_module("USER", DSME_STATE_USER); assert(!timer_exists()); // unplug charger disconnect_charger(state); assert(message_queue_is_empty()); assert(!timer_exists()); // request reboot DSM_MSGTYPE_REBOOT_REQ msg = TEST_MSG_INIT(DSM_MSGTYPE_REBOOT_REQ); send_message(state, &msg); expect_reboot(state); unload_module_under_test(state); }
static void testcase20(void) { /* weird $BOOTSTATE cases */ // do not specify $BOOTSTATE module_t* state = load_module_under_test("../modules/libstate.so"); DSM_MSGTYPE_STATE_CHANGE_IND* ind; assert((ind = queued(DSM_MSGTYPE_STATE_CHANGE_IND))); assert(ind->state == DSME_STATE_MALF); free(ind); assert(message_queue_is_empty()); assert(!timer_exists()); unload_module_under_test(state); // specify a bad $BOOTSTATE state = load_state_module("DIIBADAABA", DSME_STATE_MALF); assert(!timer_exists()); assert(message_queue_is_empty()); unload_module_under_test(state); // specify SHUTDOWN setenv("BOOTSTATE", "SHUTDOWN", true); state = load_module_under_test("../modules/libstate.so"); unsetenv("BOOTSTATE"); expect_shutdown(state); unload_module_under_test(state); // specify SHUTDOWN setenv("BOOTSTATE", "SHUTDOWN", true); state = load_module_under_test("../modules/libstate.so"); unsetenv("BOOTSTATE"); expect_shutdown(state); unload_module_under_test(state); // specify BOOT setenv("BOOTSTATE", "BOOT", true); state = load_module_under_test("../modules/libstate.so"); unsetenv("BOOTSTATE"); expect_reboot(state); unload_module_under_test(state); }