Arm backend: Rework "no_target" test collection#18493
Arm backend: Rework "no_target" test collection#18493martinlsm merged 2 commits intopytorch:mainfrom
Conversation
Prior to this patch, test_arm_baremetal.sh would consider all tests
containing the substring `no_target` in their names to be tests that
lacks a TOSA target. This patch changes this concept such that tests
that do not match against any target ("u55", "u85", "tosa" and
"vgf" as of now), will be considered to have no target; therefore,
targetless tests must no longer include the no_target substring in their
names.
This patch fixes a problem where a test could be skipped because it
wasn't matching against any target substring (including no_target). Such
tests will now instead be considered targetless and always run.
Signed-off-by: Martin Lindström <Martin.Lindstroem@arm.com>
Change-Id: I1cff769ce6bd5595db9f26c1506adcae564f4ea8
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/18493
Note: Links to docs will display an error until the docs builds have been completed. ❌ 4 New Failures, 1 Cancelled Job, 3 Unrelated FailuresAs of commit 362cae6 with merge base 28b4813 ( NEW FAILURES - The following jobs have failed:
CANCELLED JOB - The following job was cancelled. Please retry:
BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@pytorchbot label ciflow/trunk |
|
@pytorchbot label "partner: arm" |
|
@pytorchbot label "release notes: none" |
There was a problem hiding this comment.
Pull request overview
This PR updates the Arm baremetal test runner’s definition of “target-less” pytest tests so they’re selected by not matching any known target substring (u55/u85/tosa/vgf), preventing un-tagged tests from being skipped by all suites.
Changes:
- Introduces a shared pytest
-kexpression (EXCLUDE_TARGET_EXPR) to select tests that don’t match any known target substring. - Updates the “no_target” pytest suites to use that exclusion expression instead of
-k no_target. - Cleans up formatting/alignment of the testing command table in
backends/arm/README.md.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
backends/arm/test/test_arm_baremetal.sh |
Switches target-less test selection from -k no_target to an exclusion-based -k expression covering all current targets. |
backends/arm/README.md |
Adjusts the markdown table formatting in the testing section. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | `test_arm_baremetal.sh test_model_smollm2-135M` | Runs some models with Corstone FVP. | | ||
| | `test_arm_baremetal.sh test_smaller_stories_llama` | Runs E2E model tests on Corstone FVP. | | ||
| | `test_arm_baremetal.sh test_run_vkml` | Runs end-to-end unit tests for VGF specific use-cases. | | ||
| | `test_arm_baremetal.sh test_model_smollm2-135M` | Runs some models with Corstone FVP. | |
There was a problem hiding this comment.
The documented test suite name uses a hyphen (test_model_smollm2-135M), but the actual function in backends/arm/test/test_arm_baremetal.sh is test_model_smollm2_135M (underscore). Running the command as documented will fail; please update the README command to match the script function name.
| | `test_arm_baremetal.sh test_model_smollm2-135M` | Runs some models with Corstone FVP. | | |
| | `test_arm_baremetal.sh test_model_smollm2_135M` | Runs some models with Corstone FVP. | |
|
|
||
| TEST_SUITE_NAME="$(basename "$0") ${TEST_SUITE}" | ||
|
|
||
| EXCLUDE_TARGET_EXPR="(not u55) and (not u85) and (not tosa) and (not _vgf_)" |
There was a problem hiding this comment.
Assuming the "_" on vgf (only) are on purpose.
There was a problem hiding this comment.
Yes, it was the exact token I just copied over to that expression.
|
Failing tests were unrelated. The failing Arm test is seen on main also. |
Prior to this patch, test_arm_baremetal.sh would consider all tests containing the substring
no_targetin their names to be tests that lacks a TOSA target. This patch changes this concept such that tests that do not match against any target ("u55", "u85", "tosa" and "vgf" as of now), will be considered to have no target; therefore, targetless tests must no longer include the no_target substring in their names.This patch fixes a problem where a test could be skipped because it wasn't matching against any target substring (including no_target). Such tests will now instead be considered targetless and always run.
cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell