diff options
author | Jakub Tyszkowski <jakub.tyszkowski@tieto.com> | 2014-01-20 10:36:08 +0100 |
---|---|---|
committer | Szymon Janc <szymon.janc@gmail.com> | 2014-01-20 23:23:28 +0100 |
commit | f9d9b513c2593d6c159a3194e3c36023341dff89 (patch) | |
tree | 5c13aa659d8557a5a5be0bb39f9d9e0a52b74907 /android/ipc-tester.c | |
parent | d3b695dfa4e7b5d9c4be64d820836b3f2393abee (diff) | |
download | bluez-f9d9b513c2593d6c159a3194e3c36023341dff89.tar.gz |
android/ipc-tester: Add cases for service opcode boundaries
This patch adds tests sending out of range opcode for each service.
Diffstat (limited to 'android/ipc-tester.c')
-rw-r--r-- | android/ipc-tester.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/android/ipc-tester.c b/android/ipc-tester.c index db0a30ad4..cebe75132 100644 --- a/android/ipc-tester.c +++ b/android/ipc-tester.c @@ -558,6 +558,21 @@ static void ipc_send_tc(const void *data) 3, user, g_free); \ } while (0) +#define test_opcode_valid(_name, _service, _opcode, _len, _servicelist...) \ + do { \ + static struct hal_hdr hdr = { \ + .service_id = _service, \ + .opcode = _opcode, \ + .len = _len, \ + }; \ + \ + test_generic("Opcode out of range: "_name, \ + ipc_send_tc, setup, teardown, \ + &hdr, \ + sizeof(hdr), \ + _servicelist); \ + } while (0) + struct regmod_msg register_bt_msg = { .header = { .service_id = HAL_SERVICE_ID_CORE, @@ -654,5 +669,22 @@ int main(int argc, char *argv[]) &enable_bt_service_hdr, sizeof(enable_bt_service_hdr)); + /* check service handler's max opcode value */ + test_opcode_valid("CORE", HAL_SERVICE_ID_CORE, 0x03, 0); + + test_opcode_valid("BLUETOOTH", HAL_SERVICE_ID_BLUETOOTH, 0x15, 0, + HAL_SERVICE_ID_BLUETOOTH); + + test_opcode_valid("SOCK", HAL_SERVICE_ID_SOCK, 0x03, 0, + HAL_SERVICE_ID_BLUETOOTH, HAL_SERVICE_ID_SOCK); + + test_opcode_valid("HIDHOST", HAL_SERVICE_ID_HIDHOST, 0x10, 0, + HAL_SERVICE_ID_BLUETOOTH, HAL_SERVICE_ID_HIDHOST); + + test_opcode_valid("PAN", HAL_SERVICE_ID_PAN, 0x05, 0, + HAL_SERVICE_ID_BLUETOOTH, HAL_SERVICE_ID_PAN); + + test_opcode_valid("A2DP", HAL_SERVICE_ID_A2DP, 0x03, 0, + HAL_SERVICE_ID_BLUETOOTH, HAL_SERVICE_ID_A2DP); return tester_run(); } |