summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/webnn
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/meta/webnn')
-rw-r--r--testing/web-platform/meta/webnn/__dir__.ini4
-rw-r--r--testing/web-platform/meta/webnn/conformance_tests/buffer.https.any.js.ini72
-rw-r--r--testing/web-platform/meta/webnn/conformance_tests/gpu/buffer.https.any.js.ini72
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/argMinMax.https.any.js.ini20
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/batchNormalization.https.any.js.ini (renamed from testing/web-platform/meta/webnn/validation_tests/batch_normalization.https.any.js.ini)40
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/cast.https.any.js.ini (renamed from testing/web-platform/meta/webnn/validation_tests/layer_normalization.https.any.js.ini)10
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/clamp.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/concat.https.any.js.ini68
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/constant.https.any.js.ini62
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/conv2d.https.any.js.ini32
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/convTranspose2d.https.any.js.ini32
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/elementwise-binary.https.any.js.ini92
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/elementwise-unary.https.any.js.ini268
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/elu.https.any.js.ini (renamed from testing/web-platform/meta/webnn/validation_tests/arg_min_max.https.any.js.ini)10
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/expand.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/gather.https.any.js.ini12
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/gemm.https.any.js.ini26
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/gru.https.any.js.ini42
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/gruCell.https.any.js.ini188
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/hardSigmoid.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/hardSwish.https.any.js.ini88
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/input.https.any.js.ini32
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/instanceNormalization.https.any.js.ini26
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/layerNormalization.https.any.js.ini26
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/leakyRelu.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/linear.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/lstm.https.any.js.ini54
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/lstmCell.https.any.js.ini236
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/matmul.https.any.js.ini20
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/pad.https.any.js.ini (renamed from testing/web-platform/meta/webnn/validation_tests/elementwise_binary.https.any.js.ini)10
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/pooling.https.any.js.ini28
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/prelu.https.any.js.ini20
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/reduction.https.any.js.ini60
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/relu.https.any.js.ini304
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/resample2d.https.any.js.ini132
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/reshape.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/sigmoid.https.any.js.ini88
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/slice.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/softmax.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/softplus.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/softsign.https.any.js.ini88
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/split.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/tanh.https.any.js.ini88
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/transpose.https.any.js.ini14
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/triangular.https.any.js.ini6
-rw-r--r--testing/web-platform/meta/webnn/validation_tests/where.https.any.js.ini74
46 files changed, 2573 insertions, 11 deletions
diff --git a/testing/web-platform/meta/webnn/__dir__.ini b/testing/web-platform/meta/webnn/__dir__.ini
index 2812b2241c..c8c69f457d 100644
--- a/testing/web-platform/meta/webnn/__dir__.ini
+++ b/testing/web-platform/meta/webnn/__dir__.ini
@@ -1,4 +1,2 @@
-disabled:
- if (os == "win") and debug: Not implemented
- if (os == "android") and not debug: Not implemented
+implementation-status: not-implementing
diff --git a/testing/web-platform/meta/webnn/conformance_tests/buffer.https.any.js.ini b/testing/web-platform/meta/webnn/conformance_tests/buffer.https.any.js.ini
index d59b7c606c..3f20a4e298 100644
--- a/testing/web-platform/meta/webnn/conformance_tests/buffer.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/conformance_tests/buffer.https.any.js.ini
@@ -6,6 +6,42 @@
[destroyTwice]
expected: NOTRUN
+ [read / destroy]
+ expected: NOTRUN
+
+ [read / full_size]
+ expected: NOTRUN
+
+ [read / src_offset_only]
+ expected: NOTRUN
+
+ [read / zero_write]
+ expected: NOTRUN
+
+ [read / src_offset_and_size]
+ expected: NOTRUN
+
+ [read / larger_src_data]
+ expected: NOTRUN
+
+ [read / no_src_offset]
+ expected: NOTRUN
+
+ [read / context_mismatch]
+ expected: NOTRUN
+
+ [write / error]
+ expected: NOTRUN
+
+ [write / destroy]
+ expected: NOTRUN
+
+ [write / detached]
+ expected: NOTRUN
+
+ [write / context_mismatch]
+ expected: NOTRUN
+
[buffer.https.any.html]
expected: ERROR
@@ -14,3 +50,39 @@
[destroyTwice]
expected: NOTRUN
+
+ [read / destroy]
+ expected: NOTRUN
+
+ [read / full_size]
+ expected: NOTRUN
+
+ [read / src_offset_only]
+ expected: NOTRUN
+
+ [read / zero_write]
+ expected: NOTRUN
+
+ [read / src_offset_and_size]
+ expected: NOTRUN
+
+ [read / larger_src_data]
+ expected: NOTRUN
+
+ [read / no_src_offset]
+ expected: NOTRUN
+
+ [read / context_mismatch]
+ expected: NOTRUN
+
+ [write / error]
+ expected: NOTRUN
+
+ [write / destroy]
+ expected: NOTRUN
+
+ [write / detached]
+ expected: NOTRUN
+
+ [write / context_mismatch]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/webnn/conformance_tests/gpu/buffer.https.any.js.ini b/testing/web-platform/meta/webnn/conformance_tests/gpu/buffer.https.any.js.ini
index 33513829a2..ccfef56214 100644
--- a/testing/web-platform/meta/webnn/conformance_tests/gpu/buffer.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/conformance_tests/gpu/buffer.https.any.js.ini
@@ -6,6 +6,42 @@
[destroyTwice]
expected: NOTRUN
+ [read / destroy]
+ expected: NOTRUN
+
+ [read / full_size]
+ expected: NOTRUN
+
+ [read / src_offset_only]
+ expected: NOTRUN
+
+ [read / zero_write]
+ expected: NOTRUN
+
+ [read / src_offset_and_size]
+ expected: NOTRUN
+
+ [read / larger_src_data]
+ expected: NOTRUN
+
+ [read / no_src_offset]
+ expected: NOTRUN
+
+ [read / context_mismatch]
+ expected: NOTRUN
+
+ [write / error]
+ expected: NOTRUN
+
+ [write / destroy]
+ expected: NOTRUN
+
+ [write / detached]
+ expected: NOTRUN
+
+ [write / context_mismatch]
+ expected: NOTRUN
+
[buffer.https.any.worker.html]
expected: ERROR
@@ -14,3 +50,39 @@
[destroyTwice]
expected: NOTRUN
+
+ [read / destroy]
+ expected: NOTRUN
+
+ [read / full_size]
+ expected: NOTRUN
+
+ [read / src_offset_only]
+ expected: NOTRUN
+
+ [read / zero_write]
+ expected: NOTRUN
+
+ [read / src_offset_and_size]
+ expected: NOTRUN
+
+ [read / larger_src_data]
+ expected: NOTRUN
+
+ [read / no_src_offset]
+ expected: NOTRUN
+
+ [read / context_mismatch]
+ expected: NOTRUN
+
+ [write / error]
+ expected: NOTRUN
+
+ [write / destroy]
+ expected: NOTRUN
+
+ [write / detached]
+ expected: NOTRUN
+
+ [write / context_mismatch]
+ expected: NOTRUN
diff --git a/testing/web-platform/meta/webnn/validation_tests/argMinMax.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/argMinMax.https.any.js.ini
new file mode 100644
index 0000000000..340fe62715
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/argMinMax.https.any.js.ini
@@ -0,0 +1,20 @@
+[argMinMax.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[argMin\] throw if input is from another builder]
+ expected: FAIL
+
+ [[argMax\] throw if input is from another builder]
+ expected: FAIL
+
+
+[argMinMax.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[argMin\] throw if input is from another builder]
+ expected: FAIL
+
+ [[argMax\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/batch_normalization.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/batchNormalization.https.any.js.ini
index 3ec569fa97..c8225ca14c 100644
--- a/testing/web-platform/meta/webnn/validation_tests/batch_normalization.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/batchNormalization.https.any.js.ini
@@ -1,4 +1,4 @@
-[batch_normalization.https.any.worker.html]
+[batchNormalization.https.any.worker.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
@@ -35,8 +35,26 @@
[[batchNormalization\] DataError is expected if bias.dimensions[0\] is not equal to input.dimensions[options.axis\]]
expected: FAIL
+ [[batchNormalization\] throw if input is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if mean is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if variance is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if scale option is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if activation option is from another builder]
+ expected: FAIL
+
-[batch_normalization.https.any.html]
+[batchNormalization.https.any.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
@@ -72,3 +90,21 @@
[[batchNormalization\] DataError is expected if bias.dimensions[0\] is not equal to input.dimensions[options.axis\]]
expected: FAIL
+
+ [[batchNormalization\] throw if input is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if mean is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if variance is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if scale option is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[batchNormalization\] throw if activation option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/layer_normalization.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/cast.https.any.js.ini
index ca3d522614..91bba57a69 100644
--- a/testing/web-platform/meta/webnn/validation_tests/layer_normalization.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/cast.https.any.js.ini
@@ -1,8 +1,14 @@
-[layer_normalization.https.any.html]
+[cast.https.any.worker.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+ [[cast\] throw if input is from another builder]
+ expected: FAIL
+
-[layer_normalization.https.any.worker.html]
+[cast.https.any.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[cast\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/clamp.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/clamp.https.any.js.ini
new file mode 100644
index 0000000000..f4dcbc0cf7
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/clamp.https.any.js.ini
@@ -0,0 +1,14 @@
+[clamp.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[clamp\] throw if input is from another builder]
+ expected: FAIL
+
+
+[clamp.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[clamp\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/concat.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/concat.https.any.js.ini
new file mode 100644
index 0000000000..8175c816a9
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/concat.https.any.js.ini
@@ -0,0 +1,68 @@
+[concat.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[concat\] Test building Concat with one input.]
+ expected: FAIL
+
+ [[concat\] Test building Concat with two inputs]
+ expected: FAIL
+
+ [[concat\] Test building Concat with three inputs]
+ expected: FAIL
+
+ [[concat\] Test building Concat with two 1D inputs.]
+ expected: FAIL
+
+ [[concat\] Throw if the argument types are inconsistent.]
+ expected: FAIL
+
+ [[concat\] Throw if the inputs have different ranks.]
+ expected: FAIL
+
+ [[concat\] Throw if the axis is equal to or greater than the size of ranks]
+ expected: FAIL
+
+ [[concat\] Throw if concat with two 0-D scalars.]
+ expected: FAIL
+
+ [[concat\] Throw if the inputs have other axes with different sizes except on the axis.]
+ expected: FAIL
+
+ [[concat\] throw if any input is from another builder]
+ expected: FAIL
+
+
+[concat.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[concat\] Test building Concat with one input.]
+ expected: FAIL
+
+ [[concat\] Test building Concat with two inputs]
+ expected: FAIL
+
+ [[concat\] Test building Concat with three inputs]
+ expected: FAIL
+
+ [[concat\] Test building Concat with two 1D inputs.]
+ expected: FAIL
+
+ [[concat\] Throw if the argument types are inconsistent.]
+ expected: FAIL
+
+ [[concat\] Throw if the inputs have different ranks.]
+ expected: FAIL
+
+ [[concat\] Throw if the axis is equal to or greater than the size of ranks]
+ expected: FAIL
+
+ [[concat\] Throw if concat with two 0-D scalars.]
+ expected: FAIL
+
+ [[concat\] Throw if the inputs have other axes with different sizes except on the axis.]
+ expected: FAIL
+
+ [[concat\] throw if any input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/constant.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/constant.https.any.js.ini
new file mode 100644
index 0000000000..73ad4c4979
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/constant.https.any.js.ini
@@ -0,0 +1,62 @@
+[constant.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[constant\] Test building a 0-D scalar constant without presenting dimensions]
+ expected: FAIL
+
+ [[constant\] Test building a 0-D scalar constant with empty dimensions]
+ expected: FAIL
+
+ [[constant\] Test building a constant with float32 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with int32 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with uint32 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with int64 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with uint64 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with int8 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with uint8 data type]
+ expected: FAIL
+
+
+[constant.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[constant\] Test building a 0-D scalar constant without presenting dimensions]
+ expected: FAIL
+
+ [[constant\] Test building a 0-D scalar constant with empty dimensions]
+ expected: FAIL
+
+ [[constant\] Test building a constant with float32 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with int32 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with uint32 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with int64 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with uint64 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with int8 data type]
+ expected: FAIL
+
+ [[constant\] Test building a constant with uint8 data type]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/conv2d.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/conv2d.https.any.js.ini
new file mode 100644
index 0000000000..ae3481266c
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/conv2d.https.any.js.ini
@@ -0,0 +1,32 @@
+[conv2d.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[conv2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[conv2d\] throw if filter is from another builder]
+ expected: FAIL
+
+ [[conv2d\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[conv2d\] throw if activation option is from another builder]
+ expected: FAIL
+
+
+[conv2d.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[conv2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[conv2d\] throw if filter is from another builder]
+ expected: FAIL
+
+ [[conv2d\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[conv2d\] throw if activation option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/convTranspose2d.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/convTranspose2d.https.any.js.ini
new file mode 100644
index 0000000000..c65313c5aa
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/convTranspose2d.https.any.js.ini
@@ -0,0 +1,32 @@
+[convTranspose2d.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if filter is from another builder]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if activation option is from another builder]
+ expected: FAIL
+
+
+[convTranspose2d.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if filter is from another builder]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[convTranspose2d\] throw if activation option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/elementwise-binary.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/elementwise-binary.https.any.js.ini
new file mode 100644
index 0000000000..2212fb0142
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/elementwise-binary.https.any.js.ini
@@ -0,0 +1,92 @@
+[elementwise-binary.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[add\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[add\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[sub\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[sub\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[mul\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[mul\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[div\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[div\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[max\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[max\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[min\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[min\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[pow\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[pow\] throw if second input is from another builder]
+ expected: FAIL
+
+
+[elementwise-binary.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[add\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[add\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[sub\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[sub\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[mul\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[mul\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[div\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[div\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[max\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[max\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[min\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[min\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[pow\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[pow\] throw if second input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/elementwise-unary.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/elementwise-unary.https.any.js.ini
new file mode 100644
index 0000000000..7503d5c198
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/elementwise-unary.https.any.js.ini
@@ -0,0 +1,268 @@
+[elementwise-unary.https.any.worker.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[abs\] throw if input is from another builder]
+ expected: FAIL
+
+ [[ceil\] throw if input is from another builder]
+ expected: FAIL
+
+ [[cos\] throw if input is from another builder]
+ expected: FAIL
+
+ [[erf\] throw if input is from another builder]
+ expected: FAIL
+
+ [[exp\] throw if input is from another builder]
+ expected: FAIL
+
+ [[floor\] throw if input is from another builder]
+ expected: FAIL
+
+ [[identity\] throw if input is from another builder]
+ expected: FAIL
+
+ [[log\] throw if input is from another builder]
+ expected: FAIL
+
+ [[neg\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reciprocal\] throw if input is from another builder]
+ expected: FAIL
+
+ [[sin\] throw if input is from another builder]
+ expected: FAIL
+
+ [[sqrt\] throw if input is from another builder]
+ expected: FAIL
+
+ [[tan\] throw if input is from another builder]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+
+[elementwise-unary.https.any.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[abs\] throw if input is from another builder]
+ expected: FAIL
+
+ [[ceil\] throw if input is from another builder]
+ expected: FAIL
+
+ [[cos\] throw if input is from another builder]
+ expected: FAIL
+
+ [[erf\] throw if input is from another builder]
+ expected: FAIL
+
+ [[exp\] throw if input is from another builder]
+ expected: FAIL
+
+ [[floor\] throw if input is from another builder]
+ expected: FAIL
+
+ [[identity\] throw if input is from another builder]
+ expected: FAIL
+
+ [[log\] throw if input is from another builder]
+ expected: FAIL
+
+ [[neg\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reciprocal\] throw if input is from another builder]
+ expected: FAIL
+
+ [[sin\] throw if input is from another builder]
+ expected: FAIL
+
+ [[sqrt\] throw if input is from another builder]
+ expected: FAIL
+
+ [[tan\] throw if input is from another builder]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int64, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[abs\] Test building an operator, dataType = int8, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/arg_min_max.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/elu.https.any.js.ini
index 850586db83..55f12f379a 100644
--- a/testing/web-platform/meta/webnn/validation_tests/arg_min_max.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/elu.https.any.js.ini
@@ -1,8 +1,14 @@
-[arg_min_max.https.any.html]
+[elu.https.any.worker.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+ [[elu\] throw if input is from another builder]
+ expected: FAIL
+
-[arg_min_max.https.any.worker.html]
+[elu.https.any.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[elu\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/expand.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/expand.https.any.js.ini
new file mode 100644
index 0000000000..b7e1f7e141
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/expand.https.any.js.ini
@@ -0,0 +1,14 @@
+[expand.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[expand\] throw if input is from another builder]
+ expected: FAIL
+
+
+[expand.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[expand\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/gather.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/gather.https.any.js.ini
index 8403efb947..c23c7b1eaa 100644
--- a/testing/web-platform/meta/webnn/validation_tests/gather.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/gather.https.any.js.ini
@@ -17,6 +17,12 @@
[[gather\] Test gather with default options and 0-D indices]
expected: FAIL
+ [[gather\] throw if input is from another builder]
+ expected: FAIL
+
+ [[gather\] throw if indices is from another builder]
+ expected: FAIL
+
[gather.https.any.worker.html]
[[gather\] Test gather with default options and 0-D indices]
@@ -36,3 +42,9 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[gather\] throw if input is from another builder]
+ expected: FAIL
+
+ [[gather\] throw if indices is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/gemm.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/gemm.https.any.js.ini
new file mode 100644
index 0000000000..0072cfd519
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/gemm.https.any.js.ini
@@ -0,0 +1,26 @@
+[gemm.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[gemm\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[gemm\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[gemm\] throw if c option is from another builder]
+ expected: FAIL
+
+
+[gemm.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[gemm\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[gemm\] throw if second input is from another builder]
+ expected: FAIL
+
+ [[gemm\] throw if c option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/gru.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/gru.https.any.js.ini
index 9afda619f4..98025d2dfe 100644
--- a/testing/web-platform/meta/webnn/validation_tests/gru.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/gru.https.any.js.ini
@@ -56,6 +56,27 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+ [[gru\] throw if input is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if initialHiddenState option is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if any activation option is from another builder]
+ expected: FAIL
+
[gru.https.any.worker.html]
[[gru\] Test with default options]
@@ -114,3 +135,24 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[gru\] throw if input is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if initialHiddenState option is from another builder]
+ expected: FAIL
+
+ [[gru\] throw if any activation option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/gruCell.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/gruCell.https.any.js.ini
new file mode 100644
index 0000000000..ca1d48411f
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/gruCell.https.any.js.ini
@@ -0,0 +1,188 @@
+[gruCell.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[gruCell\] throw if input is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if hiddenState is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if any activation option is from another builder]
+ expected: FAIL
+
+ [[gruCell\] Test with default options]
+ expected: FAIL
+
+ [[gruCell\] Test with given options]
+ expected: FAIL
+
+ [[gruCell\] Throw if hiddenSize equals to zero]
+ expected: FAIL
+
+ [[gruCell\] Throw if hiddenSize is too large]
+ expected: FAIL
+
+ [[gruCell\] Throw if the data type of the inputs is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of input is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if the input.dimensions[1\] is incorrect]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of weight is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if rank of weight is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if weight.dimensions[0\] is not 3 * hiddenSize]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of recurrentWeight is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of recurrentWeight is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if the recurrentWeight.dimensions is invalid]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of hiddenState is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of hiddenState is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if the hiddenState.dimensions is invalid]
+ expected: FAIL
+
+ [[gruCell\] Throw if the size of options.activations is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of options.bias is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of options.bias is not 1]
+ expected: FAIL
+
+ [[gruCell\] Throw if options.bias.dimensions[0\] is not 3 * hiddenSize]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of options.recurrentBias is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of options.recurrentBias is not 1]
+ expected: FAIL
+
+ [[gruCell\] Throw if options.recurrentBias.dimensions[0\] is not 3 * hiddenSize]
+ expected: FAIL
+
+
+[gruCell.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[gruCell\] throw if input is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if hiddenState is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[gruCell\] throw if any activation option is from another builder]
+ expected: FAIL
+
+ [[gruCell\] Test with default options]
+ expected: FAIL
+
+ [[gruCell\] Test with given options]
+ expected: FAIL
+
+ [[gruCell\] Throw if hiddenSize equals to zero]
+ expected: FAIL
+
+ [[gruCell\] Throw if hiddenSize is too large]
+ expected: FAIL
+
+ [[gruCell\] Throw if the data type of the inputs is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of input is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if the input.dimensions[1\] is incorrect]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of weight is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if rank of weight is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if weight.dimensions[0\] is not 3 * hiddenSize]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of recurrentWeight is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of recurrentWeight is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if the recurrentWeight.dimensions is invalid]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of hiddenState is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of hiddenState is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if the hiddenState.dimensions is invalid]
+ expected: FAIL
+
+ [[gruCell\] Throw if the size of options.activations is not 2]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of options.bias is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of options.bias is not 1]
+ expected: FAIL
+
+ [[gruCell\] Throw if options.bias.dimensions[0\] is not 3 * hiddenSize]
+ expected: FAIL
+
+ [[gruCell\] Throw if data type of options.recurrentBias is not one of the floating point types]
+ expected: FAIL
+
+ [[gruCell\] Throw if the rank of options.recurrentBias is not 1]
+ expected: FAIL
+
+ [[gruCell\] Throw if options.recurrentBias.dimensions[0\] is not 3 * hiddenSize]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/hardSigmoid.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/hardSigmoid.https.any.js.ini
new file mode 100644
index 0000000000..b0c333b725
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/hardSigmoid.https.any.js.ini
@@ -0,0 +1,14 @@
+[hardSigmoid.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[hardSigmoid\] throw if input is from another builder]
+ expected: FAIL
+
+
+[hardSigmoid.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[hardSigmoid\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/hardSwish.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/hardSwish.https.any.js.ini
new file mode 100644
index 0000000000..73801af100
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/hardSwish.https.any.js.ini
@@ -0,0 +1,88 @@
+[hardSwish.https.any.worker.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[hardSwish\] throw if input is from another builder]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+
+[hardSwish.https.any.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[hardSwish\] throw if input is from another builder]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[hardSwish\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/input.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/input.https.any.js.ini
new file mode 100644
index 0000000000..be09b7ac0c
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/input.https.any.js.ini
@@ -0,0 +1,32 @@
+[input.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[input\] Test building a 0-D scalar input without presenting dimensions]
+ expected: FAIL
+
+ [[input\] Test building a 0-D scalar input with empty dimensions]
+ expected: FAIL
+
+ [[input\] Test building a 1-D input with int64 data type]
+ expected: FAIL
+
+ [[input\] Test building a 2-D input without errors]
+ expected: FAIL
+
+
+[input.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[input\] Test building a 0-D scalar input without presenting dimensions]
+ expected: FAIL
+
+ [[input\] Test building a 0-D scalar input with empty dimensions]
+ expected: FAIL
+
+ [[input\] Test building a 1-D input with int64 data type]
+ expected: FAIL
+
+ [[input\] Test building a 2-D input without errors]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/instanceNormalization.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/instanceNormalization.https.any.js.ini
new file mode 100644
index 0000000000..d3cf83abed
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/instanceNormalization.https.any.js.ini
@@ -0,0 +1,26 @@
+[instanceNormalization.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[instanceNormalization\] throw if input is from another builder]
+ expected: FAIL
+
+ [[instanceNormalization\] throw if scale option is from another builder]
+ expected: FAIL
+
+ [[instanceNormalization\] throw if bias option is from another builder]
+ expected: FAIL
+
+
+[instanceNormalization.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[instanceNormalization\] throw if input is from another builder]
+ expected: FAIL
+
+ [[instanceNormalization\] throw if scale option is from another builder]
+ expected: FAIL
+
+ [[instanceNormalization\] throw if bias option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/layerNormalization.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/layerNormalization.https.any.js.ini
new file mode 100644
index 0000000000..231d435c54
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/layerNormalization.https.any.js.ini
@@ -0,0 +1,26 @@
+[layerNormalization.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[layerNormalization\] throw if input is from another builder]
+ expected: FAIL
+
+ [[layerNormalization\] throw if scale option is from another builder]
+ expected: FAIL
+
+ [[layerNormalization\] throw if bias option is from another builder]
+ expected: FAIL
+
+
+[layerNormalization.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[layerNormalization\] throw if input is from another builder]
+ expected: FAIL
+
+ [[layerNormalization\] throw if scale option is from another builder]
+ expected: FAIL
+
+ [[layerNormalization\] throw if bias option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/leakyRelu.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/leakyRelu.https.any.js.ini
new file mode 100644
index 0000000000..8a0f775095
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/leakyRelu.https.any.js.ini
@@ -0,0 +1,14 @@
+[leakyRelu.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[leakyRelu\] throw if input is from another builder]
+ expected: FAIL
+
+
+[leakyRelu.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[leakyRelu\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/linear.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/linear.https.any.js.ini
new file mode 100644
index 0000000000..1b5c756d43
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/linear.https.any.js.ini
@@ -0,0 +1,14 @@
+[linear.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[linear\] throw if input is from another builder]
+ expected: FAIL
+
+
+[linear.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[linear\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/lstm.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/lstm.https.any.js.ini
index 1abdd4c6d0..798962bd12 100644
--- a/testing/web-platform/meta/webnn/validation_tests/lstm.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/lstm.https.any.js.ini
@@ -50,6 +50,33 @@
[[lstm\] DataError is expected if the rank of recurrentWeight is not 3]
expected: FAIL
+ [[lstm\] throw if input is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if peepholeWeight option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if initialHiddenState option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if initialCellState option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if any activation option is from another builder]
+ expected: FAIL
+
[lstm.https.any.worker.html]
[[lstm\] Test with default options]
@@ -102,3 +129,30 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[lstm\] throw if input is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if peepholeWeight option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if initialHiddenState option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if initialCellState option is from another builder]
+ expected: FAIL
+
+ [[lstm\] throw if any activation option is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/lstmCell.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/lstmCell.https.any.js.ini
new file mode 100644
index 0000000000..ddea24be8f
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/lstmCell.https.any.js.ini
@@ -0,0 +1,236 @@
+[lstmCell.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[lstmCell\] throw if input is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if hiddenState is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if cellState is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if peepholeWeight option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if activation option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] Test with default options]
+ expected: FAIL
+
+ [[lstmCell\] Test with given options]
+ expected: FAIL
+
+ [[lstmCell\] Throw if hiddenSize is equal to zero]
+ expected: FAIL
+
+ [[lstmCell\] Throw if hiddenSize is too large]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the input data type is not one of the floating point types]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of input is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of input is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of weight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of weight is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of weight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of recurrentWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of recurrentWeight is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of recurrentWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of hiddenState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of hiddenState is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of hiddenState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of cellState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of cellState is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of cellState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of options.bias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of options.bias is not 1]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of options.bias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of options.recurrentBias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of options.recurrentBias is not 1]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of options.recurrentBias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of options.peepholeWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of options.peepholeWeight is not 1]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of options.peepholeWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the size of options.activations is not 3]
+ expected: FAIL
+
+
+[lstmCell.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[lstmCell\] throw if input is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if weight is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if recurrentWeight is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if hiddenState is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if cellState is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if bias option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if recurrentBias option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if peepholeWeight option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] throw if activation option is from another builder]
+ expected: FAIL
+
+ [[lstmCell\] Test with default options]
+ expected: FAIL
+
+ [[lstmCell\] Test with given options]
+ expected: FAIL
+
+ [[lstmCell\] Throw if hiddenSize is equal to zero]
+ expected: FAIL
+
+ [[lstmCell\] Throw if hiddenSize is too large]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the input data type is not one of the floating point types]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of input is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of input is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of weight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of weight is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of weight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of recurrentWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of recurrentWeight is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of recurrentWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of hiddenState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of hiddenState is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of hiddenState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of cellState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of cellState is not 2]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of cellState is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of options.bias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of options.bias is not 1]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of options.bias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of options.recurrentBias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of options.recurrentBias is not 1]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of options.recurrentBias is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the data type of options.peepholeWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the rank of options.peepholeWeight is not 1]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the shape of options.peepholeWeight is incorrect]
+ expected: FAIL
+
+ [[lstmCell\] Throw if the size of options.activations is not 3]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/matmul.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/matmul.https.any.js.ini
new file mode 100644
index 0000000000..c35f8871e2
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/matmul.https.any.js.ini
@@ -0,0 +1,20 @@
+[matmul.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[matmul\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[matmul\] throw if second input is from another builder]
+ expected: FAIL
+
+
+[matmul.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[matmul\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[matmul\] throw if second input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/elementwise_binary.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/pad.https.any.js.ini
index faaacd133e..40092ba830 100644
--- a/testing/web-platform/meta/webnn/validation_tests/elementwise_binary.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/pad.https.any.js.ini
@@ -1,8 +1,14 @@
-[elementwise_binary.https.any.worker.html]
+[pad.https.any.worker.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+ [[pad\] throw if input is from another builder]
+ expected: FAIL
+
-[elementwise_binary.https.any.html]
+[pad.https.any.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[pad\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/pooling.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/pooling.https.any.js.ini
new file mode 100644
index 0000000000..c70055027b
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/pooling.https.any.js.ini
@@ -0,0 +1,28 @@
+[pooling.https.any.worker.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[averagePool2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[l2Pool2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[maxPool2d\] throw if input is from another builder]
+ expected: FAIL
+
+
+[pooling.https.any.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[averagePool2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[l2Pool2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[maxPool2d\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/prelu.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/prelu.https.any.js.ini
new file mode 100644
index 0000000000..e639fab933
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/prelu.https.any.js.ini
@@ -0,0 +1,20 @@
+[prelu.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[prelu\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[prelu\] throw if second input is from another builder]
+ expected: FAIL
+
+
+[prelu.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[prelu\] throw if first input is from another builder]
+ expected: FAIL
+
+ [[prelu\] throw if second input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/reduction.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/reduction.https.any.js.ini
index 0f404aeeaa..ea36ce9fe6 100644
--- a/testing/web-platform/meta/webnn/validation_tests/reduction.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/reduction.https.any.js.ini
@@ -2,7 +2,67 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+ [[reduceL1\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceL2\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceLogSum\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceLogSumExp\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceMax\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceMean\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceMin\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceProduct\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceSum\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceSumSquare\] throw if input is from another builder]
+ expected: FAIL
+
[reduction.https.any.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[reduceL1\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceL2\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceLogSum\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceLogSumExp\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceMax\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceMean\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceMin\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceProduct\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceSum\] throw if input is from another builder]
+ expected: FAIL
+
+ [[reduceSumSquare\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/relu.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/relu.https.any.js.ini
new file mode 100644
index 0000000000..6ea4bbba0a
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/relu.https.any.js.ini
@@ -0,0 +1,304 @@
+[relu.https.any.worker.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[relu\] throw if input is from another builder]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+
+[relu.https.any.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[relu\] throw if input is from another builder]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int64, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint64, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = int8, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[relu\] Test building an operator, dataType = uint8, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/resample2d.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/resample2d.https.any.js.ini
index 026b5a695f..98c94fcb2d 100644
--- a/testing/web-platform/meta/webnn/validation_tests/resample2d.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/resample2d.https.any.js.ini
@@ -2,7 +2,139 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+ [[resample2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with default options]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[2.0, 2.0\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[0.5, 0.5\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[0.5, 0.5\] and explicit axes=[2, 3\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[1.0, 2.0\] and axes=[0, 1\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[2.0, 2.0\] and axes=[1, 2\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with sizes=[3, 6\] ignored scales]
+ expected: FAIL
+
+ [[resample2d\] Throw if the rank of input is not 4]
+ expected: FAIL
+
+ [[resample2d\] Throw if the length of scales is not 2]
+ expected: FAIL
+
+ [[resample2d\] Throw if any scale value is negative]
+ expected: FAIL
+
+ [[resample2d\] Throw if any scale value is 0]
+ expected: FAIL
+
+ [[resample2d\] Throw if the length of sizes is not 2]
+ expected: FAIL
+
+ [[resample2d\] Throw if any size value is out of 'unsigned long' value range]
+ expected: FAIL
+
+ [[resample2d\] Throw if outputHeight being floor(scaleHeight*inputHeight) is too large]
+ expected: FAIL
+
+ [[resample2d\] Throw if scaleHeight is too small]
+ expected: FAIL
+
+ [[resample2d\] Throw if outputWidth being floor(scaleWidth*inputWidth) is too large]
+ expected: FAIL
+
+ [[resample2d\] Throw if scaleWidth is too small]
+ expected: FAIL
+
+ [[resample2d\] Throw if the length of axes is not 2]
+ expected: FAIL
+
+ [[resample2d\] Throw if any axis value is greater than or equal to the input rank]
+ expected: FAIL
+
+ [[resample2d\] Throw if the values of axes are inconsecutive]
+ expected: FAIL
+
+ [[resample2d\] Throw if the values of axes are same]
+ expected: FAIL
+
[resample2d.https.any.html]
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[resample2d\] throw if input is from another builder]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with default options]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[2.0, 2.0\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[0.5, 0.5\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[0.5, 0.5\] and explicit axes=[2, 3\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[1.0, 2.0\] and axes=[0, 1\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with scales=[2.0, 2.0\] and axes=[1, 2\]]
+ expected: FAIL
+
+ [[resample2d\] Test building resample2d with sizes=[3, 6\] ignored scales]
+ expected: FAIL
+
+ [[resample2d\] Throw if the rank of input is not 4]
+ expected: FAIL
+
+ [[resample2d\] Throw if the length of scales is not 2]
+ expected: FAIL
+
+ [[resample2d\] Throw if any scale value is negative]
+ expected: FAIL
+
+ [[resample2d\] Throw if any scale value is 0]
+ expected: FAIL
+
+ [[resample2d\] Throw if the length of sizes is not 2]
+ expected: FAIL
+
+ [[resample2d\] Throw if any size value is out of 'unsigned long' value range]
+ expected: FAIL
+
+ [[resample2d\] Throw if outputHeight being floor(scaleHeight*inputHeight) is too large]
+ expected: FAIL
+
+ [[resample2d\] Throw if scaleHeight is too small]
+ expected: FAIL
+
+ [[resample2d\] Throw if outputWidth being floor(scaleWidth*inputWidth) is too large]
+ expected: FAIL
+
+ [[resample2d\] Throw if scaleWidth is too small]
+ expected: FAIL
+
+ [[resample2d\] Throw if the length of axes is not 2]
+ expected: FAIL
+
+ [[resample2d\] Throw if any axis value is greater than or equal to the input rank]
+ expected: FAIL
+
+ [[resample2d\] Throw if the values of axes are inconsecutive]
+ expected: FAIL
+
+ [[resample2d\] Throw if the values of axes are same]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/reshape.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/reshape.https.any.js.ini
new file mode 100644
index 0000000000..c8ffcd7b5a
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/reshape.https.any.js.ini
@@ -0,0 +1,14 @@
+[reshape.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[reshape\] throw if input is from another builder]
+ expected: FAIL
+
+
+[reshape.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[reshape\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/sigmoid.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/sigmoid.https.any.js.ini
new file mode 100644
index 0000000000..12affcf009
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/sigmoid.https.any.js.ini
@@ -0,0 +1,88 @@
+[sigmoid.https.any.worker.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[sigmoid\] throw if input is from another builder]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+
+[sigmoid.https.any.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[sigmoid\] throw if input is from another builder]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[sigmoid\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/slice.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/slice.https.any.js.ini
new file mode 100644
index 0000000000..4717024c20
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/slice.https.any.js.ini
@@ -0,0 +1,14 @@
+[slice.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[slice\] throw if input is from another builder]
+ expected: FAIL
+
+
+[slice.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[slice\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/softmax.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/softmax.https.any.js.ini
new file mode 100644
index 0000000000..a5e5c608e9
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/softmax.https.any.js.ini
@@ -0,0 +1,14 @@
+[softmax.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[softmax\] throw if input is from another builder]
+ expected: FAIL
+
+
+[softmax.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[softmax\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/softplus.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/softplus.https.any.js.ini
new file mode 100644
index 0000000000..10f8221447
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/softplus.https.any.js.ini
@@ -0,0 +1,14 @@
+[softplus.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[softplus\] throw if input is from another builder]
+ expected: FAIL
+
+
+[softplus.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[softplus\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/softsign.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/softsign.https.any.js.ini
new file mode 100644
index 0000000000..6441926f27
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/softsign.https.any.js.ini
@@ -0,0 +1,88 @@
+[softsign.https.any.worker.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[softsign\] throw if input is from another builder]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+
+[softsign.https.any.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[softsign\] throw if input is from another builder]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[softsign\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/split.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/split.https.any.js.ini
new file mode 100644
index 0000000000..0c3f0513f7
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/split.https.any.js.ini
@@ -0,0 +1,14 @@
+[split.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[split\] throw if input is from another builder]
+ expected: FAIL
+
+
+[split.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[split\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/tanh.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/tanh.https.any.js.ini
new file mode 100644
index 0000000000..aa867dff4b
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/tanh.https.any.js.ini
@@ -0,0 +1,88 @@
+[tanh.https.any.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[tanh\] throw if input is from another builder]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+
+[tanh.https.any.worker.html]
+ expected: ERROR
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[tanh\] throw if input is from another builder]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float32, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3,4\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3,4,5\]]
+ expected: FAIL
+
+ [[tanh\] Test building an operator, dataType = float16, dimensions = [2,3,4,5,6\]]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/transpose.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/transpose.https.any.js.ini
new file mode 100644
index 0000000000..3201c3751a
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/transpose.https.any.js.ini
@@ -0,0 +1,14 @@
+[transpose.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[transpose\] throw if input is from another builder]
+ expected: FAIL
+
+
+[transpose.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[transpose\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/triangular.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/triangular.https.any.js.ini
index e5bf26a30f..40a9b6dcbf 100644
--- a/testing/web-platform/meta/webnn/validation_tests/triangular.https.any.js.ini
+++ b/testing/web-platform/meta/webnn/validation_tests/triangular.https.any.js.ini
@@ -5,6 +5,9 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+ [[triangular\] throw if input is from another builder]
+ expected: FAIL
+
[triangular.https.any.html]
[[triangular\] DataError is expected if input's rank is less than 2]
@@ -12,3 +15,6 @@
[assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
expected: FAIL
+
+ [[triangular\] throw if input is from another builder]
+ expected: FAIL
diff --git a/testing/web-platform/meta/webnn/validation_tests/where.https.any.js.ini b/testing/web-platform/meta/webnn/validation_tests/where.https.any.js.ini
new file mode 100644
index 0000000000..8b70b6d2f2
--- /dev/null
+++ b/testing/web-platform/meta/webnn/validation_tests/where.https.any.js.ini
@@ -0,0 +1,74 @@
+[where.https.any.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[where\] Throw if the condition data type is not uint8.]
+ expected: FAIL
+
+ [[where\] Throw if the data types of input and other do not match]
+ expected: FAIL
+
+ [[where\] Throw if the shapes of input and other are not broadcastable]
+ expected: FAIL
+
+ [[where\] Throw if the condition shape is not broadcastable]
+ expected: FAIL
+
+ [[where\] Test building where with 2-D condition, 2-D input and 2-D other using broadcast]
+ expected: FAIL
+
+ [[where\] Test building where with 2-D condition, 2-D input and 3-D other using broadcast]
+ expected: FAIL
+
+ [[where\] Test building where with 3-D condition, 3-D input and 2-D other using broadcast]
+ expected: FAIL
+
+ [[where\] Test building where with 4-D condition, 3-D input and 2-D other using broadcast]
+ expected: FAIL
+
+ [[where\] throw if condition is from another builder]
+ expected: FAIL
+
+ [[where\] throw if input is from another builder]
+ expected: FAIL
+
+ [[where\] throw if other is from another builder]
+ expected: FAIL
+
+
+[where.https.any.worker.html]
+ [assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator")]
+ expected: FAIL
+
+ [[where\] Throw if the condition data type is not uint8.]
+ expected: FAIL
+
+ [[where\] Throw if the data types of input and other do not match]
+ expected: FAIL
+
+ [[where\] Throw if the shapes of input and other are not broadcastable]
+ expected: FAIL
+
+ [[where\] Throw if the condition shape is not broadcastable]
+ expected: FAIL
+
+ [[where\] Test building where with 2-D condition, 2-D input and 2-D other using broadcast]
+ expected: FAIL
+
+ [[where\] Test building where with 2-D condition, 2-D input and 3-D other using broadcast]
+ expected: FAIL
+
+ [[where\] Test building where with 3-D condition, 3-D input and 2-D other using broadcast]
+ expected: FAIL
+
+ [[where\] Test building where with 4-D condition, 3-D input and 2-D other using broadcast]
+ expected: FAIL
+
+ [[where\] throw if condition is from another builder]
+ expected: FAIL
+
+ [[where\] throw if input is from another builder]
+ expected: FAIL
+
+ [[where\] throw if other is from another builder]
+ expected: FAIL