Unit test example for generated kotlin
Requires the files to be generated with
$ python3 generator/dawn_json_generator.py --template-dir generator/templates --output-dir tools/android/webgpu/src/main --dawn-json src/dawn/dawn.json --targets kotlin --jinja2-path third_party/jinja2
Once kotlin bindings are generated the tests can be run locally with
$ gradle wrapper
$ ./gradlew :webgpu:testDebugUnitTest
Change-Id: Ib1a7b8a9eb4bec0e26dfc2469762a65e92f17a44
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/182364
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Trevor David Black <vantablack@google.com>
diff --git a/tools/android/webgpu/build.gradle b/tools/android/webgpu/build.gradle
index 1f95d40..b6d1fb8 100644
--- a/tools/android/webgpu/build.gradle
+++ b/tools/android/webgpu/build.gradle
@@ -69,6 +69,7 @@
dependencies {
implementation 'androidx.core:core-ktx:1.12.0'
+ testImplementation 'junit:junit:4.12'
}
project.afterEvaluate {
diff --git a/tools/android/webgpu/src/test/java/android/dawn/EnumsTest.kt b/tools/android/webgpu/src/test/java/android/dawn/EnumsTest.kt
new file mode 100644
index 0000000..82d60a6
--- /dev/null
+++ b/tools/android/webgpu/src/test/java/android/dawn/EnumsTest.kt
@@ -0,0 +1,18 @@
+package android.dawn
+
+import org.junit.Test
+
+import org.junit.Assert.assertTrue
+
+class EnumsTest {
+ @Test
+ fun uniqueEnumsBufferBindingType() {
+ val values = HashSet<BufferBindingType>()
+ arrayOf(
+ BufferBindingType.Undefined,
+ BufferBindingType.Uniform,
+ BufferBindingType.Storage,
+ BufferBindingType.ReadOnlyStorage
+ ).forEach { value -> assertTrue("Multiple enums share value $value", values.add(value)) }
+ }
+}