Fix explicit checks for /dev/kvm

We should use the system properties instead (check for capability not
implementation). And we should use the new utilities to do so.

Bug: 218276733
Test: atest CompOsSigningHostTest
Change-Id: If703c80c0ee25dd537408b5edff49247d56d52eb
diff --git a/test/odsign/test-src/com/android/tests/odsign/CompOsTestUtils.java b/test/odsign/test-src/com/android/tests/odsign/CompOsTestUtils.java
index e86c096..3b38ac1 100644
--- a/test/odsign/test-src/com/android/tests/odsign/CompOsTestUtils.java
+++ b/test/odsign/test-src/com/android/tests/odsign/CompOsTestUtils.java
@@ -24,6 +24,7 @@
 
 import com.android.tradefed.device.DeviceNotAvailableException;
 import com.android.tradefed.device.ITestDevice;
+import com.android.tradefed.device.TestDevice;
 import com.android.tradefed.util.CommandResult;
 
 import java.util.concurrent.TimeUnit;
@@ -120,7 +121,9 @@
 
     public void assumeCompOsPresent() throws Exception {
         // We have to have kernel support for a VM.
-        assumeTrue(mDevice.doesFileExist("/dev/kvm"));
+        assumeTrue("Need an actual TestDevice", mDevice instanceof TestDevice);
+        TestDevice testDevice = (TestDevice) mDevice;
+        assumeTrue("Requires VM support", testDevice.deviceSupportsMicrodroid());
 
         // And the CompOS APEX must be present.
         assumeTrue(mDevice.doesFileExist("/apex/com.android.compos/"));