Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
05dcd27
Re-introduce Array API Tests suite
prady0t Aug 30, 2026
7be2646
Merge branch 'main' into full-tests-compatability
prady0t Aug 30, 2026
54ffa05
ref master
prady0t Aug 30, 2026
40ef574
Merge branch 'full-tests-compatability' of https://github.com/prady0t…
prady0t Aug 30, 2026
cc0e8e9
Merge branch 'main' into full-tests-compatability
prady0t Sep 1, 2026
22e9e2c
Add complete list of xfails
prady0t Sep 2, 2026
c0711bc
Merge branch 'full-tests-compatability' of https://github.com/prady0t…
prady0t Sep 2, 2026
8c50134
Merge branch 'main' into full-tests-compatability
prady0t Sep 2, 2026
4b9c99d
Merge branch 'main' into full-tests-compatability
zcbenz Sep 8, 2026
b4d8b23
point to v2026.09.08 and use better xfail file
prady0t Sep 8, 2026
c090a01
Adding xfail option and using strict option
prady0t Sep 8, 2026
8781144
changing loaction of xfail file
prady0t Sep 8, 2026
0ee08e0
better xfail and a skip file
prady0t Sep 11, 2026
b696a80
add skip file in ci command
prady0t Sep 11, 2026
1cfb0d4
Better xfail file
prady0t Sep 13, 2026
32afa97
Merge branch 'main' into full-tests-compatability
zcbenz Sep 13, 2026
670d963
Correct skip file path
prady0t Sep 14, 2026
244d438
Merge branch 'main' into full-tests-compatability
prady0t Sep 16, 2026
222a97b
correctly reference skips file
prady0t Sep 28, 2026
50e6306
Merge branch 'full-tests-compatability' of https://github.com/prady0t…
prady0t Sep 28, 2026
d6e0d27
Merge branch 'main' into full-tests-compatability
zcbenz Sep 29, 2026
4091eb7
update the skips and xfails file according to new failure log + use u…
prady0t Sep 29, 2026
7c0f867
Merge branch 'full-tests-compatability' of https://github.com/prady0t…
prady0t Sep 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,53 @@ jobs:
with:
toolkit: ${{ matrix.toolkit }}

array_api_test:
name: Array API Tests (Metal)
if: github.repository == 'ml-explore/mlx'
needs: mac_build
runs-on: 'macos-26-xlarge'
steps:
- uses: actions/checkout@v7
- uses: ./.github/actions/setup
with:
toolkit: 'metal'
use-ccache: false
- uses: actions/download-artifact@v8
with:
path: artifact
pattern: mlx-metal-*
- name: Checkout array-api-tests
uses: actions/checkout@v7
with:
repository: data-apis/array-api-tests
ref: 'ef5b39f1190d54dca0d9a12646033d2d123afdd5' # v2026.09.08
submodules: 'true'
path: 'array-api-tests'
persist-credentials: false
- name: Install dependencies
shell: bash
run: |
uv pip install pytest-xdist -r array-api-tests/requirements.txt
- name: Run the test suite
shell: bash
env:
ARRAY_API_TESTS_MODULE: mlx.core
ARRAY_API_TESTS_SKIP_DTYPES: 'float64,complex128'
PYTHONWARNINGS: 'ignore::UserWarning::,ignore::DeprecationWarning::,ignore::RuntimeWarning::'
METAL_DEBUG_ERROR_MODE: 0
METAL_DEVICE_WRAPPER_TYPE: 1
run: |
if [[ -d artifact ]] ; then
for SUBDIR in artifact/*; do
rm -rf build dist
mv "$SUBDIR"/* .
break
done
fi
uv pip install dist/*.whl
cd "${GITHUB_WORKSPACE}/array-api-tests"
pytest array_api_tests -v -c pytest.ini -n 2 --max-examples=1000 --derandomize --disable-data-dependent-shapes --disable-deadline -o strict_xfail=True --xfails-file "${GITHUB_WORKSPACE}/python/tests/xp-tests/xfail.txt" --skips-file "${GITHUB_WORKSPACE}/python/tests/xp-tests/skips.txt"

build_documentation:
name: Build Documentation
if: github.repository == 'ml-explore/mlx'
Expand Down
7 changes: 7 additions & 0 deletions python/tests/xp-tests/skips.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# 64bit dtype not supported https://github.com/ml-explore/mlx/issues/4300
array_api_tests/test_creation_functions.py::test_eye

array_api_tests/test_array_object.py::test_getitem_arrays_and_ints_2[None]
array_api_tests/test_array_object.py::test_getitem_arrays_and_ints_2[1]
array_api_tests/test_array_object.py::test_getitem_arrays_and_ints_1[None]
array_api_tests/test_array_object.py::test_getitem_arrays_and_ints_1[1]
Loading
Loading