Merge "Have CTS pass for devices without Bluetooth" into marshmallow-cts-dev
diff --git a/tests/tests/bluetooth/src/android/bluetooth/cts/ScanFilterTest.java b/tests/tests/bluetooth/src/android/bluetooth/cts/ScanFilterTest.java
index 16e1413..1d78ebb 100644
--- a/tests/tests/bluetooth/src/android/bluetooth/cts/ScanFilterTest.java
+++ b/tests/tests/bluetooth/src/android/bluetooth/cts/ScanFilterTest.java
@@ -20,6 +20,7 @@
import android.bluetooth.BluetoothDevice;
import android.bluetooth.le.ScanFilter;
import android.bluetooth.le.ScanResult;
+import android.content.pm.PackageManager;
import android.os.Parcel;
import android.os.ParcelUuid;
import android.test.AndroidTestCase;
@@ -55,14 +56,24 @@
};
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
- BluetoothDevice device = adapter.getRemoteDevice(DEVICE_MAC);
- mScanResult = new ScanResult(device, TestUtils.parseScanRecord(scanRecord),
- -10, 1397545200000000L);
- mFilterBuilder = new ScanFilter.Builder();
+ if (adapter == null) {
+ // Bluetooth is not supported
+ assertFalse(mContext.getPackageManager().
+ hasSystemFeature(PackageManager.FEATURE_BLUETOOTH));
+ } else {
+ assertTrue(mContext.getPackageManager().
+ hasSystemFeature(PackageManager.FEATURE_BLUETOOTH));
+ BluetoothDevice device = adapter.getRemoteDevice(DEVICE_MAC);
+ mScanResult = new ScanResult(device, TestUtils.parseScanRecord(scanRecord),
+ -10, 1397545200000000L);
+ mFilterBuilder = new ScanFilter.Builder();
+ }
}
@SmallTest
public void testsetNameFilter() {
+ if (mFilterBuilder == null) return;
+
ScanFilter filter = mFilterBuilder.setDeviceName(LOCAL_NAME).build();
assertEquals(LOCAL_NAME, filter.getDeviceName());
assertTrue("setName filter fails", filter.matches(mScanResult));
@@ -73,6 +84,8 @@
@SmallTest
public void testDeviceAddressFilter() {
+ if (mFilterBuilder == null) return;
+
ScanFilter filter = mFilterBuilder.setDeviceAddress(DEVICE_MAC).build();
assertEquals(DEVICE_MAC, filter.getDeviceAddress());
assertTrue("device filter fails", filter.matches(mScanResult));
@@ -83,6 +96,8 @@
@SmallTest
public void testsetServiceUuidFilter() {
+ if (mFilterBuilder == null) return;
+
ScanFilter filter = mFilterBuilder.setServiceUuid(
ParcelUuid.fromString(UUID1)).build();
assertEquals(UUID1, filter.getServiceUuid().toString());
@@ -104,6 +119,8 @@
@SmallTest
public void testsetServiceDataFilter() {
+ if (mFilterBuilder == null) return;
+
byte[] setServiceData = new byte[] {
0x50, 0x64 };
ParcelUuid serviceDataUuid = ParcelUuid.fromString(UUID2);
@@ -135,6 +152,8 @@
@SmallTest
public void testManufacturerSpecificData() {
+ if (mFilterBuilder == null) return;
+
byte[] manufacturerData = new byte[] {
0x02, 0x15 };
int manufacturerId = 0xE0;
@@ -170,6 +189,8 @@
@SmallTest
public void testReadWriteParcel() {
+ if (mFilterBuilder == null) return;
+
ScanFilter filter = mFilterBuilder.build();
testReadWriteParcelForFilter(filter);
diff --git a/tests/tests/bluetooth/src/android/bluetooth/cts/ScanResultTest.java b/tests/tests/bluetooth/src/android/bluetooth/cts/ScanResultTest.java
index 91da8c3..f323712 100644
--- a/tests/tests/bluetooth/src/android/bluetooth/cts/ScanResultTest.java
+++ b/tests/tests/bluetooth/src/android/bluetooth/cts/ScanResultTest.java
@@ -19,6 +19,7 @@
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.le.ScanResult;
+import android.content.pm.PackageManager;
import android.os.Parcel;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -41,6 +42,9 @@
*/
@SmallTest
public void testScanResultParceling() {
+ if (! mContext.getPackageManager().
+ hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) return;
+
BluetoothDevice device =
BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
ScanResult result = new ScanResult(device, TestUtils.parseScanRecord(SCAN_RECORD), RSSI,
@@ -59,6 +63,9 @@
@SmallTest
public void testDescribeContents() {
+ if (! mContext.getPackageManager().
+ hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) return;
+
BluetoothDevice device =
BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
ScanResult result = new ScanResult(device, TestUtils.parseScanRecord(SCAN_RECORD), RSSI,