Skip to content

Commit e0d149e

Browse files
committed
Update
[ghstack-poisoned]
1 parent 9173ed5 commit e0d149e

File tree

2 files changed

+120
-1
lines changed

2 files changed

+120
-1
lines changed

.ci/scripts/unittest-windows.ps1

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@ if ($LASTEXITCODE -ne 0) {
2424
exit $LASTEXITCODE
2525
}
2626

27+
# Install test dependencies
28+
pip install -r .ci/docker/requirements-ci.txt
29+
2730
# Run pytest with coverage
2831
# pytest -n auto --cov=./ --cov-report=xml
29-
pytest --continue-on-collection-errors -vv --full-trace
32+
pytest --continue-on-collection-errors -vv --full-trace -c pytest-windows.ini
3033
if ($LASTEXITCODE -ne 0) {
3134
Write-Host "Pytest invocation was unsuccessful. Exit code: $LASTEXITCODE."
3235
exit $LASTEXITCODE

pytest-windows.ini

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# NOTE: This file is a copy of pytest.ini, but with additional tests disabled for Windows. This
2+
# is intended to be a short-term solution to allow for incrementally enabling tests on Windows.
3+
# This file is intended to be deleted once the enablement is complete.
4+
5+
[pytest]
6+
addopts =
7+
# show summary of all tests that did not pass
8+
-rEfX
9+
# Make tracebacks shorter
10+
--tb=native
11+
# capture only Python print and C++ py::print, but not C output (low-level Python errors)
12+
--capture=sys
13+
# don't suppress warnings, but don't shove them all to the end either
14+
-p no:warnings
15+
# Ignore backends/arm tests you need to run examples/arm/setup.sh to install some tool to make them work
16+
# For GitHub testing this is setup/executed in the unittest-arm job see .github/workflows/pull.yml for more info.
17+
--ignore-glob=backends/arm/**/*
18+
# explicitly list out tests that are running successfully in oss
19+
.ci/scripts/tests
20+
examples/models/test
21+
devtools/
22+
--ignore=devtools/visualization/visualization_utils_test.py
23+
# examples
24+
# examples/models/llava/test TODO: enable this
25+
# exir
26+
exir/_serialize/test
27+
exir/backend/test
28+
exir/dialects/backend/test
29+
exir/dialects/edge/test
30+
exir/dialects/test
31+
exir/emit/test
32+
exir/program/test
33+
exir/tests/
34+
# executorch/export
35+
export/tests
36+
--ignore=export/tests/test_export_stages.py
37+
# kernels/
38+
kernels/prim_ops/test
39+
kernels/quantized
40+
# Because this test depends on test only cpp ops lib
41+
# Will add test only cmake targets to re-enable this test
42+
# but maybe it is a bit of anti-pattern
43+
--ignore=kernels/quantized/test/test_quant_dequant_per_token.py
44+
kernels/test/test_case_gen.py
45+
# backends/test
46+
# This effort is WIP and will be enabled in CI once testing infra
47+
# is stable and signal to noise ratio is good (no irrelevant failures).
48+
# See https://github.com/pytorch/executorch/discussions/11140
49+
--ignore=backends/test
50+
backends/test/harness/tests
51+
backends/test/suite/tests
52+
# backends/xnnpack
53+
backends/xnnpack/test/ops
54+
--ignore=backends/xnnpack/test/ops/test_bmm.py
55+
--ignore=backends/xnnpack/test/ops/test_conv2d.py
56+
--ignore=backends/xnnpack/test/ops/test_linear.py
57+
--ignore=backends/xnnpack/test/ops/test_sdpa.py
58+
backends/xnnpack/test/passes
59+
backends/xnnpack/test/recipes
60+
backends/xnnpack/test/serialization
61+
# backends/apple/coreml
62+
backends/apple/coreml/test
63+
# extension/
64+
extension/llm/custom_ops/test_sdpa_with_kv_cache.py
65+
extension/llm/custom_ops/test_update_cache.py
66+
extension/llm/custom_ops/test_quantized_sdpa.py
67+
extension/pybindings/test
68+
extension/training/pybindings/test
69+
# Runtime
70+
runtime
71+
# Tools
72+
codegen/test
73+
tools/cmake
74+
# test TODO: fix these tests
75+
# test/end2end/test_end2end.py
76+
--ignore=backends/xnnpack/test/ops/linear.py
77+
--ignore=backends/xnnpack/test/models/llama2_et_example.py
78+
# T200992559: Add torchao to ET as core dependency
79+
--ignore=examples/models/llama/tests/test_pre_quantization_transforms.py
80+
--ignore=exir/backend/test/demos
81+
--ignore=exir/backend/test/test_backends.py
82+
--ignore=exir/backend/test/test_backends_lifted.py
83+
--ignore=exir/backend/test/test_partitioner.py
84+
--ignore=exir/tests/test_common.py
85+
--ignore=exir/tests/test_memory_format_ops_pass_aten.py
86+
--ignore=exir/tests/test_memory_planning.py
87+
--ignore=exir/tests/test_op_convert.py
88+
--ignore=exir/tests/test_passes.py
89+
--ignore=exir/tests/test_quant_fusion_pass.py
90+
--ignore=exir/tests/test_quantization.py
91+
--ignore=exir/tests/test_verification.py
92+
93+
# Tests that are (temporarily) disabled for Windows
94+
# TODO(gjcomer) Re-enable the LLM tests when tokenizers library is available on Windows.
95+
#examples/models/llama3_2_vision/preprocess
96+
#examples/models/llama3_2_vision/vision_encoder/test
97+
#examples/models/llama3_2_vision/text_decoder/test
98+
#examples/models/llama/tests
99+
#examples/models/llama/config
100+
#extension/llm/modules/test
101+
#extension/llm/export
102+
--ignore=extension/pybindings/test/test_pybindings.py::PybindingsTest::test_method_quantized_ops
103+
--ignore=extension/pybindings/test/test_pybindings.py::PybindingsTest::test_quantized_ops
104+
--ignore=runtime/test/test_runtime.py::RuntimeTest::test_load_program_with_path
105+
--ignore=exir/backend/test/test_compatibility.py::TestCompatibility::test_compatibility_in_runtime
106+
--ignore=exir/backend/test/test_compatibility.py::TestCompatibility::test_compatibility_in_runtime_edge_program_manager
107+
--ignore=exir/backend/test/test_lowered_backend_module.py::TestBackendAPI::test_emit_lowered_backend_module_end_to_end
108+
--ignore=exir/backend/test/test_to_backend_multi_method.py::TestToBackendMultiMethod::test_multi_method_end_to_end
109+
--ignore=extension/llm/custom_ops/test_sdpa_with_kv_cache.py::SDPATestForSpeculativeDecode::test_sdpa_with_cache_seq_len_130
110+
--ignore=devtools/inspector/tests/inspector_test.py::TestInspector::test_etrecord_populates_correct_edge_dialect_aot_intermediate_outputs
111+
--ignore=devtools/inspector/tests/inspector_test.py::TestInspector::test_etrecord_populates_correct_export_program_aot_intermediate_outputs
112+
113+
# run the same tests multiple times to determine their
114+
# flakiness status. Default to 50 re-runs
115+
flake-finder = true
116+
flake-runs = 50

0 commit comments

Comments
 (0)