[UTC][Bluetooth][ACR-592][Add AVRCP control TCs]
authorDoHyun Pyun <dh79.pyun@samsung.com>
Thu, 9 Jun 2016 06:55:33 +0000 (15:55 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Wed, 15 Jun 2016 01:10:05 +0000 (10:10 +0900)
Change-Id: I37b8b39e854f7d4972a80923beb7acad7d0301cd
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
src/utc/bluetooth/CMakeLists.txt [changed mode: 0755->0644]
src/utc/bluetooth/tct-bluetooth-core_common_iot.h [changed mode: 0755->0644]
src/utc/bluetooth/tct-bluetooth-core_mobile.h [changed mode: 0755->0644]
src/utc/bluetooth/tct-bluetooth-core_tv.h [changed mode: 0755->0644]
src/utc/bluetooth/tct-bluetooth-core_wearable.h [changed mode: 0755->0644]
src/utc/bluetooth/utc_bluetooth_audio_negative.c
src/utc/bluetooth/utc_bluetooth_audio_positive.c
src/utc/bluetooth/utc_bluetooth_avrcp_control_negative.c [new file with mode: 0644]
src/utc/bluetooth/utc_bluetooth_avrcp_control_positive.c [new file with mode: 0644]

old mode 100755 (executable)
new mode 100644 (file)
index 936af25..bef6957
@@ -32,6 +32,8 @@ utc_bluetooth_socket_negative.c
 utc_bluetooth_socket_positive.c
 utc_bluetooth_pbap_negative.c
 utc_bluetooth_pbap_positive.c
+utc_bluetooth_avrcp_control_positive.c
+utc_bluetooth_avrcp_control_negative.c
 )
 ELSE()
 SET(TC_SOURCES
@@ -58,6 +60,8 @@ utc_bluetooth_service_search_negative.c
 utc_bluetooth_service_search_positive.c
 utc_bluetooth_socket_negative.c
 utc_bluetooth_socket_positive.c
+utc_bluetooth_avrcp_control_positive.c
+utc_bluetooth_avrcp_control_negative.c
 )
 ENDIF()
 
old mode 100755 (executable)
new mode 100644 (file)
index 240f3e4..73996d2
@@ -65,6 +65,13 @@ extern void utc_bluetooth_service_search_positive_startup(void);
 extern void utc_bluetooth_service_search_positive_cleanup(void);
 extern void utc_bluetooth_socket_negative_startup(void);
 extern void utc_bluetooth_socket_negative_cleanup(void);
+extern void utc_bluetooth_avrcp_control_negative_startup(void);
+extern void utc_bluetooth_avrcp_control_negative_cleanup(void);
+extern void utc_bluetooth_avrcp_control_positive_startup(void);
+extern void utc_bluetooth_avrcp_control_positive_cleanup(void);
+extern void utc_bluetooth_avrcp_callback_positive_startup(void);
+extern void utc_bluetooth_avrcp_callback_positive_cleanup(void);
+
 
 extern int utc_bluetooth_bt_deinitialize_n(void);
 extern int utc_bluetooth_bt_adapter_le_is_discovering_n(void);
@@ -188,6 +195,12 @@ extern int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_set_scan_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p(void);
+extern int utc_bluetooth_bt_avrcp_set_position_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_position_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p(void);
 extern int utc_bluetooth_bt_audio_connect_n(void);
 extern int utc_bluetooth_bt_audio_disconnect_n(void);
 extern int utc_bluetooth_bt_audio_set_connection_state_changed_cb_n(void);
@@ -199,6 +212,9 @@ extern int utc_bluetooth_bt_avrcp_set_equalizer_state_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_position_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_target_deinitialize_n(void);
 extern int utc_bluetooth_bt_avrcp_target_initialize_n(void);
 extern int utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n(void);
@@ -212,6 +228,9 @@ extern int utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_position_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n(void);
 extern int utc_bluetooth_bt_ag_open_sco_n(void);
 extern int utc_bluetooth_bt_ag_close_sco_n(void);
 extern int utc_bluetooth_bt_ag_is_sco_opened_n(void);
@@ -387,6 +406,42 @@ extern int utc_bluetooth_bt_socket_disconnect_rfcomm_n(void);
 extern int utc_bluetooth_bt_socket_send_data_n(void);
 extern int utc_bluetooth_bt_socket_set_connection_requested_cb_n(void);
 extern int utc_bluetooth_bt_socket_unset_connection_requested_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_control_initialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_deinitialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_connect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_disconnect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_send_player_command_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_position_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_play_status_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_track_info_n(void);
+extern int utc_bluetooth_bt_avrcp_control_free_track_info_n(void);
+extern int utc_bluetooth_bt_avrcp_control_initialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_deinitialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_connect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_disconnect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_send_player_command_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_position_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_play_status_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_track_info_n(void);
+extern int utc_bluetooth_bt_avrcp_control_free_track_info_n(void);
+
+
 
 testcase tc_array[] = {
     {"utc_bluetooth_bt_deinitialize_n", utc_bluetooth_bt_deinitialize_n, utc_bluetooth_adapter_negative_startup, utc_bluetooth_adapter_negative_cleanup},
@@ -503,14 +558,20 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_target_notify_player_state_p", utc_bluetooth_bt_avrcp_target_notify_player_state_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_position_p", utc_bluetooth_bt_avrcp_target_notify_position_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_track_p", utc_bluetooth_bt_avrcp_target_notify_track_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_position_changed_cb_p", utc_bluetooth_bt_avrcp_set_position_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_position_changed_cb_p", utc_bluetooth_bt_avrcp_unset_position_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p", utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p", utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p", utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p", utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
     {"utc_bluetooth_bt_audio_connect_n", utc_bluetooth_bt_audio_connect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_disconnect_n", utc_bluetooth_bt_audio_disconnect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_set_connection_state_changed_cb_n", utc_bluetooth_bt_audio_set_connection_state_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -522,6 +583,9 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_position_changed_cb_n", utc_bluetooth_bt_avrcp_set_position_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n", utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n", utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_deinitialize_n", utc_bluetooth_bt_avrcp_target_deinitialize_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_initialize_n", utc_bluetooth_bt_avrcp_target_initialize_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n", utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -535,6 +599,9 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n", utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n", utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_ag_open_sco_n", utc_bluetooth_bt_ag_open_sco_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_ag_open_sco_n", utc_bluetooth_bt_ag_open_sco_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_ag_close_sco_n", utc_bluetooth_bt_ag_close_sco_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_ag_is_sco_opened_n", utc_bluetooth_bt_ag_is_sco_opened_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -710,6 +777,23 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_socket_send_data_n", utc_bluetooth_bt_socket_send_data_n, utc_bluetooth_socket_negative_startup, utc_bluetooth_socket_negative_cleanup},
     {"utc_bluetooth_bt_socket_set_connection_requested_cb_n", utc_bluetooth_bt_socket_set_connection_requested_cb_n, utc_bluetooth_socket_negative_startup, utc_bluetooth_socket_negative_cleanup},
     {"utc_bluetooth_bt_socket_unset_connection_requested_cb_n", utc_bluetooth_bt_socket_unset_connection_requested_cb_n, utc_bluetooth_socket_negative_startup, utc_bluetooth_socket_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_initialize_p", utc_bluetooth_bt_avrcp_control_initialize_p, utc_bluetooth_avrcp_control_positive_startup, utc_bluetooth_avrcp_control_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_deinitialize_p", utc_bluetooth_bt_avrcp_control_deinitialize_p, utc_bluetooth_avrcp_control_positive_startup, utc_bluetooth_avrcp_control_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_connect_n", utc_bluetooth_bt_avrcp_control_connect_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_disconnect_n", utc_bluetooth_bt_avrcp_control_disconnect_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_send_player_command_n", utc_bluetooth_bt_avrcp_control_send_player_command_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_equalizer_state_n", utc_bluetooth_bt_avrcp_control_set_equalizer_state_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_equalizer_state_n", utc_bluetooth_bt_avrcp_control_get_equalizer_state_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_repeat_mode_n", utc_bluetooth_bt_avrcp_control_set_repeat_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_repeat_mode_n", utc_bluetooth_bt_avrcp_control_get_repeat_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n", utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n", utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_scan_mode_n", utc_bluetooth_bt_avrcp_control_set_scan_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_scan_mode_n", utc_bluetooth_bt_avrcp_control_get_scan_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_position_n", utc_bluetooth_bt_avrcp_control_get_position_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_play_status_n", utc_bluetooth_bt_avrcp_control_get_play_status_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_track_info_n", utc_bluetooth_bt_avrcp_control_get_track_info_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_free_track_info_n", utc_bluetooth_bt_avrcp_control_free_track_info_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
     {NULL, NULL}
 };
 
old mode 100755 (executable)
new mode 100644 (file)
index 3b3e21f..2a8c4be
@@ -65,6 +65,13 @@ extern void utc_bluetooth_service_search_positive_startup(void);
 extern void utc_bluetooth_service_search_positive_cleanup(void);
 extern void utc_bluetooth_socket_negative_startup(void);
 extern void utc_bluetooth_socket_negative_cleanup(void);
+extern void utc_bluetooth_avrcp_control_negative_startup(void);
+extern void utc_bluetooth_avrcp_control_negative_cleanup(void);
+extern void utc_bluetooth_avrcp_control_positive_startup(void);
+extern void utc_bluetooth_avrcp_control_positive_cleanup(void);
+extern void utc_bluetooth_avrcp_callback_positive_startup(void);
+extern void utc_bluetooth_avrcp_callback_positive_cleanup(void);
+
 
 extern int utc_bluetooth_bt_deinitialize_n(void);
 extern int utc_bluetooth_bt_adapter_le_is_discovering_n(void);
@@ -188,6 +195,12 @@ extern int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_set_scan_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p(void);
+extern int utc_bluetooth_bt_avrcp_set_position_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_position_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p(void);
 extern int utc_bluetooth_bt_audio_connect_n(void);
 extern int utc_bluetooth_bt_audio_disconnect_n(void);
 extern int utc_bluetooth_bt_audio_set_connection_state_changed_cb_n(void);
@@ -199,6 +212,9 @@ extern int utc_bluetooth_bt_avrcp_set_equalizer_state_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_position_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_target_deinitialize_n(void);
 extern int utc_bluetooth_bt_avrcp_target_initialize_n(void);
 extern int utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n(void);
@@ -212,6 +228,9 @@ extern int utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_position_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n(void);
 extern int utc_bluetooth_bt_ag_open_sco_n(void);
 extern int utc_bluetooth_bt_ag_close_sco_n(void);
 extern int utc_bluetooth_bt_ag_is_sco_opened_n(void);
@@ -412,6 +431,23 @@ extern int utc_bluetooth_bt_socket_disconnect_rfcomm_n(void);
 extern int utc_bluetooth_bt_socket_send_data_n(void);
 extern int utc_bluetooth_bt_socket_set_connection_requested_cb_n(void);
 extern int utc_bluetooth_bt_socket_unset_connection_requested_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_control_initialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_deinitialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_connect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_disconnect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_send_player_command_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_position_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_play_status_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_track_info_n(void);
+extern int utc_bluetooth_bt_avrcp_control_free_track_info_n(void);
 
 testcase tc_array[] = {
     {"utc_bluetooth_bt_deinitialize_n", utc_bluetooth_bt_deinitialize_n, utc_bluetooth_adapter_negative_startup, utc_bluetooth_adapter_negative_cleanup},
@@ -527,15 +563,21 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_target_notify_scan_mode_p", utc_bluetooth_bt_avrcp_target_notify_scan_mode_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_player_state_p", utc_bluetooth_bt_avrcp_target_notify_player_state_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_position_p", utc_bluetooth_bt_avrcp_target_notify_position_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_target_notify_track_p", utc_bluetooth_bt_avrcp_target_notify_track_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_target_notify_track_p", utc_bluetooth_bt_avrcp_target_notify_track_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},    
+    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_position_changed_cb_p", utc_bluetooth_bt_avrcp_set_position_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_position_changed_cb_p", utc_bluetooth_bt_avrcp_unset_position_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p", utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p", utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p", utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p", utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
     {"utc_bluetooth_bt_audio_connect_n", utc_bluetooth_bt_audio_connect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_disconnect_n", utc_bluetooth_bt_audio_disconnect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_set_connection_state_changed_cb_n", utc_bluetooth_bt_audio_set_connection_state_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -547,6 +589,9 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_position_changed_cb_n", utc_bluetooth_bt_avrcp_set_position_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n", utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n", utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_deinitialize_n", utc_bluetooth_bt_avrcp_target_deinitialize_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_initialize_n", utc_bluetooth_bt_avrcp_target_initialize_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n", utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -560,6 +605,9 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_position_changed_cb_n", utc_bluetooth_bt_avrcp_unset_position_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n", utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n", utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_ag_open_sco_n", utc_bluetooth_bt_ag_open_sco_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_ag_close_sco_n", utc_bluetooth_bt_ag_close_sco_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_ag_is_sco_opened_n", utc_bluetooth_bt_ag_is_sco_opened_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -760,6 +808,23 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_socket_send_data_n", utc_bluetooth_bt_socket_send_data_n, utc_bluetooth_socket_negative_startup, utc_bluetooth_socket_negative_cleanup},
     {"utc_bluetooth_bt_socket_set_connection_requested_cb_n", utc_bluetooth_bt_socket_set_connection_requested_cb_n, utc_bluetooth_socket_negative_startup, utc_bluetooth_socket_negative_cleanup},
     {"utc_bluetooth_bt_socket_unset_connection_requested_cb_n", utc_bluetooth_bt_socket_unset_connection_requested_cb_n, utc_bluetooth_socket_negative_startup, utc_bluetooth_socket_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_initialize_p", utc_bluetooth_bt_avrcp_control_initialize_p, utc_bluetooth_avrcp_control_positive_startup, utc_bluetooth_avrcp_control_positive_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_deinitialize_p", utc_bluetooth_bt_avrcp_control_deinitialize_p, utc_bluetooth_avrcp_control_positive_startup, utc_bluetooth_avrcp_control_positive_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_connect_n", utc_bluetooth_bt_avrcp_control_connect_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_disconnect_n", utc_bluetooth_bt_avrcp_control_disconnect_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_send_player_command_n", utc_bluetooth_bt_avrcp_control_send_player_command_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_set_equalizer_state_n", utc_bluetooth_bt_avrcp_control_set_equalizer_state_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_get_equalizer_state_n", utc_bluetooth_bt_avrcp_control_get_equalizer_state_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_set_repeat_mode_n", utc_bluetooth_bt_avrcp_control_set_repeat_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_get_repeat_mode_n", utc_bluetooth_bt_avrcp_control_get_repeat_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n", utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n", utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_set_scan_mode_n", utc_bluetooth_bt_avrcp_control_set_scan_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_get_scan_mode_n", utc_bluetooth_bt_avrcp_control_get_scan_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_get_position_n", utc_bluetooth_bt_avrcp_control_get_position_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_get_play_status_n", utc_bluetooth_bt_avrcp_control_get_play_status_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_get_track_info_n", utc_bluetooth_bt_avrcp_control_get_track_info_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+       {"utc_bluetooth_bt_avrcp_control_free_track_info_n", utc_bluetooth_bt_avrcp_control_free_track_info_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
     {NULL, NULL}
 };
 
old mode 100755 (executable)
new mode 100644 (file)
index abe91ad..bcd8bcd
@@ -49,6 +49,8 @@ extern void utc_bluetooth_service_search_positive_startup(void);
 extern void utc_bluetooth_service_search_positive_cleanup(void);
 extern void utc_bluetooth_socket_negative_startup(void);
 extern void utc_bluetooth_socket_negative_cleanup(void);
+extern void utc_bluetooth_avrcp_callback_positive_startup(void);
+extern void utc_bluetooth_avrcp_callback_positive_cleanup(void);
 
 extern int utc_bluetooth_bt_deinitialize_n(void);
 extern int utc_bluetooth_bt_adapter_le_is_discovering_n(void);
@@ -280,14 +282,14 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_target_notify_scan_mode_p", utc_bluetooth_bt_avrcp_target_notify_scan_mode_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_player_state_p", utc_bluetooth_bt_avrcp_target_notify_player_state_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_position_p", utc_bluetooth_bt_avrcp_target_notify_position_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
     {"utc_bluetooth_bt_audio_connect_n", utc_bluetooth_bt_audio_connect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_disconnect_n", utc_bluetooth_bt_audio_disconnect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_set_connection_state_changed_cb_n", utc_bluetooth_bt_audio_set_connection_state_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
old mode 100755 (executable)
new mode 100644 (file)
index fd27ef0..0bec48f
@@ -69,6 +69,12 @@ extern void utc_bluetooth_pbap_positive_startup(void);
 extern void utc_bluetooth_pbap_positive_cleanup(void);
 extern void utc_bluetooth_pbap_negative_startup(void);
 extern void utc_bluetooth_pbap_negative_cleanup(void);
+extern void utc_bluetooth_avrcp_control_negative_startup(void);
+extern void utc_bluetooth_avrcp_control_negative_cleanup(void);
+extern void utc_bluetooth_avrcp_control_positive_startup(void);
+extern void utc_bluetooth_avrcp_control_positive_cleanup(void);
+extern void utc_bluetooth_avrcp_callback_positive_startup(void);
+extern void utc_bluetooth_avrcp_callback_positive_cleanup(void);
 
 extern int utc_bluetooth_bt_deinitialize_n(void);
 extern int utc_bluetooth_bt_adapter_set_state_changed_cb_n(void);
@@ -179,6 +185,12 @@ extern int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_set_scan_mode_changed_p(void);
 extern int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p(void);
+extern int utc_bluetooth_bt_avrcp_set_position_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_position_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p(void);
+extern int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p(void);
 extern int utc_bluetooth_bt_audio_connect_n(void);
 extern int utc_bluetooth_bt_audio_disconnect_n(void);
 extern int utc_bluetooth_bt_audio_set_connection_state_changed_cb_n(void);
@@ -190,6 +202,9 @@ extern int utc_bluetooth_bt_avrcp_set_equalizer_state_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_position_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_target_deinitialize_n(void);
 extern int utc_bluetooth_bt_avrcp_target_initialize_n(void);
 extern int utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n(void);
@@ -203,6 +218,9 @@ extern int utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n(void);
 extern int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_position_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n(void);
+extern int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n(void);
 extern int utc_bluetooth_bt_opp_server_accept_n(void);
 extern int utc_bluetooth_bt_opp_server_accept_n1(void);
 extern int utc_bluetooth_bt_opp_server_accept_n2(void);
@@ -387,7 +405,23 @@ extern int utc_bluetooth_bt_pbap_client_get_phone_book_n(void);
 extern int utc_bluetooth_bt_pbap_client_get_list_n(void);
 extern int utc_bluetooth_bt_pbap_client_pull_vcard_n(void);
 extern int utc_bluetooth_bt_pbap_client_search_phone_book_n(void);
-
+extern int utc_bluetooth_bt_avrcp_control_initialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_deinitialize_p(void);
+extern int utc_bluetooth_bt_avrcp_control_connect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_disconnect_n(void);
+extern int utc_bluetooth_bt_avrcp_control_send_player_command_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_equalizer_state_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_repeat_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_set_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_scan_mode_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_position_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_play_status_n(void);
+extern int utc_bluetooth_bt_avrcp_control_get_track_info_n(void);
+extern int utc_bluetooth_bt_avrcp_control_free_track_info_n(void);
 
 
 
@@ -492,15 +526,21 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_target_notify_scan_mode_p", utc_bluetooth_bt_avrcp_target_notify_scan_mode_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_player_state_p", utc_bluetooth_bt_avrcp_target_notify_player_state_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_position_p", utc_bluetooth_bt_avrcp_target_notify_position_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_target_notify_track_p", utc_bluetooth_bt_avrcp_target_notify_track_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
-    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_target_notify_track_p", utc_bluetooth_bt_avrcp_target_notify_track_p, utc_bluetooth_audio_positive_startup, utc_bluetooth_audio_positive_cleanup},    
+    {"utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p", utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_p", utc_bluetooth_bt_avrcp_set_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_position_changed_cb_p", utc_bluetooth_bt_avrcp_set_position_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_position_changed_cb_p", utc_bluetooth_bt_avrcp_unset_position_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p", utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p", utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p", utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p", utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p, utc_bluetooth_avrcp_callback_positive_startup, utc_bluetooth_avrcp_callback_positive_cleanup},
     {"utc_bluetooth_bt_audio_connect_n", utc_bluetooth_bt_audio_connect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_disconnect_n", utc_bluetooth_bt_audio_disconnect_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_audio_set_connection_state_changed_cb_n", utc_bluetooth_bt_audio_set_connection_state_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -512,6 +552,9 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n", utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_position_changed_cb_n", utc_bluetooth_bt_avrcp_set_position_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n", utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n", utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_deinitialize_n", utc_bluetooth_bt_avrcp_target_deinitialize_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_initialize_n", utc_bluetooth_bt_avrcp_target_initialize_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n", utc_bluetooth_bt_avrcp_target_notify_equalizer_state_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
@@ -525,6 +568,9 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n", utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_position_changed_cb_n", utc_bluetooth_bt_avrcp_unset_position_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n", utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n", utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n, utc_bluetooth_bt_audio_negative_startup, utc_bluetooth_bt_audio_negative_cleanup},
     {"utc_bluetooth_bt_opp_server_accept_n", utc_bluetooth_bt_opp_server_accept_n, utc_bluetooth_bt_opp_server_negative_startup, utc_bluetooth_bt_opp_server_negative_cleanup},
     {"utc_bluetooth_bt_opp_server_accept_n1", utc_bluetooth_bt_opp_server_accept_n1, utc_bluetooth_bt_opp_server_negative_startup, utc_bluetooth_bt_opp_server_negative_cleanup},
     {"utc_bluetooth_bt_opp_server_accept_n2", utc_bluetooth_bt_opp_server_accept_n2, utc_bluetooth_bt_opp_server_negative_startup, utc_bluetooth_bt_opp_server_negative_cleanup},
@@ -709,6 +755,23 @@ testcase tc_array[] = {
     {"utc_bluetooth_bt_pbap_client_get_list_n", utc_bluetooth_bt_pbap_client_get_list_n, utc_bluetooth_pbap_negative_startup, utc_bluetooth_pbap_negative_cleanup},
     {"utc_bluetooth_bt_pbap_client_pull_vcard_n", utc_bluetooth_bt_pbap_client_pull_vcard_n, utc_bluetooth_pbap_negative_startup, utc_bluetooth_pbap_negative_cleanup},
     {"utc_bluetooth_bt_pbap_client_search_phone_book_n", utc_bluetooth_bt_pbap_client_search_phone_book_n, utc_bluetooth_pbap_negative_startup, utc_bluetooth_pbap_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_initialize_p", utc_bluetooth_bt_avrcp_control_initialize_p, utc_bluetooth_avrcp_control_positive_startup, utc_bluetooth_avrcp_control_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_deinitialize_p", utc_bluetooth_bt_avrcp_control_deinitialize_p, utc_bluetooth_avrcp_control_positive_startup, utc_bluetooth_avrcp_control_positive_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_connect_n", utc_bluetooth_bt_avrcp_control_connect_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_disconnect_n", utc_bluetooth_bt_avrcp_control_disconnect_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_send_player_command_n", utc_bluetooth_bt_avrcp_control_send_player_command_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_equalizer_state_n", utc_bluetooth_bt_avrcp_control_set_equalizer_state_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_equalizer_state_n", utc_bluetooth_bt_avrcp_control_get_equalizer_state_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_repeat_mode_n", utc_bluetooth_bt_avrcp_control_set_repeat_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_repeat_mode_n", utc_bluetooth_bt_avrcp_control_get_repeat_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n", utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n", utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_set_scan_mode_n", utc_bluetooth_bt_avrcp_control_set_scan_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_scan_mode_n", utc_bluetooth_bt_avrcp_control_get_scan_mode_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_position_n", utc_bluetooth_bt_avrcp_control_get_position_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_play_status_n", utc_bluetooth_bt_avrcp_control_get_play_status_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_get_track_info_n", utc_bluetooth_bt_avrcp_control_get_track_info_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
+    {"utc_bluetooth_bt_avrcp_control_free_track_info_n", utc_bluetooth_bt_avrcp_control_free_track_info_n, utc_bluetooth_avrcp_control_negative_startup, utc_bluetooth_avrcp_control_negative_cleanup},
     {NULL, NULL}
 };
 
index 057d13c..21ba70e 100755 (executable)
@@ -26,6 +26,7 @@ static int ret = BT_ERROR_NONE;
 static bool bt_supported = false;
 static bool media_supported = false;
 static bool call_supported = false;
+static bool control_supported = false;
 
 /**
  * @function           utc_bluetooth_bt_audio_negative_startup
@@ -37,10 +38,11 @@ static bool call_supported = false;
  */
 void utc_bluetooth_bt_audio_negative_startup(void)
 {
-#ifdef TV_PRODUCT
+#ifdef TV
     bt_supported = true;
     media_supported = true;
     call_supported = false;
+       control_supported = false;
 #else
     bt_supported = false;
     system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth", &bt_supported);
@@ -50,6 +52,9 @@ void utc_bluetooth_bt_audio_negative_startup(void)
 
     call_supported = false;
     system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.call", &call_supported);
+
+       control_supported = false;
+       system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.controller", &control_supported);
 #endif
 
     if (bt_supported) {
@@ -276,7 +281,7 @@ static void __bt_avrcp_equalizer_state_changed_cb(bt_avrcp_equalizer_state_e equ
  */
 int utc_bluetooth_bt_avrcp_set_equalizer_state_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -305,7 +310,7 @@ static void __bt_avrcp_repeat_mode_changed_cb(bt_avrcp_repeat_mode_e repeat, voi
  */
 int utc_bluetooth_bt_avrcp_set_repeat_mode_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -334,7 +339,7 @@ static void __bt_avrcp_scan_mode_changed_cb(bt_avrcp_scan_mode_e scan, void *use
  */
 int utc_bluetooth_bt_avrcp_set_scan_mode_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -363,7 +368,7 @@ static void __bt_avrcp_set_shuffle_mode_changed_cb(bt_avrcp_scan_mode_e scan, vo
  */
 int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -378,6 +383,100 @@ int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_cb_n(void)
        return 0;
 }
 
+#ifndef TV
+static void __bt_avrcp_song_position_changed_cb(unsigned int postion,
+       void *user_data)
+{
+
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_set_position_changed_cb_n
+ * @since_tizen        3.0
+ * @description        check if audio profile is supported and startup_flag is asserted then deinitialize the bluetooth and
+ *                             register the callback function that will be invoked when the position is changed by the remote control device and check for errors.
+ * scenario            Try to register a callback function that will be invoked when position is changed by the remote control device after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_set_position_changed_cb_n(void)
+{
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+
+               ret = bt_avrcp_set_position_changed_cb(__bt_avrcp_song_position_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_set_position_changed_cb(__bt_avrcp_song_position_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+static void __bt_avrcp_player_state_changed_cb(bt_avrcp_player_state_e state,
+       void *user_data)
+{
+
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n
+ * @since_tizen        3.0
+ * @description        check if audio profile is supported and startup_flag is asserted then deinitialize the bluetooth and
+ *                             register the callback function that will be invoked when the play status is changed by the remote control device and check for errors.
+ * scenario            Try to register a callback function that will be invoked when play status is changed by the remote control device after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_n(void)
+{
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+
+               ret = bt_avrcp_set_play_status_changed_cb(__bt_avrcp_player_state_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_set_play_status_changed_cb(__bt_avrcp_player_state_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+static void __bt_avrcp_track_info_changed_cb(bt_avrcp_metadata_attributes_info_s *metadata,
+       void *user_data)
+{
+
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n
+ * @since_tizen        3.0
+ * @description        check if audio profile is supported and startup_flag is asserted then deinitialize the bluetooth and
+ *                             register the callback function that will be invoked when the track info is changed by the remote control device and check for errors.
+ * scenario            Try to register a callback function that will be invoked when track info is changed by the remote control device after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_n(void)
+{
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+
+               ret = bt_avrcp_set_track_info_changed_cb(__bt_avrcp_track_info_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_set_track_info_changed_cb(__bt_avrcp_track_info_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+
+#endif
+
 /**
  * @testcase           utc_bluetooth_bt_avrcp_target_deinitialize_n
  * @since_tizen                2.4
@@ -607,7 +706,7 @@ int utc_bluetooth_bt_avrcp_target_notify_track_n(void)
  */
 int utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -632,7 +731,7 @@ int utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_cb_n(void)
  */
 int utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -657,7 +756,7 @@ int utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_cb_n(void)
  */
 int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -682,7 +781,7 @@ int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_cb_n(void)
  */
 int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n(void)
 {
-       if (media_supported) {
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_deinitialize();
@@ -697,6 +796,84 @@ int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_cb_n(void)
        return 0;
 }
 
+#ifndef TV
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_unset_position_changed_cb_n
+ * @since_tizen        3.0
+ * @description        check if audio profile is supported and startup_flag is asserted then deinitialize the bluetooth and
+ *                             unregister the callback function set for position changes and check for errors.
+ * scenario            Try to unregister a callback function that will be invoked when the position is changed by the remote control device
+ *                             after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_unset_position_changed_cb_n(void)
+{
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+
+               ret = bt_avrcp_unset_position_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_unset_position_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n
+ * @since_tizen        3.0
+ * @description        check if audio profile is supported and startup_flag is asserted then deinitialize the bluetooth and
+ *                             unregister the callback function set for play status changes and check for errors.
+ * scenario            Try to unregister a callback function that will be invoked when the play status is changed by the remote control device
+ *                             after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_n(void)
+{
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+
+               ret = bt_avrcp_unset_play_status_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_unset_play_status_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n
+ * @since_tizen        3.0
+ * @description        check if audio profile is supported and startup_flag is asserted then deinitialize the bluetooth and
+ *                             unregister the callback function set for track info changes and check for errors.
+ * scenario            Try to unregister a callback function that will be invoked when the track info is changed by the remote control device
+ *                             after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_n(void)
+{
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+
+               ret = bt_avrcp_unset_track_info_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_unset_track_info_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+#endif
+
+
 #if defined(MOBILE) || defined(COMMON_IOT) 
 /**
  * @testcase           utc_bluetooth_bt_ag_open_sco_n
index 5415bca..ad65edc 100644 (file)
 //& set: BluetoothAudioPositive
 
 static int startup_flag = BT_ERROR_NONE;
-static int ret = BT_ERROR_NONE;
-static bool callback_result = false;
 static bool bt_supported = false;
 static bool media_supported = false;
 static bool call_supported = false;
+static bool control_supported = false;
+
+static void __bt_avrcp_target_connection_state_changed_cb(bool connected,
+       const char *remote_address, void *user_data)
+{
+
+}
+
+static void __bt_avrcp_control_connection_state_changed_cb(bool connected,
+       const char *remote_address, void *user_data)
+{
+
+}
+
 
 /**
  * @function            utc_bluetooth_audio_positive_startup
@@ -36,11 +48,10 @@ static bool call_supported = false;
  */
 void utc_bluetooth_audio_positive_startup(void)
 {
+       int ret = BT_ERROR_NONE;
     bt_adapter_state_e adapter_state = BT_ADAPTER_DISABLED;
 
-
-#ifdef TV
-#ifndef TV_PRODUCT
+#ifndef TV
                bt_supported = false;
                system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth", &bt_supported);
 
@@ -54,16 +65,6 @@ void utc_bluetooth_audio_positive_startup(void)
                media_supported = true;
                call_supported = false;
 #endif
-#else
-    bt_supported = false;
-    system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth", &bt_supported);
-
-    media_supported = false;
-    system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.media", &media_supported);
-
-    call_supported = false;
-    system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.call", &call_supported);
-#endif
 
     if (bt_supported) {
         startup_flag = BT_ERROR_NONE;
@@ -85,7 +86,6 @@ void utc_bluetooth_audio_positive_startup(void)
             }
         }
 
-        callback_result = false;
         ret = bt_adapter_get_state(&adapter_state);
         if (adapter_state != BT_ADAPTER_ENABLED) {
                 fprintf(stdout, "BT is not enabled!!");
@@ -109,6 +109,93 @@ void utc_bluetooth_audio_positive_cleanup(void)
         bt_deinitialize();
 }
 
+/**
+ * @function            utc_bluetooth_avrcp_callback_positive_startup
+ * @description         Called before each test
+ * @parameter           NA
+ * @return              NA
+ */
+void utc_bluetooth_avrcp_callback_positive_startup(void)
+{
+       int ret = BT_ERROR_NONE;
+
+#ifndef TV
+               bt_supported = false;
+               system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth", &bt_supported);
+
+               media_supported = false;
+               system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.media", &media_supported);
+
+               call_supported = false;
+               system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.call", &call_supported);
+
+               control_supported = false;
+               system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.controller", &control_supported);
+#else
+               bt_supported = true;
+               media_supported = true;
+               call_supported = false;
+               control_supported = false;
+#endif
+
+    if (bt_supported) {
+        startup_flag = BT_ERROR_NONE;
+        ret = bt_initialize();
+        if(BT_ERROR_NONE != ret) {
+            fprintf(stderr, "Startup error at %s:%d\n", __FILE__, __LINE__);
+            fprintf(stderr, "bt_initialize failed (code: %d)\n", ret);
+            startup_flag = ret;
+            return;
+        }
+
+               if (media_supported) {
+                       ret = bt_avrcp_target_initialize(
+                                                       __bt_avrcp_target_connection_state_changed_cb,
+                                                       NULL);
+            if(BT_ERROR_NONE != ret) {
+                fprintf(stderr, "Startup error at %s:%d\n", __FILE__, __LINE__);
+                fprintf(stderr, "bt_avrcp_target_initialize failed (code: %d)\n", ret);
+                startup_flag = ret;
+                return;
+            }
+               }
+
+#ifndef TV
+               if (control_supported) {
+                       ret = bt_avrcp_control_initialize(
+                                       __bt_avrcp_control_connection_state_changed_cb,
+                                       NULL);
+            if(BT_ERROR_NONE != ret) {
+                fprintf(stderr, "Startup error at %s:%d\n", __FILE__, __LINE__);
+                fprintf(stderr, "bt_avrcp_control_initialize failed (code: %d)\n", ret);
+                startup_flag = ret;
+                return;
+            }
+               }
+#endif
+    }
+}
+
+/**
+ * @function            utc_bluetooth_avrcp_callback_positive_cleanup
+ * @description         Called before each test
+ * @parameter           NA
+ * @return              NA
+ */
+void utc_bluetooth_avrcp_callback_positive_cleanup(void)
+{
+       if (media_supported)
+               bt_avrcp_target_deinitialize();
+
+#ifndef TV
+       if (control_supported)
+               bt_avrcp_control_deinitialize();
+#endif
+
+    if (bt_supported)
+        bt_deinitialize();
+}
+
 static void connection_state_changed_cb_for_audio_p(int result, bool connected,
                         const char *remote_address,
                         bt_audio_profile_type_e type,
@@ -126,6 +213,8 @@ static void connection_state_changed_cb_for_audio_p(int result, bool connected,
  */
 int utc_bluetooth_bt_audio_initialize_p(void)
 {
+       int ret = BT_ERROR_NONE;
+
     if (media_supported || call_supported) {
         assert_eq(startup_flag, BT_ERROR_NONE);
 
@@ -150,6 +239,8 @@ int utc_bluetooth_bt_audio_initialize_p(void)
  */
 int utc_bluetooth_bt_audio_set_connection_state_changed_cb_p(void)
 {
+       int ret = BT_ERROR_NONE;
+
     if (media_supported || call_supported) {
         assert_eq(startup_flag, BT_ERROR_NONE);
 
@@ -174,6 +265,8 @@ int utc_bluetooth_bt_audio_set_connection_state_changed_cb_p(void)
  */
 int utc_bluetooth_bt_audio_unset_connection_state_changed_cb_p(void)
 {
+       int ret = BT_ERROR_NONE;
+
     if (media_supported || call_supported) {
         assert_eq(startup_flag, BT_ERROR_NONE);
 
@@ -200,6 +293,8 @@ int utc_bluetooth_bt_audio_unset_connection_state_changed_cb_p(void)
  */
 int utc_bluetooth_bt_audio_deinitialize_p(void)
 {
+       int ret = BT_ERROR_NONE;
+
     if (media_supported || call_supported) {
         assert_eq(startup_flag, BT_ERROR_NONE);
 
@@ -213,11 +308,6 @@ int utc_bluetooth_bt_audio_deinitialize_p(void)
     return 0;
 }
 
-static void __bt_avrcp_target_connection_state_changed_cb(bool connected, const char *remote_address, void *user_data)
-{
-
-}
-
 /**
  * @testcase           utc_bluetooth_bt_avrcp_targe_initialize_p
  * @since_tizen        2.3
@@ -227,21 +317,22 @@ static void __bt_avrcp_target_connection_state_changed_cb(bool connected, const
  */
 int utc_bluetooth_bt_avrcp_targe_initialize_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
-               result = bt_avrcp_target_initialize(
+               ret = bt_avrcp_target_initialize(
                                __bt_avrcp_target_connection_state_changed_cb,
                                NULL);
-               assert_eq(result, BT_ERROR_NONE);
+               assert_eq(ret, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_initialize(
+               ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                                NULL);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
        return 0;
 }
@@ -255,19 +346,21 @@ int utc_bluetooth_bt_avrcp_targe_initialize_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_deinitialize_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_initialize(
                                        __bt_avrcp_target_connection_state_changed_cb,
                                        NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_target_deinitialize();
-               assert_eq(result, BT_ERROR_NONE);
+               ret = bt_avrcp_target_deinitialize();
+               assert_eq(ret, BT_ERROR_NONE);
        } else {
-               result = bt_avrcp_target_deinitialize();
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_deinitialize();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -282,20 +375,22 @@ int utc_bluetooth_bt_avrcp_target_deinitialize_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_notify_equalizer_state_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
                ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                        NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_target_notify_equalizer_state(BT_AVRCP_EQUALIZER_STATE_ON);
-               assert_eq(result, BT_ERROR_NONE);
+               ret = bt_avrcp_target_notify_equalizer_state(BT_AVRCP_EQUALIZER_STATE_ON);
+               assert_eq(ret, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_notify_equalizer_state(BT_AVRCP_EQUALIZER_STATE_ON);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_notify_equalizer_state(BT_AVRCP_EQUALIZER_STATE_ON);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -310,20 +405,22 @@ int utc_bluetooth_bt_avrcp_target_notify_equalizer_state_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_notify_repeat_mode_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
                ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                                NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_target_notify_repeat_mode(BT_AVRCP_REPEAT_MODE_SINGLE_TRACK);
-               assert_eq(result, BT_ERROR_NONE);
+               ret = bt_avrcp_target_notify_repeat_mode(BT_AVRCP_REPEAT_MODE_SINGLE_TRACK);
+               assert_eq(ret, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_notify_repeat_mode(BT_AVRCP_REPEAT_MODE_SINGLE_TRACK);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_notify_repeat_mode(BT_AVRCP_REPEAT_MODE_SINGLE_TRACK);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -338,22 +435,21 @@ int utc_bluetooth_bt_avrcp_target_notify_repeat_mode_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_notify_shuffle_mode_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
                ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                                NULL);
-               assert_eq(ret, BT_ERROR_NONE);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               if(ret == BT_ERROR_NONE) {
-                       result = bt_avrcp_target_notify_shuffle_mode(BT_AVRCP_SHUFFLE_MODE_ALL_TRACK);
-                       assert_eq(result, BT_ERROR_NONE);
-                       ret = bt_avrcp_target_deinitialize();
-               }
+               ret = bt_avrcp_target_notify_shuffle_mode(BT_AVRCP_SHUFFLE_MODE_ALL_TRACK);
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_notify_shuffle_mode(BT_AVRCP_SHUFFLE_MODE_ALL_TRACK);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_notify_shuffle_mode(BT_AVRCP_SHUFFLE_MODE_ALL_TRACK);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -368,20 +464,22 @@ int utc_bluetooth_bt_avrcp_target_notify_shuffle_mode_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_notify_scan_mode_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
                ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                                NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_target_notify_scan_mode(BT_AVRCP_SCAN_MODE_ALL_TRACK);
-               assert_eq(result, BT_ERROR_NONE);
+               ret = bt_avrcp_target_notify_scan_mode(BT_AVRCP_SCAN_MODE_ALL_TRACK);
+               assert_eq(ret, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_notify_scan_mode(BT_AVRCP_SCAN_MODE_ALL_TRACK);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_notify_scan_mode(BT_AVRCP_SCAN_MODE_ALL_TRACK);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -396,20 +494,22 @@ int utc_bluetooth_bt_avrcp_target_notify_scan_mode_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_notify_player_state_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
                ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                                NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_target_notify_player_state(BT_AVRCP_PLAYER_STATE_STOPPED);
-               assert_eq(result, BT_ERROR_NONE);
+               ret = bt_avrcp_target_notify_player_state(BT_AVRCP_PLAYER_STATE_STOPPED);
+               assert_eq(ret, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_notify_player_state(BT_AVRCP_PLAYER_STATE_STOPPED);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_notify_player_state(BT_AVRCP_PLAYER_STATE_STOPPED);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -424,21 +524,23 @@ int utc_bluetooth_bt_avrcp_target_notify_player_state_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_notify_position_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
        unsigned int position = 0;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
                ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                                NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_target_notify_position(position);
-               assert_eq(result, BT_ERROR_NONE);
+               ret = bt_avrcp_target_notify_position(position);
+               assert_eq(ret, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_notify_position(position);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_notify_position(position);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -453,20 +555,22 @@ int utc_bluetooth_bt_avrcp_target_notify_position_p(void)
  */
 int utc_bluetooth_bt_avrcp_target_notify_track_p(void)
 {
-       int result;
+       int ret = BT_ERROR_NONE;
+
        if (media_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
                ret = bt_avrcp_target_initialize(
                                                __bt_avrcp_target_connection_state_changed_cb,
                                                NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_target_notify_track("title", "artist", "album", "genre", 5, 20, 2);
-               assert_eq(result, BT_ERROR_NONE);
+               ret = bt_avrcp_target_notify_track("title", "artist", "album", "genre", 5, 20, 2);
+               assert_eq(ret, BT_ERROR_NONE);
 
                ret = bt_avrcp_target_deinitialize();
        } else {
-               result = bt_avrcp_target_notify_track("title", "artist", "album", "genre", 5, 20, 2);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_target_notify_track("title", "artist", "album", "genre", 5, 20, 2);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -489,21 +593,17 @@ static void __bt_avrcp_set_equalizer_state_changed_cb(
  */
 int utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p(void)
 {
-       int result;
-       if (media_supported) {
-               assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
+       int ret = BT_ERROR_NONE;
 
-               result = bt_avrcp_set_equalizer_state_changed_cb(__bt_avrcp_set_equalizer_state_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NONE);
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
 
-               result = bt_avrcp_unset_equalizer_state_changed_cb();
-               ret = bt_avrcp_target_deinitialize();
+               ret = bt_avrcp_set_equalizer_state_changed_cb(__bt_avrcp_set_equalizer_state_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_unset_equalizer_state_changed_cb();
        } else {
-               result = bt_avrcp_set_equalizer_state_changed_cb(__bt_avrcp_set_equalizer_state_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_set_equalizer_state_changed_cb(__bt_avrcp_set_equalizer_state_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -519,21 +619,19 @@ int utc_bluetooth_bt_avrcp_set_equalizer_state_changed_p(void)
  */
 int utc_bluetooth_bt_avrcp_unset_equalizer_state_changed_p(void)
 {
-       int result;
-       if (media_supported) {
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
 
-               result = bt_avrcp_set_equalizer_state_changed_cb(__bt_avrcp_set_equalizer_state_changed_cb, NULL);
+               ret = bt_avrcp_set_equalizer_state_changed_cb(__bt_avrcp_set_equalizer_state_changed_cb, NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_unset_equalizer_state_changed_cb();
-               assert_eq(result, BT_ERROR_NONE);
-               ret = bt_avrcp_target_deinitialize();
+               ret = bt_avrcp_unset_equalizer_state_changed_cb();
+               assert_eq(ret, BT_ERROR_NONE);
        } else {
-               result = bt_avrcp_unset_equalizer_state_changed_cb();
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_unset_equalizer_state_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -555,20 +653,17 @@ static void __bt_avrcp_set_repeat_mode_changed_cb(bt_avrcp_repeat_mode_e repeat,
  */
 int utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p(void)
 {
-       int result;
-       if (media_supported) {
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
 
-               result = bt_avrcp_set_repeat_mode_changed_cb(__bt_avrcp_set_repeat_mode_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NONE);
-               result = bt_avrcp_unset_repeat_mode_changed_cb();
-               ret = bt_avrcp_target_deinitialize();
+               ret = bt_avrcp_set_repeat_mode_changed_cb(__bt_avrcp_set_repeat_mode_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_unset_repeat_mode_changed_cb();
        } else {
-               result = bt_avrcp_set_repeat_mode_changed_cb(__bt_avrcp_set_repeat_mode_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_set_repeat_mode_changed_cb(__bt_avrcp_set_repeat_mode_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -584,20 +679,19 @@ int utc_bluetooth_bt_avrcp_set_repeat_mode_changed_p(void)
  */
 int utc_bluetooth_bt_avrcp_unset_repeat_mode_changed_p(void)
 {
-       int result;
-       if (media_supported) {
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
 
-               result = bt_avrcp_set_repeat_mode_changed_cb(__bt_avrcp_set_repeat_mode_changed_cb, NULL);
-               result = bt_avrcp_unset_repeat_mode_changed_cb();
-               assert_eq(result, BT_ERROR_NONE);
-               ret = bt_avrcp_target_deinitialize();
+               ret = bt_avrcp_set_repeat_mode_changed_cb(__bt_avrcp_set_repeat_mode_changed_cb, NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_unset_repeat_mode_changed_cb();
+               assert_eq(ret, BT_ERROR_NONE);
        } else {
-               result = bt_avrcp_set_repeat_mode_changed_cb(__bt_avrcp_set_repeat_mode_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_unset_repeat_mode_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -618,20 +712,17 @@ static void __bt_avrcp_set_shuffle_mode_changed_cb(bt_avrcp_shuffle_mode_e shuff
  */
 int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p(void)
 {
-       int result;
-       if (media_supported) {
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
 
-               result = bt_avrcp_set_shuffle_mode_changed_cb(__bt_avrcp_set_shuffle_mode_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NONE);
-               result = bt_avrcp_unset_shuffle_mode_changed_cb();
-               ret = bt_avrcp_target_deinitialize();
+               ret = bt_avrcp_set_shuffle_mode_changed_cb(__bt_avrcp_set_shuffle_mode_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_unset_shuffle_mode_changed_cb();
        } else {
-               result = bt_avrcp_set_shuffle_mode_changed_cb(__bt_avrcp_set_shuffle_mode_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_set_shuffle_mode_changed_cb(__bt_avrcp_set_shuffle_mode_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -647,21 +738,19 @@ int utc_bluetooth_bt_avrcp_set_shuffle_mode_changed_p(void)
  */
 int utc_bluetooth_bt_avrcp_unset_shuffle_mode_changed_p(void)
 {
-       int result;
-       if(media_supported) {
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
 
-               result = bt_avrcp_set_shuffle_mode_changed_cb(__bt_avrcp_set_shuffle_mode_changed_cb, NULL);
+               ret = bt_avrcp_set_shuffle_mode_changed_cb(__bt_avrcp_set_shuffle_mode_changed_cb, NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_unset_shuffle_mode_changed_cb();
-               assert_eq(result, BT_ERROR_NONE);
-               ret = bt_avrcp_target_deinitialize();
+               ret = bt_avrcp_unset_shuffle_mode_changed_cb();
+               assert_eq(ret, BT_ERROR_NONE);
        } else {
-               result = bt_avrcp_unset_shuffle_mode_changed_cb();
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_unset_shuffle_mode_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -683,22 +772,19 @@ static void __bt_avrcp_set_scan_mode_changed_cb(bt_avrcp_scan_mode_e scan,
  */
 int utc_bluetooth_bt_avrcp_set_scan_mode_changed_p(void)
 {
-       int result;
-       if (media_supported) {
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
 
-               result = bt_avrcp_set_scan_mode_changed_cb(
+               ret = bt_avrcp_set_scan_mode_changed_cb(
                                __bt_avrcp_set_scan_mode_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NONE);
-               result = bt_avrcp_unset_scan_mode_changed_cb();
-               ret = bt_avrcp_target_deinitialize();
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_unset_scan_mode_changed_cb();
        } else {
-               result = bt_avrcp_set_scan_mode_changed_cb(
+               ret = bt_avrcp_set_scan_mode_changed_cb(
                                __bt_avrcp_set_scan_mode_changed_cb, NULL);
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
@@ -714,23 +800,214 @@ int utc_bluetooth_bt_avrcp_set_scan_mode_changed_p(void)
  */
 int utc_bluetooth_bt_avrcp_unset_scan_mode_changed_p(void)
 {
-       int result;
-       if (media_supported) {
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
                assert_eq(startup_flag, BT_ERROR_NONE);
-               ret = bt_avrcp_target_initialize(
-                                               __bt_avrcp_target_connection_state_changed_cb,
-                                               NULL);
 
-               result = bt_avrcp_set_scan_mode_changed_cb(
+               ret = bt_avrcp_set_scan_mode_changed_cb(
                                __bt_avrcp_set_scan_mode_changed_cb, NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
 
-               result = bt_avrcp_unset_scan_mode_changed_cb();
-               assert_eq(result, BT_ERROR_NONE);
-               ret = bt_avrcp_target_deinitialize();
+               ret = bt_avrcp_unset_scan_mode_changed_cb();
+               assert_eq(ret, BT_ERROR_NONE);
+       } else {
+               ret = bt_avrcp_unset_scan_mode_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+
+#ifndef TV
+static void __bt_avrcp_song_position_changed_cb(unsigned int postion,
+       void *user_data)
+{
+
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_set_position_changed_cb_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Call set avrcp position changed callback
+ *                             with valid input details and check there is no error. Then unset the avrcp position changed callback.
+ * @senario            Positive case to check for bt_avrcp_set_position_changed_cb(). Verify result is BT_ERROR_NONE.
+ */
+int utc_bluetooth_bt_avrcp_set_position_changed_cb_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_set_position_changed_cb(
+                               __bt_avrcp_song_position_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_unset_position_changed_cb();
+       } else {
+               ret = bt_avrcp_set_position_changed_cb(
+                               __bt_avrcp_song_position_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_unset_position_changed_cb_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Call set avrcp position changed callback
+ *                             with valid input details and check there is no error. Then unset the avrcp position changed callback and verify there is no error.
+ * @senario            Positive case to check for bt_avrcp_unset_position_changed_cb(). Verify result is BT_ERROR_NONE.
+ */
+int utc_bluetooth_bt_avrcp_unset_position_changed_cb_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_set_position_changed_cb(
+                               __bt_avrcp_song_position_changed_cb, NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_unset_position_changed_cb();
+               assert_eq(ret, BT_ERROR_NONE);
+       } else {
+               ret = bt_avrcp_unset_position_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+static void __bt_avrcp_player_state_changed_cb(bt_avrcp_player_state_e state,
+       void *user_data)
+{
+
+}
+
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Call set avrcp play status changed callback
+ *                             with valid input details and check there is no error. Then unset the avrcp play status changed callback.
+ * @senario            Positive case to check for bt_avrcp_set_play_status_changed_cb(). Verify result is BT_ERROR_NONE.
+ */
+int utc_bluetooth_bt_avrcp_set_play_status_changed_cb_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_set_play_status_changed_cb(
+                               __bt_avrcp_player_state_changed_cb, NULL);
+
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_unset_play_status_changed_cb();
+       } else {
+               ret = bt_avrcp_set_play_status_changed_cb(
+                               __bt_avrcp_player_state_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Call set avrcp play status changed callback
+ *                             with valid input details and check there is no error. Then unset the avrcp play status changed callback and verify there is no error.
+ * @senario            Positive case to check for bt_avrcp_unset_play_status_changed_cb(). Verify result is BT_ERROR_NONE.
+ */
+int utc_bluetooth_bt_avrcp_unset_play_status_changed_cb_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_set_play_status_changed_cb(
+                               __bt_avrcp_player_state_changed_cb, NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_unset_play_status_changed_cb();
+               assert_eq(ret, BT_ERROR_NONE);
        } else {
-               result = bt_avrcp_unset_scan_mode_changed_cb();
-               assert_eq(result, BT_ERROR_NOT_SUPPORTED);
+               ret = bt_avrcp_unset_play_status_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
        }
 
        return 0;
 }
+
+static void __bt_avrcp_track_info_changed_cb(bt_avrcp_metadata_attributes_info_s *metadata,
+       void *user_data)
+{
+
+}
+
+
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Call set avrcp track info changed callback
+ *                             with valid input details and check there is no error. Then unset the avrcp track info changed callback.
+ * @senario            Positive case to check for bt_avrcp_set_track_info_changed_cb(). Verify result is BT_ERROR_NONE.
+ */
+int utc_bluetooth_bt_avrcp_set_track_info_changed_cb_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_set_track_info_changed_cb(
+                               __bt_avrcp_track_info_changed_cb, NULL);
+
+               assert_eq(ret, BT_ERROR_NONE);
+               ret = bt_avrcp_unset_track_info_changed_cb();
+       } else {
+               ret = bt_avrcp_set_track_info_changed_cb(
+                               __bt_avrcp_track_info_changed_cb, NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Call set avrcp play status changed callback
+ *                             with valid input details and check there is no error. Then unset the avrcp play status changed callback and verify there is no error.
+ * @senario            Positive case to check for bt_avrcp_unset_track_info_changed_cb(). Verify result is BT_ERROR_NONE.
+ */
+int utc_bluetooth_bt_avrcp_unset_track_info_changed_cb_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (media_supported || control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_set_track_info_changed_cb(
+                               __bt_avrcp_track_info_changed_cb, NULL);
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_unset_track_info_changed_cb();
+               assert_eq(ret, BT_ERROR_NONE);
+       } else {
+               ret = bt_avrcp_unset_track_info_changed_cb();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+#endif
+
diff --git a/src/utc/bluetooth/utc_bluetooth_avrcp_control_negative.c b/src/utc/bluetooth/utc_bluetooth_avrcp_control_negative.c
new file mode 100644 (file)
index 0000000..28e0afe
--- /dev/null
@@ -0,0 +1,509 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#include "assert.h"
+#include <bluetooth.h>
+#include <glib.h>
+#include <string.h>
+#include <system_info.h>
+
+//& set: BluetoothAVRCPControlNegative
+
+static int startup_flag = BT_ERROR_NONE;
+static bool bt_supported = false;
+static bool control_supported = false;
+
+#ifndef TV
+static void __bt_avrcp_control_connection_state_changed_cb(bool connected,
+       const char *remote_address, void *user_data)
+{
+
+}
+
+/**
+ * @function           utc_bluetooth_avrcp_control_negative_startup
+ * @description        check if bluetooth is supported, initialize bluetooth.
+ *                             check if media or call feature is supported, then initialize the avrcp control profiles.
+ * @parameter          NA
+ * @return                     NA
+ */
+void utc_bluetooth_avrcp_control_negative_startup(void)
+{
+       int ret = BT_ERROR_NONE;
+       startup_flag = BT_ERROR_NONE;
+
+       bt_supported = false;
+       system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth", &bt_supported);
+
+       control_supported = false;
+       system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.controller", &control_supported);
+
+       if (bt_supported) {
+               ret = bt_initialize();
+               if (BT_ERROR_NONE != ret) {
+                       fprintf(stderr, "Startup error at %s:%d\n", __FILE__, __LINE__);
+                       fprintf(stderr, "bt_initialize failed (code: %d)\n", ret);
+                       startup_flag = ret;
+                       return;
+               }
+
+               if (control_supported) {
+                       ret = bt_avrcp_control_initialize(
+                                                       __bt_avrcp_control_connection_state_changed_cb,
+                                                       NULL);
+                       if(BT_ERROR_NONE != ret) {
+                               fprintf(stderr, "Startup error at %s:%d\n", __FILE__, __LINE__);
+                               fprintf(stderr, "bt_avrcp_control_initialize failed (code: %d)\n", ret);
+                               startup_flag = ret;
+                               return;
+                       }
+               }
+       }
+}
+
+/**
+ * @function           utc_bluetooth_avrcp_control_negative_cleanup
+ * @description        check if audio controller feature is supported, then de-initialize the avrcp control profiles
+ *                             check if bluetooth is supported, de-initialize bluetooth.
+ * @parameter          NA
+ * @return                     NA
+ */
+void utc_bluetooth_avrcp_control_negative_cleanup(void)
+{
+       if (control_supported)
+               bt_avrcp_control_deinitialize();
+
+    if(bt_supported)
+        bt_deinitialize();
+}
+
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_connect_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             connect to the remote device with given avrcp control profile and check for errors.
+ * @scenario           Try to connect the remote device with the given avrcp control profile, asynchronously,
+ *                             after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_connect_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       char remote_addr[18] = "F6:FB:8F:D8:C8:7C";
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_connect(remote_addr);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_connect(remote_addr);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_disconnect_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             connect to the remote device with given avrcp control profile and check for errors.
+ * @scenario           Try to disconnect the remote device with the given avrcp control profile, asynchronously,
+ *                             after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_disconnect_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       char remote_addr[18] = "F6:FB:8F:D8:C8:7C";
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_disconnect(remote_addr);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_disconnect(remote_addr);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_send_player_command_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_send_player_command_n(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_send_player_command(BT_AVRCP_CONTROL_PLAY);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_send_player_command(BT_AVRCP_CONTROL_PLAY);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_set_equalizer_state_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_set_equalizer_state_n(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_set_equalizer_state(BT_AVRCP_EQUALIZER_STATE_ON);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_set_equalizer_state(BT_AVRCP_EQUALIZER_STATE_ON);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_get_equalizer_state_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_get_equalizer_state_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       bt_avrcp_equalizer_state_e state = BT_AVRCP_EQUALIZER_STATE_ON;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_get_equalizer_state(&state);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_get_equalizer_state(&state);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_set_repeat_mode_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_set_repeat_mode_n(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_set_repeat_mode(BT_AVRCP_REPEAT_MODE_SINGLE_TRACK);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_set_repeat_mode(BT_AVRCP_REPEAT_MODE_SINGLE_TRACK);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_get_repeat_mode_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_get_repeat_mode_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       bt_avrcp_repeat_mode_e mode = BT_AVRCP_REPEAT_MODE_SINGLE_TRACK;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_get_repeat_mode(&mode);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_get_repeat_mode(&mode);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_set_shuffle_mode_n(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_set_shuffle_mode(BT_AVRCP_SHUFFLE_MODE_ALL_TRACK);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_set_shuffle_mode(BT_AVRCP_SHUFFLE_MODE_ALL_TRACK);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_get_shuffle_mode_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       bt_avrcp_shuffle_mode_e mode = BT_AVRCP_SHUFFLE_MODE_ALL_TRACK;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_get_shuffle_mode(&mode);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_get_shuffle_mode(&mode);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_set_scan_mode_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_set_scan_mode_n(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_set_scan_mode(BT_AVRCP_SCAN_MODE_GROUP);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_set_scan_mode(BT_AVRCP_SCAN_MODE_GROUP);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_get_scan_mode_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_get_scan_mode_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       bt_avrcp_scan_mode_e mode = BT_AVRCP_SCAN_MODE_GROUP;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_get_scan_mode(&mode);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_get_scan_mode(&mode);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_get_position_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_get_position_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       unsigned int position = 0;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_get_position(&position);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_get_position(&position);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_get_play_status_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_get_play_status_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       bt_avrcp_player_state_e status = BT_AVRCP_PLAYER_STATE_STOPPED;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_get_play_status(&status);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_get_play_status(&status);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_get_track_info_n
+ * @since_tizen        3.0
+ * @description        check if avrcp control profile is supported and startup_flag is asserted, then deinitialize the bluetooth and
+ *                             call the given avrcp control profile API and check for errors.
+ * @scenario           Try to call the given avrcp control API, after bluetooth de-initialization.
+ */
+int utc_bluetooth_bt_avrcp_control_get_track_info_n(void)
+{
+       int ret = BT_ERROR_NONE;
+       bt_avrcp_metadata_attributes_info_s *track_info = NULL;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_get_track_info(&track_info);
+               assert_eq(ret, BT_ERROR_NOT_INITIALIZED);
+       } else {
+               ret = bt_avrcp_control_get_track_info(&track_info);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       if (track_info)
+               ret = bt_avrcp_control_free_track_info(track_info);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_free_track_info_n
+ * @since_tizen        3.0
+ * @description        Call to free track information by setting the track info param as "NULL" and check the "ret" flag
+ *                             with BT_ERROR_INVALID_PARAMETER if le   is supported otherwise just try to free device information
+ *                             by setting the device info param as "NULL" and check the "ret" flag with BT_ERROR_NOT_SUPPORTED.
+ * @scenario           Negative scenario to free device information with "NULL" parameter.
+ */
+int utc_bluetooth_bt_avrcp_control_free_track_info_n(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_control_free_track_info(NULL);
+               assert_eq(ret, BT_ERROR_INVALID_PARAMETER);
+       } else {
+               ret = bt_avrcp_control_free_track_info(NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+#endif
diff --git a/src/utc/bluetooth/utc_bluetooth_avrcp_control_positive.c b/src/utc/bluetooth/utc_bluetooth_avrcp_control_positive.c
new file mode 100644 (file)
index 0000000..9c5515b
--- /dev/null
@@ -0,0 +1,145 @@
+//
+// Copyright (c) 2014 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#include "assert.h"
+#include <bluetooth.h>
+#include <glib.h>
+#include <string.h>
+#include <system_info.h>
+
+//& set: BluetoothAVRCPControlPositive
+
+static int startup_flag = BT_ERROR_NONE;
+static bool bt_supported = false;
+static bool control_supported = false;
+
+#ifndef TV
+static void __bt_avrcp_control_connection_state_changed_cb(bool connected,
+       const char *remote_address, void *user_data)
+{
+
+}
+
+/**
+ * @function            utc_bluetooth_avrcp_control_positive_startup
+ * @description         Called before each test
+ * @parameter           NA
+ * @return              NA
+ */
+void utc_bluetooth_avrcp_control_positive_startup(void)
+{
+       int ret = BT_ERROR_NONE;
+       startup_flag = BT_ERROR_NONE;
+
+       bt_supported = false;
+       system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth", &bt_supported);
+
+       control_supported = false;
+       system_info_get_platform_bool("http://tizen.org/feature/network.bluetooth.audio.controller", &control_supported);
+
+       if (bt_supported) {
+               ret = bt_initialize();
+               if (BT_ERROR_NONE != ret) {
+                       fprintf(stderr, "Startup error at %s:%d\n", __FILE__, __LINE__);
+                       fprintf(stderr, "bt_initialize failed (code: %d)\n", ret);
+                       startup_flag = ret;
+                       return;
+               }
+
+               if (control_supported) {
+                       ret = bt_avrcp_control_initialize(
+                                                       __bt_avrcp_control_connection_state_changed_cb,
+                                                       NULL);
+                       if(BT_ERROR_NONE != ret) {
+                               fprintf(stderr, "Startup error at %s:%d\n", __FILE__, __LINE__);
+                               fprintf(stderr, "bt_avrcp_control_initialize failed (code: %d)\n", ret);
+                               startup_flag = ret;
+                               return;
+                       }
+               }
+    }
+}
+
+/**
+ * @function            utc_bluetooth_avrcp_control_positive_cleanup
+ * @description         Called after each test
+ * @parameter           NA
+ * @return              NA
+ */
+void utc_bluetooth_avrcp_control_positive_cleanup(void)
+{
+       if (control_supported)
+               bt_avrcp_control_deinitialize();
+
+       if (bt_supported)
+               bt_deinitialize();
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_initialize_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Initialize avrcp control and check for BT_ERROR_NONE. Then deinitialize avrcp control.
+ * @senario            Positive case to check for avrcp control initialize. Check if BT and controller is supported and then initialize avrcp control.
+ *                             Check for BT_ERROR_NONE.
+ */
+
+int utc_bluetooth_bt_avrcp_control_initialize_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_control_deinitialize();
+               /* Don't check the error in this position, because this is the precondition to verify */
+
+               ret = bt_avrcp_control_initialize(
+                               __bt_avrcp_control_connection_state_changed_cb,
+                               NULL);
+               assert_eq(ret, BT_ERROR_NONE);
+       } else {
+               ret = bt_avrcp_control_initialize(
+                               __bt_avrcp_control_connection_state_changed_cb,
+                               NULL);
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_bluetooth_bt_avrcp_control_deinitialize_p
+ * @since_tizen        3.0
+ * @description        Assert bt is initialized. Initialize avrcp control and check for BT_ERROR_NONE. Then deinitialize avrcp control.
+ * @senario            Positive case to check for avrcp control deinitialize. Check if BT and controller is supported and then deinitialize avrcp control.
+ *                             Check for BT_ERROR_NONE.
+ */
+int utc_bluetooth_bt_avrcp_control_deinitialize_p(void)
+{
+       int ret = BT_ERROR_NONE;
+
+       if (control_supported) {
+               assert_eq(startup_flag, BT_ERROR_NONE);
+
+               ret = bt_avrcp_control_deinitialize();
+               assert_eq(ret, BT_ERROR_NONE);
+       } else {
+               ret = bt_avrcp_control_deinitialize();
+               assert_eq(ret, BT_ERROR_NOT_SUPPORTED);
+       }
+
+       return 0;
+}
+#endif