Currently, almost all of our tests are integration tests which require:
Compiling Scala code.
Building a JAR (takes ~30 seconds on my MBP)
Running pytest (can take as long as 20 seconds)
All of this is a lot slower than iterating with a live running Scala process. We should have tests of various parts of the compiler operating at the IR level. For example, MatrixIR to TableIR lowering should have plenty of in Scala IR-level tests. Likewise for TableIR to CDAIR. The optimizer/simplifier should also have tests at each level which assert certain kinds of code is sufficiently cleaned up by the optimizer.
What happened?
Currently, almost all of our tests are integration tests which require:
All of this is a lot slower than iterating with a live running Scala process. We should have tests of various parts of the compiler operating at the IR level. For example, MatrixIR to TableIR lowering should have plenty of in Scala IR-level tests. Likewise for TableIR to CDAIR. The optimizer/simplifier should also have tests at each level which assert certain kinds of code is sufficiently cleaned up by the optimizer.
Version
0.2.122
Relevant log output
No response