Check feature before running test

bug:15406811

Change-Id: I5500c5f6382d819b0143c6cb325b5569baec8cdc
diff --git a/suite/cts/deviceTests/browserbench/Android.mk b/suite/cts/deviceTests/browserbench/Android.mk
index 6b241a9..6fdb06d 100644
--- a/suite/cts/deviceTests/browserbench/Android.mk
+++ b/suite/cts/deviceTests/browserbench/Android.mk
@@ -26,7 +26,7 @@
 
 LOCAL_PACKAGE_NAME := CtsDeviceBrowserBench
 
-LOCAL_SDK_VERSION := 16
+LOCAL_SDK_VERSION := current
 
 include $(BUILD_CTS_PACKAGE)
 
diff --git a/suite/cts/deviceTests/browserbench/src/com/android/cts/browser/BrowserBenchTest.java b/suite/cts/deviceTests/browserbench/src/com/android/cts/browser/BrowserBenchTest.java
index 997f730..81e6a21 100644
--- a/suite/cts/deviceTests/browserbench/src/com/android/cts/browser/BrowserBenchTest.java
+++ b/suite/cts/deviceTests/browserbench/src/com/android/cts/browser/BrowserBenchTest.java
@@ -16,7 +16,9 @@
 
 package com.android.cts.browser;
 
+import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.cts.util.WatchDog;
 import android.net.Uri;
 import android.provider.Browser;
@@ -124,6 +126,10 @@
 
     @TimeoutReq(minutes = 60)
     public void testOctane() throws InterruptedException {
+        if (!hasWebViewFeature(getContext())) {
+            Log.w(TAG, "Skipping testOctane");
+            return;
+        }
         String url = mWebServer.getAssetUrl(OCTANE_START_FILE) + "?auto=1";
         final int kRepeat = 5;
         doTest(url, ResultType.LOWER_BETTER, ResultUnit.MS,
@@ -167,4 +173,9 @@
             numberToProcess++;
         }
     }
+
+    private static boolean hasWebViewFeature(Context context) {
+        // Query the system property that determines if there is a functional WebView on the device
+        return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WEBVIEW);
+    }
 }
diff --git a/tests/expectations/knownfailures.txt b/tests/expectations/knownfailures.txt
index 06ee1fa..fc810e3 100644
--- a/tests/expectations/knownfailures.txt
+++ b/tests/expectations/knownfailures.txt
@@ -185,9 +185,5 @@
 {
   name: "android.text.cts.BoringLayoutTest#testScale",
   bug: 15134518
-},
-{
-  name: "com.android.cts.browser.BrowserBenchTest#testOctane",
-  bug: 15406811
 }
 ]