PTS test results for GAP

PTS version: 5.3
Tested: 05-December-2014
Android version: 5.0
Kernel version: 3.18

Results:
PASS	test passed
FAIL	test failed
INC	test is inconclusive
N/A	test is disabled due to PICS setup

-------------------------------------------------------------------------------
Test Name		Result	Notes
-------------------------------------------------------------------------------
TC_MOD_NDIS_BV_01_C	PASS	IUT must be non-discoverable
TC_MOD_LDIS_BV_01_C	PASS	btmgmt discov limited 30
TC_MOD_LDIS_BV_02_C	PASS	btmgmt discov limited 30
TC_MOD_LDIS_BV_03_C	PASS	btmgmt discov limited 30
TC_MOD_GDIS_BV_01_C	PASS	IUT must be discoverable
TC_MOD_GDIS_BV_02_C	PASS	IUT must be discoverable
TC_MOD_NCON_BV_01_C	PASS	btmgmt connectable off
TC_MOD_CON_BV_01_C	PASS	btmgmt connectable on
TC_BROB_BCST_BV_01_C	N/A
TC_BROB_BCST_BV_02_C	N/A
TC_BROB_BCST_BV_03_C	N/A
TC_BROB_OBSV_BV_01_C	N/A
TC_BROB_OBSV_BV_02_C	N/A
TC_BROB_OBSV_BV_03_C	N/A
TC_BROB_OBSV_BV_04_C	N/A
TC_BROB_OBSV_BV_05_C	N/A
TC_DISC_NONM_BV_01_C	PASS	btmgmt connectable off
				btmgmt advertising on
TC_DISC_NONM_BV_02_C	PASS	btmgmt connectable on
				btmgmt discov off
				btmgmt advertising on
TC_DISC_LIMM_BV_01_C	PASS	btmgmt connectable on
				btmgmt discov off
				<answer NO to non-connectable adv question>
				btmgmt discov limited 30
TC_DISC_LIMM_BV_02_C	PASS	btmgmt connectable on
				btmgmt advertising on
				btmgmt discov limited 30
TC_DISC_LIMM_BV_03_C	PASS	btmgmt connectable on
				btmgmt discov off
				<answer NO to non-connectable adv question>
				btmgmt discov limited 30
TC_DISC_LIMM_BV_04_C	PASS	btmgmt connectable on
				btmgmt discov off
				btmgmt power off
				btmgmt bredr off
				btmgmt power on
				btmgmt discov limited 30
TC_DISC_GENM_BV_01_C	PASS	btmgmt connectable on
				btmgmt discov on
				<answer NO to non-connectable adv question>
TC_DISC_GENM_BV_02_C	PASS	btmgmt connectable on
				btmgmt advertising on
				btmgmt discov on
TC_DISC_GENM_BV_03_C	PASS	btmgmt connectable on
				btmgmt discov on
				<answer NO to non-connectable adv question>
TC_DISC_GENM_BV_04_C	PASS	btmgmt connectable on
				btmgmt power off
				btmgmt le on
				btmgmt bredr off
				btmgmt power on
				btmgmt discov on
				btmgmt advertising on
TC_DISC_LIMP_BV_01_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 unset and bit 0 set
TC_DISC_LIMP_BV_02_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 set and bit 0 unset
TC_DISC_LIMP_BV_03_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 and bit 0 unset
TC_DISC_LIMP_BV_04_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 and bit 0 unset
TC_DISC_LIMP_BV_05_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 and bit 0 unset
TC_DISC_GENP_BV_01_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 set and bit 0 unset
TC_DISC_GENP_BV_02_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 unset and bit 0 set
TC_DISC_GENP_BV_03_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 and bit 0 unset
TC_DISC_GENP_BV_04_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 and bit 0 unset
TC_DISC_GENP_BV_05_C	PASS	btmgmt find -l
				PTS AD flags must have bit 1 and bit 0 unset
TC_IDLE_GIN_BV_01_C	PASS	Start discovery from IUT
TC_IDLE_LIN_BV_01_C	PASS	hcitool scan --iac=liac
TC_IDLE_NAMP_BV_01_C	PASS	possible to PASS using haltest following steps:
				gattc - register client, connect to PTS, search
				all services, get characteristic and then read
				characteristic (name)
TC_IDLE_NAMP_BV_02_C	PASS	PTS issue #12679
				haltest: gatts connect
TC_CONN_NCON_BV_01_C	PASS	btmgmt connectable off
				btmgmt advertising on
				<answer NO to non-connectable adv question>
TC_CONN_NCON_BV_02_C	PASS	<answer NO to non-connectable adv question>
				Note: non-connectable and discoverable ?
TC_CONN_NCON_BV_03_C	PASS	<answer NO to non-connectable adv question>
				Note: non-connectable and discoverable ?
TC_CONN_DCON_BV_01_C	PASS	btmgmt connectable on
				btmgmt advertising on
TC_CONN_DCON_BV_02_C	N/A
TC_CONN_DCON_BV_03_C	N/A
TC_CONN_UCON_BV_01_C	PASS	btmgmt connectable on
				btmgmt advertising on
TC_CONN_UCON_BV_02_C	PASS	btmgmt connectable on
				btmgmt discov on
				btmgmt advertising on
TC_CONN_UCON_BV_03_C	PASS	btmgmt connectable on
				btmgmt advertising on
				btmgmt discov limited 30
TC_CONN_UCON_BV_04_C	N/A
TC_CONN_UCON_BV_05_C	N/A
TC_CONN_ACEP_BV_01_C	PASS	'gattc connect' prior to pressing OK on PTS
TC_CONN_ACEP_BV_02_C	N/A
TC_CONN_GCEP_BV_01_C	PASS	'gattc connect' prior to pressing OK on PTS
TC_CONN_GCEP_BV_02_C	PASS	'gattc connect' prior to pressing OK on PTS
TC_CONN_GCEP_BV_03_C	N/A
TC_CONN_GCEP_BV_04_C	N/A
TC_CONN_SCEP_BV_01_C	PASS	'gattc connect' prior to pressing OK on PTS
TC_CONN_SCEP_BV_02_C	N/A
TC_CONN_DCEP_BV_01_C	PASS	'gattc connect' prior to pressing OK on PTS
TC_CONN_DCEP_BV_02_C	INC	Test Spec. Errata approved - PTS issue #12600
				is claimed to be resolved in upcoming ETS 8400
TC_CONN_DCEP_BV_03_C	PASS	gattc connect
TC_CONN_DCEP_BV_04_C	N/A
TC_CONN_CPUP_BV_01_C	PASS	gattc register_client
				gattc listen
TC_CONN_CPUP_BV_02_C	PASS	gattc register_client
				gattc listen
TC_CONN_CPUP_BV_03_C	PASS	gattc register_client
				gattc listen
TC_CONN_CPUP_BV_04_C	PASS	gattc register_client
				gattc connect
				gattc disconnect
TC_CONN_CPUP_BV_05_C	PASS	gattc register_client
				gattc connect
				gattc disconnect
TC_CONN_CPUP_BV_06_C	PASS	gattc register_client
				gattc connect 1 <pts_bdaddr>
				hcitool lecup <handle> 0x00C8 0x0960 0x0007
					0x0960
				gattc disconnect <client_if> <pts_bdaddr>
					<conn_id>
TC_CONN_TERM_BV_01_C	PASS
TC_CONN_PRDA_BV_01_C	PASS	gattc register_client
				gattc listen
				gattc disconnect
TC_CONN_PRDA_BV_02_C	INC	PTS issue #12310
				Note: PTS issues #12207 & #12310 are claimed
				to be resolved by the ETS provided in PTS issue
				#12312 however it does not solve the problem
TC_BOND_NBON_BV_01_C	PASS
TC_BOND_NBON_BV_02_C	PASS	haltest: gattc register_client
				gattc connect <client_id> <address>
				bluetooth create_bond <address>
				bluetooth remove_bond <address>
TC_BOND_NBON_BV_03_C	PASS	haltest: gattc listen
TC_BOND_BON_BV_01_C	PASS	PTS issue #12503
				possible to pass without MITM:
				btmgmt power on
				btmgmt le on
				btmgmt ssp on
				btmgmt connectable on
				btmgmt discov on
				btmgmt advertising on
				btmgmt pairable on
				To bond with PTS execute
				btmgmt pair -t 0x01 -c 0x03 <PTS addr>
TC_BOND_BON_BV_02_C	PASS
TC_BOND_BON_BV_03_C	PASS	PTS issue #12678
				gattc register_client
				gattc listen 1
TC_BOND_BON_BV_04_C	PASS	haltest: gattc_register_client
				gattc connect <client_id> <address>
				gattc disconnect
				gattc connect <client_id> <address>
				gattc test_command 226 <addr> 0 2
TC_SEC_AUT_BV_11_C	PASS	haltest: gattc register_client
				gatts register_server
				gatts add_service 2 <uuid> 3
				gatts add_characteristic 2 1b <uuid> 10 68
				gatts start_service 2 1b 1
				gattc listen
				PTS asks for handle with Insufficient auth
				bluetooth ssp_reply <addr> <passkey>
				gatts send_response
TC_SEC_AUT_BV_12_C	INC	PTS issue #12657
				haltest: gatts register_server
				gatts add_service 2 <uuid> 3
				gatts add_characteristic 2 <service_handle>
								<uuid> 10 68
				gatts start_service 2 <service_handle> 1
				gatts connect <server_if> <addr>
				PTS asks for handle with Insufficient auth
				bluetooth ssp_reply <addr> <passkey>
				gatts send_response
TC_SEC_AUT_BV_13_C	INC	PTS issue #12657
				haltest: gatts register_server
				gatts add_service 2 <uuid> 3
				gatts add_characteristic 2 <service_handle>
								<uuid> 10 68
				gatts start_service 2 <service_handle> 1
				gatts connect <server_if> <addr>
				PTS asks for handle with Insufficient auth
				bluetooth ssp_reply <addr> <passkey>
				gatts send_response
TC_SEC_AUT_BV_14_C	INC	PTS issue #12657
				haltest:gattc register_client
				gatts register_server
				gatts add_service 2 <uuid> 3
				gatts add_characteristic 2 1b <uuid> 10 68
				gatts start_service 2 1b 1
				gattc listen
				PTS asks for handle with Insufficient auth
				bluetooth ssp_reply <addr> <passkey>
				gatts send_response
TC_SEC_AUT_BV_15_C	N/A
TC_SEC_AUT_BV_16_C	N/A
TC_SEC_AUT_BV_17_C	PASS
TC_SEC_AUT_BV_18_C	PASS	haltest: gattc register_client
				gattc listen
				gattc search_service
				gattc get_characteristic
				gattc read_characteristic
				bluetooth create_bond
				gattc read_characteristic
TC_SEC_AUT_BV_19_C	PASS
TC_SEC_AUT_BV_20_C	PASS	haltest: gattc register_client
				gattc listen <client_id> 1
				Confirm bonding
				gattc search_service
				gattc get_characteristic
				gattc read_characteristic
				gattc listen <client_id> 0
				Click OK on PTS popup to disconnect
				bluetooth remove bond
				gattc listen <client_id> 1
				gattc read_characteristic
TC_SEC_AUT_BV_21_C	PASS	haltest: gattc register_client
				gattc connect
				bluetooth create_bond
				gattc connect
				gattc test_command 226 <addr> 0 1
TC_SEC_AUT_BV_22_C	PASS	btmgmt io-cap 3
				haltest: gattc register_client
				gattc listen
				gattc test_command 226 <addr> <u1> 1
TC_SEC_AUT_BV_23_C	INC	PTS issue #12657
				haltest: gatts register_server
				gatts add_service 2 <uuid> 3
				gatts add_characteristic 2 <service_handle>
								<uuid> 10 34
				gatts start_service 2 <service_handle> 1
				gattc register_client
				gattc listen
				bluetooth ssp_reply
				gatts send_response
TC_SEC_AUT_BV_24_C	INC	PTS issue #12657
				haltest: gatts register_server
				gatts add_service 2 <uuid> 3
				gatts add_characteristic 2 <service_handle>
								<uuid> 10 34
				gatts start_service 2 <service_handle> 1
				gatts connect <PTS addr>
				bluetooth ssp_reply
				gatts disconnect
				gatts connect
				PTS asks for handle with insufficient encryption
				gatts send_response
TC_SEC_CSIGN_BV_01_C	PASS	haltest:
				gattc connect
				bluetooth create_bond
				gattc connect
				gattc write_characteristic: <write_type> 4
				gattc disconnect
TC_SEC_CSIGN_BV_02_C	INC	PTS issue #12675
				haltest:
				gatts add_service
				gatts add_chaaracteristic:
						<properties> 66
						<permissions> 129
				gatts start_service
				gatts disconnect
				gattc disconnect
TC_SEC_CSIGN_BI_01_C	INC	PTS issue #12675
				haltest:
				gatts add_service
				gatts add_chaaracteristic:
						<properties> 66
						<permissions> 129
				gatts start_service
				gatts disconnect
				gattc disconnect
TC_SEC_CSIGN_BI_02_C	INC	PTS issue #12675
				haltest:
				gatts add_service
				gatts add_chaaracteristic:
						<properties> 66
						<permissions> 129
				gatts start_service
				gatts disconnect
				gattc disconnect
TC_SEC_CSIGN_BI_03_C	INC	PTS issue #12675
				haltest:
				gatts add_service
				gatts add_characteristic:
						<properties> 64
						<permissions> 128
				gatts start_service
				gattc listen
				bluetooth ssp_reply
				gatts disconnect
				bluetooth remove_bond
TC_SEC_CSIGN_BI_04_C	INC	PTS issue #12675
				haltest:
				gatts add_service
				gatts add_characteristic:
						<properties> 64
						<permissions> 256
				gatts start_service
				gattc listen
				bluetooth ssp_reply
				gatts disconnect
TC_PRIV_CONN_BV_01_C	N/A
TC_PRIV_CONN_BV_02_C	N/A
TC_PRIV_CONN_BV_03_C	N/A
TC_PRIV_CONN_BV_04_C	N/A
TC_PRIV_CONN_BV_05_C	N/A
TC_PRIV_CONN_BV_06_C	N/A
TC_PRIV_CONN_BV_07_C	N/A
TC_PRIV_CONN_BV_08_C	N/A
TC_PRIV_CONN_BV_09_C	N/A
TC_PRIV_CONN_BV_10_C	PASS	PTS issue #12312
				Note: currently for this test following PIXITs
				are required to be be changed:
				TSPX_using_public_device_address: FALSE
				TSPX_using_random_device_address: TRUE
TC_PRIV_CONN_BV_11_C	INC	PTS issue #12310, JIRA #BA-186
TC_ADV_BV_01_C		N/A
TC_ADV_BV_02_C		PASS	gattc register_client
				gattc listen 1 1
TC_ADV_BV_03_C		PASS	gattc register_client
				gattc listen 1 1
TC_ADV_BV_04_C		N/A
TC_ADV_BV_05_C		PASS	gattc register_client
				gattc listen 1 1
TC_ADV_BV_06_C		N/A
TC_ADV_BV_07_C		N/A
TC_ADV_BV_08_C		N/A
TC_ADV_BV_09_C		N/A
TC_ADV_BV_10_C		N/A
TC_ADV_BV_11_C		N/A
TC_ADV_BV_12_C		N/A
TC_ADV_BV_13_C		N/A
TC_ADV_BV_14_C		N/A
TC_ADV_BV_15_C		N/A
TC_ADV_BV_16_C		N/A
TC_GAT_BV_01_C		PASS	haltest:
				gattc register_client
				gattc listen
TC_GAT_BV_02_C		N/A
TC_GAT_BV_03_C		N/A
TC_GAT_BV_04_C		N/A
TC_GAT_BV_05_C		N/A
TC_GAT_BV_06_C		N/A
TC_GAT_BV_07_C		N/A
TC_GAT_BV_08_C		N/A
TC_DM_NCON_BV_01_C	PASS	btmgmt connectable off
TC_DM_CON_BV_01_C	PASS	btmgmt connectable on
TC_DM_NBON_BV_01_C	PASS
TC_DM_BON_BV_01_C	PASS	haltest:
				create_bond and remove_bond when requested
TC_DM_GIN_BV_01_C	PASS
TC_DM_LIN_BV_01_C	PASS
TC_DM_NAD_BV_01_C	PASS	Start discovery from IUT
TC_DM_NAD_BV_02_C	PASS
TC_DM_LEP_BV_01_C	PASS	gattc register_client
				gattc listen 1 1
TC_DM_LEP_BV_02_C	PASS	Use basic rate PTS dongle
				haltest:
				bluetooth set_adapter_property
TC_DM_LEP_BV_04_C	PASS	l2test -n <PTS bdaddr>
TC_DM_LEP_BV_05_C	PASS	btmgmt find -b
				l2test -n 00:1B:DC:06:06:22
TC_DM_LEP_BV_06_C	PASS
TC_DM_LEP_BV_07_C	PASS
TC_DM_LEP_BV_08_C	PASS
TC_DM_LEP_BV_09_C	PASS	haltest:
				bluetooth enable
				bluetooth set_adapter_property
					BT_PROPERTY_ADAPTER_SCAN_MODE
					BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE
				gattc register_client
				bluetooth start_discovery
				gattc connect
				l2test -n -P 31 <PTS addr>
				disconnect
TC_DM_LEP_BV_10_C	PASS	haltest:
				bluetooth enable
				bluetooth set_adapter_property
					BT_PROPERTY_ADAPTER_SCAN_MODE
					BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE
				gattc register_client
				gattc listen
				bluetooth start_discovery
				l2test -n -P 31 <PTS addr>
TC_DM_LEP_BV_11_C	PASS	haltest:
				bluetooth enable
				bluetooth set_adapter_property
					BT_PROPERTY_ADAPTER_SCAN_MODE
					BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE
				gattc register_client
				gattc connect
-------------------------------------------------------------------------------
