| # IREE regression testing suite | |
| This project defines tooling and tests comprising IREE's model regression | |
| testing suite. It aims operate at the compiler-input level and choreographs | |
| the normal tool flows of `iree-compile`, `iree-run-module`, | |
| `iree-benchmark-module`, etc. | |
| ## Quick Start | |
| If you have IREE tools on your path or have a virtual environment setup: | |
| ``` | |
| pip install -e experimental/regression_suite | |
| PATH=../iree-build/tools:$PATH \ | |
| pytest experimental/regression_suite | |
| ``` | |
| Useful options: | |
| * `-s`: Stream all test output. | |
| * `-m MARKEXPR`: Select subsets of the test suite. | |
| Common marker selections: | |
| * `-m "plat_host_cpu and presubmit"`: Run the host-CPU tests configured for | |
| presubmit on the CI. | |
| * `-m "plat_rdna3_vulkan and presubmit"`: Run the host-CPU tests configured for | |
| presubmit on the CI. | |
| You can display all markers with `pytest experimental/regression_suite --markers` | |
| ## Setting up a venv | |
| NOTE: For this to work, you must previously have installed GitHub command line | |
| tools and authenticated (`gh auth`). See https://cli.github.com/. | |
| The test suite doesn't care how you get tools on your path, but a common | |
| case is to run the regression suite from built compilers and tools from a | |
| GitHub presubmit or postsubmit run. This can be done in one step by setting | |
| up a venv: | |
| ``` | |
| deactivate # If have any venv active. | |
| python ./build_tools/pkgci/setup_venv.py \ | |
| /tmp/iree_gh_venv \ | |
| --fetch-gh-workflow=<<RUN_ID>> \ | |
| [--compiler-variant=asserts] [--runtime-variant=asserts] | |
| source /tmp/iree_gh_venv/bin/activate | |
| ``` | |
| In the above, `<<RUN_ID>>` is the value in any GitHub action presubmit/postsubmit | |
| workflow which has built package artifacts. As an example, if looking at a GitHub | |
| Actions status page on: | |
| `https://github.com/openxla/iree/actions/runs/5957351746/job/16159877442`, then | |
| the run id is the first number in the URL (5957351746). | |
| Running the above will allow you to run `pytest` and you will have tools as built | |
| at the commit from which the workflow run originated. |