Kotlin: New integration test for Adapter functionality.
This is basic for now but we need to start somewhere.
The .getInfo() actually does quite a complex C -> Kotlin structure conversion that has been known to crash if JNI doesn't happen as expected and I would love to gate submits on that.
Test: AdapterTest
Bug: 426113478
Change-Id: Ief6d1d17d457f23308f4a0589ec1507b9c28ab9f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/248034
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Alfie Baxter <alfiebaxter@google.com>
Reviewed-by: Barış Kaya <bkaya@google.com>
Commit-Queue: Jim Blackler <jimblackler@google.com>
diff --git a/tools/android/webgpu/src/androidTest/java/android/dawn/AdapterTest.kt b/tools/android/webgpu/src/androidTest/java/android/dawn/AdapterTest.kt
new file mode 100644
index 0000000..fd8b521
--- /dev/null
+++ b/tools/android/webgpu/src/androidTest/java/android/dawn/AdapterTest.kt
@@ -0,0 +1,29 @@
+package android.dawn
+
+import android.dawn.helper.Util
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import kotlinx.coroutines.runBlocking
+import org.junit.Assert.assertEquals
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class AdapterTest {
+ @Test
+ fun adaptorTest() {
+ Util // Hack to force library initialization.
+
+ val instance = createInstance()
+ runBlocking {
+ val (status1, adapter, message1) = instance.requestAdapter()
+ check(status1 == RequestAdapterStatus.Success && adapter != null) {
+ message1 ?: "Error requesting the adapter"
+ }
+ val adapterInfo = adapter.getInfo()
+
+ assertEquals("The backend type should be Vulkan",
+ BackendType.Vulkan.value, adapterInfo.backendType.value
+ )
+ }
+ }
+}