Array API Tests #633
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Array API Tests | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
schedule: | |
# Every weekday at 03:19 UTC, see https://crontab.guru/ | |
- cron: "19 3 * * 1-5" | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest"] | |
python-version: ["3.8"] | |
steps: | |
- name: Checkout Cubed | |
uses: actions/checkout@v3 | |
with: | |
path: cubed | |
- name: Checkout Array API tests | |
uses: actions/checkout@v3 | |
with: | |
repository: data-apis/array-api-tests | |
path: array-api-tests | |
submodules: "true" | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- name: Install dependencies | |
run: | | |
pushd array-api-tests | |
pip install -e '../cubed[test]' | |
pip install -r requirements.txt # from Array API tests repo | |
- name: Run Array API tests | |
env: | |
ARRAY_API_TESTS_MODULE: cubed.array_api | |
run: | | |
pushd array-api-tests | |
# Skip testing functions with known issues | |
cat << EOF >> skips.txt | |
# not implemented (elemwise inplace) | |
array_api_tests/test_operators_and_elementwise_functions.py::test_add[__iadd__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_add[__iadd__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_and[__iand__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_and[__iand__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_left_shift[__ilshift__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_left_shift[__ilshift__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_or[__ior__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_or[__ior__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_right_shift[__irshift__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_right_shift[__irshift__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_xor[__ixor__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_xor[__ixor__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_divide[__itruediv__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_divide[__itruediv__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_floor_divide[__ifloordiv__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_floor_divide[__ifloordiv__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_multiply[__imul__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_multiply[__imul__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_pow[__ipow__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_pow[__ipow__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_remainder[__imod__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_remainder[__imod__(x, s)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_subtract[__isub__(x1, x2)] | |
array_api_tests/test_operators_and_elementwise_functions.py::test_subtract[__isub__(x, s)] | |
# don't run special cases yet | |
array_api_tests/test_special_cases.py | |
# don't test signatures or names yet as some are not implemented | |
array_api_tests/test_signatures.py | |
array_api_tests/test_has_names.py | |
# very slow | |
array_api_tests/test_creation_functions.py::test_eye | |
# not implemented | |
array_api_tests/test_array_object.py::test_setitem | |
array_api_tests/test_array_object.py::test_setitem_masking | |
array_api_tests/test_manipulation_functions.py::test_flip | |
array_api_tests/test_manipulation_functions.py::test_roll | |
array_api_tests/test_sorting_functions.py | |
array_api_tests/test_statistical_functions.py::test_std | |
array_api_tests/test_statistical_functions.py::test_var | |
# From https://github.com/data-apis/array-api-tests/blob/master/.github/workflows/numpy.yml | |
# https://github.com/numpy/numpy/issues/18881 | |
array_api_tests/test_creation_functions.py::test_linspace | |
# https://github.com/numpy/numpy/issues/20870 | |
array_api_tests/test_data_type_functions.py::test_can_cast | |
EOF | |
pytest -v -rxXfEA --max-examples=2 --disable-data-dependent-shapes --disable-extension linalg --ci --cov=cubed.array_api --cov-report=term-missing |