Array API Tests #602
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 | |
ref: 2022.05.18 | |
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 yet as some are not implemented | |
array_api_tests/test_signatures.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 |