Documentation

Lean.Compiler.LCNF.Testing

Instances For
    Equations
    • x.install passUnderTestName testName = x { passUnderTestName := passUnderTestName, testName := testName }
    Instances For
      Equations
      • x.run passUnderTest testName = x { passUnderTest := passUnderTest, testName := testName }
      Instances For
        Equations
        • x.run decls passUnderTest testName = x { decls := decls } { passUnderTest := passUnderTest, testName := testName }
        Instances For
          Equations
          • x.run input output passUnderTest testName = x { input := input, output := output } { passUnderTest := passUnderTest, testName := testName }
          Instances For

            If property is false throw an exception with msg.

            Equations
            Instances For

              Install an assertion pass right after a specific occurrence of a pass, default is first.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Install an assertion pass right after each occurrence of a pass.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Install an assertion pass right after a specific occurrence of a pass, default is first. The assertion operates on a per declaration basis.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Install an assertion pass right after the each occurrence of a pass. The assertion operates on a per declaration basis.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Replace a specific occurrence, default is first, of a pass with a wrapper one that allows the user to provide an assertion which takes into account both the declarations that were sent to and produced by the pass under test.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Replace all occurrences of a pass with a wrapper one that allows the user to provide an assertion which takes into account both the declarations that were sent to and produced by the pass under test.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Insert a pass after passUnderTestName, that ensures, that if passUnderTestName is executed twice in a row, no change in the resulting expression will occur, i.e. the pass is at a fix point.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            Compare the overall sizes of the input and output of passUnderTest with assertion. If assertion inputSize outputSize is false throw an exception with msg.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Assert that the overall size of the Decls in the compilation pipeline does not change after passUnderTestName.

                              Equations
                              Instances For

                                Assert that the overall size of the Decls in the compilation pipeline gets reduced by passUnderTestName.

                                Equations
                                Instances For

                                  Assert that the overall size of the Decls in the compilation pipeline gets reduced or stays unchanged by passUnderTestName.

                                  Equations
                                  Instances For

                                    Assert that the pass under test produces Decls that do not contain Expr.const constName in their Code.let values anymore.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For