2021-09-29 04:50:25 +08:00
|
|
|
### Additional end-to-end tests with heavy dependencies (heavydep tests)
|
|
|
|
|
|
|
|
Some end-to-end tests require additional dependencies which don't make sense to
|
2021-10-06 04:16:40 +08:00
|
|
|
include as part of the default torch-mlir setup. Additionally, these
|
|
|
|
dependencies often don't work with the same HEAD PyTorch version that torch-mlir
|
|
|
|
builds against at the C++ level.
|
2021-09-29 04:50:25 +08:00
|
|
|
|
|
|
|
We have a self-contained script that generates all the needed artifacts from a
|
|
|
|
self-contained virtual environment. It can be used like so:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
# Build the virtual environment in the specified directory and generate the
|
|
|
|
# serialized test artifacts in the other specified directory.
|
|
|
|
# This command is safe to re-run if you have already built the virtual
|
|
|
|
# environment and just changed the tests.
|
2022-08-30 04:32:18 +08:00
|
|
|
build_tools/e2e_heavydep_tests/generate_serialized_tests.sh \
|
2021-09-29 04:50:25 +08:00
|
|
|
path/to/heavydep_venv \
|
|
|
|
path/to/heavydep_serialized_tests
|
|
|
|
|
|
|
|
# Add the --serialized-test-dir flag to point at the directory containing the
|
|
|
|
# serialized tests. All other functionality is the same as the normal invocation
|
2022-08-30 04:32:18 +08:00
|
|
|
# of e2e_test.sh, but the serialized tests will be available.
|
|
|
|
tools/e2e_test.sh --serialized-test-dir=path/to/heavydep_serialized_tests
|
2021-09-29 04:50:25 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
The tests use the same (pure-Python) test framework as the normal
|
2022-08-30 04:32:18 +08:00
|
|
|
e2e_test.sh, but the tests are added in
|
|
|
|
`build_tools/e2e_heavydep_tests` instead of
|
2021-09-29 04:50:25 +08:00
|
|
|
`frontends/pytorch/e2e_testing/torchscript`.
|
|
|
|
|
|
|
|
We rely critically on serialized TorchScript compatibility across PyTorch
|
|
|
|
versions to transport the tests + pure-Python compatibility of the `torch`
|
|
|
|
API, which has worked well so far.
|