-
Notifications
You must be signed in to change notification settings - Fork 932
Expand fbcode buck test coverage for arm backend (58→162 test targets) #18817
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -16,46 +16,176 @@ def define_arm_tests(): | |||||
|
|
||||||
| # Operators | ||||||
| test_files += [ | ||||||
| "ops/test_abs.py", | ||||||
| "ops/test_add.py", | ||||||
| "ops/test_addmm.py", | ||||||
| "ops/test_amax.py", | ||||||
| "ops/test_amin.py", | ||||||
| "ops/test_avg_pool2d.py", | ||||||
| "ops/test_batch_norm.py", | ||||||
| "ops/test_bitwise.py", | ||||||
| "ops/test_bmm.py", | ||||||
| "ops/test_cat.py", | ||||||
| "ops/test_ceil.py", | ||||||
| "ops/test_clamp.py", | ||||||
| "ops/test_clone.py", | ||||||
| "ops/test_conv1d.py", | ||||||
| "ops/test_conv2d.py", | ||||||
| "ops/test_conv3d.py", | ||||||
| "ops/test_cos.py", | ||||||
| "ops/test_depthwise_conv.py", | ||||||
| # "ops/test_div.py", # 15 failures: NoneType input in bundled_program serialization (pre-existing bug) | ||||||
| "ops/test_elu.py", | ||||||
| "ops/test_embedding.py", | ||||||
| "ops/test_eq.py", | ||||||
| "ops/test_erf.py", | ||||||
| "ops/test_exp.py", | ||||||
| "ops/test_expand.py", | ||||||
| "ops/test_floor.py", | ||||||
| "ops/test_full.py", | ||||||
| "ops/test_ge.py", | ||||||
| "ops/test_group_norm.py", | ||||||
| "ops/test_gt.py", | ||||||
| "ops/test_hardswish.py", | ||||||
| "ops/test_hardtanh.py", | ||||||
| # "ops/test_layer_norm.py", # 1 failure: 16a8w u55 quantization issue | ||||||
| "ops/test_le.py", | ||||||
| "ops/test_leaky_relu.py", | ||||||
| "ops/test_linear.py", | ||||||
| "ops/test_log10.py", | ||||||
| "ops/test_log.py", | ||||||
| "ops/test_logical.py", | ||||||
| "ops/test_lt.py", | ||||||
| # matmul: Vela compilation fails with 'Non-passthrough operation' | ||||||
| # for int16 matmul operations, xfail interacts incorrectly with | ||||||
| # XfailIfNoCorstone. | ||||||
| # "ops/test_matmul.py", | ||||||
| "ops/test_max_pool1d.py", | ||||||
| "ops/test_max_pool.py", | ||||||
| "ops/test_mean_dim.py", | ||||||
| "ops/test_maximum.py", | ||||||
| "ops/test_minimum.py", | ||||||
| "ops/test_mm.py", | ||||||
| "ops/test_mul.py", | ||||||
| "ops/test_ne.py", | ||||||
| "ops/test_neg.py", | ||||||
| "ops/test_ones.py", | ||||||
| "ops/test_permute.py", | ||||||
| "ops/test_pixel_shuffling.py", | ||||||
| "ops/test_pow.py", | ||||||
| "ops/test_reciprocal.py", | ||||||
| "ops/test_relu.py", | ||||||
| "ops/test_remainder.py", | ||||||
| "ops/test_repeat.py", | ||||||
| "ops/test_round.py", | ||||||
| # rshift: U55 FVP output dtype mismatch for rshift operations, | ||||||
| # xfail interacts incorrectly with XfailIfNoCorstone. | ||||||
| # "ops/test_rshift.py", | ||||||
| "ops/test_rsqrt.py", | ||||||
| "ops/test_slice.py", | ||||||
| "ops/test_rsub.py", | ||||||
| "ops/test_scalar_tensor.py", | ||||||
| "ops/test_scalars.py", | ||||||
| "ops/test_sdpa.py", | ||||||
| "ops/test_select.py", | ||||||
| "ops/test_select_scatter.py", | ||||||
| "ops/test_sigmoid.py", | ||||||
| "ops/test_sigmoid_32bit.py", | ||||||
| "ops/test_sign.py", | ||||||
| # silu: U55 numerical mismatch for inplace SiLU, xfail interacts | ||||||
| # incorrectly with XfailIfNoCorstone. | ||||||
| # "ops/test_silu.py", | ||||||
| "ops/test_sin.py", | ||||||
| "ops/test_sinh.py", | ||||||
| "ops/test_slice.py", | ||||||
| # slice_scatter: U55/U85 FVP failures for int8 and end_none cases, | ||||||
| # xfail interacts incorrectly with XfailIfNoCorstone. | ||||||
| # "ops/test_slice_scatter.py", | ||||||
| "ops/test_softmax.py", | ||||||
| "ops/test_split.py", | ||||||
| "ops/test_sqrt.py", | ||||||
| "ops/test_squeeze.py", | ||||||
| "ops/test_stack.py", | ||||||
| "ops/test_sub.py", | ||||||
| # sum: xfail markers interact incorrectly with XfailIfNoCorstone | ||||||
| # when test inputs contain None (NoneType not supported in | ||||||
| # bundled_program serialization). | ||||||
| # "ops/test_sum.py", | ||||||
| "ops/test_t_copy.py", | ||||||
| "ops/test_tan.py", | ||||||
| "ops/test_tanh.py", | ||||||
| "ops/test_view.py", | ||||||
| "ops/test_cos.py", | ||||||
| "ops/test_to_copy.py", | ||||||
| # transpose_conv2d: xfail markers for per-channel quantization | ||||||
| # interact incorrectly with XfailIfNoCorstone when tests fail | ||||||
| # during quantization (before reaching FVP execution). | ||||||
| # "ops/test_transpose_conv2d.py", | ||||||
| "ops/test_transpose_copy.py", | ||||||
| "ops/test_tril.py", | ||||||
| # "ops/test_unary_combos.py", # 1 failure: NegAdd u55_INT | ||||||
| "ops/test_unbind.py", | ||||||
| "ops/test_unflatten.py", | ||||||
| "ops/test_unfold_copy.py", | ||||||
| "ops/test_unsqueeze.py", | ||||||
| "ops/test_upsample_bilinear2d.py", | ||||||
| "ops/test_upsample_nearest2d.py", | ||||||
| "ops/test_var.py", | ||||||
| "ops/test_view.py", | ||||||
| "ops/test_where.py", | ||||||
| "ops/test_while.py", | ||||||
| "ops/test_zeros.py", | ||||||
| ] | ||||||
|
|
||||||
| # Quantization | ||||||
| test_files += [ | ||||||
| "quantizer/test_conv_relu_fusing.py", | ||||||
| "quantizer/test_generic_annotater.py", | ||||||
| "quantizer/test_partial_quantization.py", | ||||||
| # "quantizer/test_preserve_kwargs.py", # needs executorch.backends.test.harness.stages (no BUCK target) | ||||||
|
||||||
| # "quantizer/test_preserve_kwargs.py", # needs executorch.backends.test.harness.stages (no BUCK target) | |
| "quantizer/test_preserve_kwargs.py", |
Copilot
AI
Apr 10, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above for this exclusion: executorch.backends.test.harness.stages has a Buck target (//executorch/backends/test/harness:tester) and is already pulled in transitively via //executorch/backends/arm/test:arm_tester. If this test is disabled due to failures/flake, please update the comment accordingly; otherwise consider enabling it to match the stated goal of expanding coverage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR description/title claims this adds “all available” tests from ops/, quantizer/, and misc/, but this target list still omits many existing tests in those directories (e.g., ops/test_acos.py, ops/test_any.py, misc/test_high_rank_permute_view_invariants.py, etc.). Either update the description to reflect that this is a curated subset, or switch to native.glob(["ops/test_.py"], ...) / native.glob(["misc/test_.py"], ...) with an explicit exclusion list so coverage doesn’t silently drift as new tests are added.