Skip to content

Testing Strategy

Michael Ekstrand edited this page Jan 25, 2022 · 2 revisions

Versions and Test Matrix

We follow NEP 29 for our minimum supported Python and NumPy versions. That means our test matrix includes:

  • 3 OSes: Linux, Mac, and Windows
  • All Python versions required under NEP 29 (3.8, 3.9, and 3.10 as of Jan 25, 2022)
  • Vanilla and Anaconda (conda-forge) Python
  • OpenBLAS and MKL

In addition, CSR 0.5.0 may be released with support for Python 3.7.

Vanilla Python on Mac is rather tricky to get right, so we do not test on it.

Test Strategy

We don't test every conceivable combination. What we test are:

  • Conda Python w/ MKL on all supported platforms & Python versions
  • Vanilla Python w/ pip wheels (using OpenBLAS) on Windows & Linux, all supported Python versions

Non-Intel Platforms

We also support 64-bit ARM-based platforms, but our CI builds do not allow us to properly test them. From time to time, and before cutting a new release, we run the test suite on:

  • An M1 Mac Mini, running the latest macOS & miniforge
  • A Raspberry Pi 4, running Ubuntu LTS aarch64 & miniforge

There is no reason CSR shouldn't support other platforms supported by Numba (PPCLE?), but these are the ones we test on.

Clone this wiki locally