| # IREE E2E Test Artifacts Suite | |
| IREE E2E test artifacts suite is a collection of artifacts for e2e tests and | |
| benchmarking, which usually depend on external models and module compilations. | |
| ## Updating Test Artifacts | |
| All the test artifacts are defined by the python modules. To add/remove/update | |
| these artifacts, modify the related python modules and regenerate the CMake | |
| files with the command below: | |
| ```sh | |
| build_tools/scripts/generate_cmake_files.sh | |
| ``` | |
| Here are the places to find the definitions of the artifacts: | |
| - Model sources: | |
| [build_tools/python/e2e_test_framework/models](/build_tools/python/e2e_test_framework/models) | |
| - Benchmarks: | |
| [build_tools/python/benchmark_suites](/build_tools/python/benchmark_suites) | |
| ## Debugging Build Failures | |
| When an IREE module is failed to build in e2e test artifacts, the error message | |
| will be like: | |
| ``` | |
| [1/1] Generating /.../e2e_test_artifacts/iree_MobileNetV3Small_fp32_module_baec9d4086496a94853f349354f87acb8397bf36169134d3269d5803888dcf49/module.vmfb from MobileNetV3Small_fp32(tflite) [x86_64-cascadelake-linux_gnu-llvm_cpu][default-flags] | |
| FAILED: e2e_test_artifacts/iree_MobileNetV3Small_fp32_module_baec9d4086496a94853f349354f87acb8397bf36169134d3269d5803888dcf49/module.vmfb /.../e2e_test_artifacts/iree_MobileNetV3Small_fp32_module_baec9d4086496a94853f349354f87acb8397bf36169134d3269d5803888dcf49/module.vmfb | |
| cd /.../tests/e2e/test_artifacts && /.../tools/iree-compile --output-format=vm-bytecode ... | |
| ninja: build stopped: subcommand failed. | |
| ``` | |
| The first line shows `Generating ... from <friendly name with the module | |
| architecture and tags>`. You can find the compile flags in | |
| [tests/e2e/test_artifacts/generated_e2e_test_iree_artifacts.cmake](/tests/e2e/test_artifacts/generated_e2e_test_iree_artifacts.cmake) | |
| by searching with it. | |
| > Note that some texts might be truncated from a long output line when shown on | |
| > the console. You can pipe the CMake output to a log file to get full texts. | |
| The model name, architecture, and tags should also lead you to the source that | |
| generates the build rule under | |
| [build_tools/python/benchmark_suites](/build_tools/python/benchmark_suites). |