diff options
author | Jakub Tyszkowski <jakub.tyszkowski@tieto.com> | 2014-07-24 10:37:57 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2014-07-24 13:14:03 +0300 |
commit | 6f9532dffedecff38d2c62f737dcbfd4a9cc083e (patch) | |
tree | 9a0de135afc856885d947f27be5840eebf320ec9 /android/tester-socket.c | |
parent | cd979dfebe26074c64d4d5d7fc3837137849ae52 (diff) | |
download | bluez-6f9532dffedecff38d2c62f737dcbfd4a9cc083e.tar.gz |
android/tester-ng: Add socket listen - invalid param cases
Diffstat (limited to 'android/tester-socket.c')
-rw-r--r-- | android/tester-socket.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/android/tester-socket.c b/android/tester-socket.c index fd0f03579..4ab8d7e8f 100644 --- a/android/tester-socket.c +++ b/android/tester-socket.c @@ -15,14 +15,79 @@ * */ +#include <fcntl.h> + #include "tester-main.h" +#include "src/shared/util.h" + static struct queue *list; /* List of socket test cases */ +static bt_bdaddr_t bdaddr_dummy = { + .address = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55} +}; + +static int got_fd_result = -1; + +static struct bt_action_data btsock_param_socktype_0 = { + .addr = &bdaddr_dummy, + .sock_type = 0, + .channel = 1, + .service_uuid = NULL, + .service_name = "Test service", + .flags = 0, + .fd = &got_fd_result, +}; + +static struct bt_action_data btsock_param_socktype_l2cap = { + .addr = &bdaddr_dummy, + .sock_type = BTSOCK_L2CAP, + .channel = 1, + .service_uuid = NULL, + .service_name = "Test service", + .flags = 0, + .fd = &got_fd_result, +}; + +static void socket_listen_action(void) +{ + struct test_data *data = tester_get_data(); + struct step *current_data_step = queue_peek_head(data->steps); + struct bt_action_data *action_data = current_data_step->set_data; + struct step *step = g_new0(struct step, 1); + + *action_data->fd = -1; + + step->action_status = data->if_sock->listen(action_data->sock_type, + action_data->service_name, + action_data->service_uuid, + action_data->channel, + action_data->fd, + action_data->flags); + + schedule_action_verification(step); +} + static struct test_case test_cases[] = { TEST_CASE_BREDRLE("Socket Init", ACTION_SUCCESS(dummy_action, NULL), ), + TEST_CASE_BREDRLE("Socket Listen - Invalid: sock_type 0", + ACTION_SUCCESS(bluetooth_enable_action, NULL), + CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON), + ACTION(BT_STATUS_PARM_INVALID, socket_listen_action, + &btsock_param_socktype_0), + ACTION_SUCCESS(bluetooth_disable_action, NULL), + CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF), + ), + TEST_CASE_BREDRLE("Socket Listen - Invalid: sock_type L2CAP", + ACTION_SUCCESS(bluetooth_enable_action, NULL), + CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_ON), + ACTION(BT_STATUS_UNSUPPORTED, socket_listen_action, + &btsock_param_socktype_l2cap), + ACTION_SUCCESS(bluetooth_disable_action, NULL), + CALLBACK_STATE(CB_BT_ADAPTER_STATE_CHANGED, BT_STATE_OFF), + ), }; struct queue *get_socket_tests(void) |