Documentation

Lean.Compiler.LCNF.Testing

Instances For
    @[reducible, inline]
    Instances For
      @[reducible, inline]
      Instances For
        @[reducible, inline]
        Instances For
          @[reducible, inline]
          Instances For
            @[reducible, inline]
            Instances For
              Equations
              • x.install passUnderTestName testName = x { passUnderTestName := passUnderTestName, testName := testName }
              Instances For
                Equations
                • x.run decls passUnderTest testName = x { decls := decls } { 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.

                      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.

                        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.

                              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.

                                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.

                                  Instances For

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

                                    Instances For

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

                                      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.

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