How are the Integration tests executed flow

Hi all,

I had a quick question regarding the flow of how integration tests are being executed. How are the REQUIRES, RUN and CHECK “variables” in the comments of *.mlir files being executed? For example:

Source: circt/dot.mlir at 15741410bea6f91cb4e22f2329ff552549a102d1 · llvm/circt · GitHub

Is there a library in CMake which reads these RUN and CHECK variables? Thanks!!

This is being consumed and used by the LLVM Integrated Tester (a Python utility, lit). (Usually developers will just call these tests “lit tests”). There is a lot of great documentation at the following links:

The FileCheck documentation is likely sufficiently to understand what is going on for simple tests.

1 Like

Perfect, thank you!