From 4403a3aeb75634a78521d04cf383f3be7763c359 Mon Sep 17 00:00:00 2001 From: Ana Pantilie Date: Mon, 11 Nov 2024 19:50:54 +0200 Subject: [PATCH] Add certifier golden testing framework --- plutus-executables/executables/uplc/Main.hs | 5 +- plutus-executables/plutus-executables.cabal | 15 + plutus-executables/test/certifier/Spec.hs | 43 ++ .../test/certifier/succInteger.out.golden | 460 ++++++++++++++++++ .../test/certifier/succInteger.uplc | 1 + 5 files changed, 521 insertions(+), 3 deletions(-) create mode 100644 plutus-executables/test/certifier/Spec.hs create mode 100644 plutus-executables/test/certifier/succInteger.out.golden create mode 100644 plutus-executables/test/certifier/succInteger.uplc diff --git a/plutus-executables/executables/uplc/Main.hs b/plutus-executables/executables/uplc/Main.hs index 9d16b884700..34b52a841a7 100644 --- a/plutus-executables/executables/uplc/Main.hs +++ b/plutus-executables/executables/uplc/Main.hs @@ -61,7 +61,6 @@ import Agda.Syntax.Translation.ConcreteToAbstract (ToAbstract (toAbstract)) import Agda.TypeChecking.Pretty (PrettyTCM (..)) import Agda.Utils.FileName qualified as HAgda.File import AgdaUnparse (agdaUnparse) -import Data.Text qualified as Text import System.Environment (getEnv) uplcHelpText :: String @@ -319,7 +318,7 @@ runAgda certName rawTrace = do Left err -> error $ show err stdlibPath <- getEnv "AGDA_STDLIB_SRC" metatheoryPath <- getEnv "PLUTUS_METHATHEORY_SRC" - let inputFile = HAgda.File.AbsolutePath (Text.pack $ metatheoryPath "Certifier.agda") + inputFile <- HAgda.File.absolute (metatheoryPath "Certifier.agda") runTCMPrettyErrors $ do let opts = defaultOptions @@ -336,7 +335,7 @@ runAgda certName rawTrace = do internalisedTrace <- toAbstract parsedTrace decisionProcedureResult <- evalInCurrent DefaultCompute internalisedTrace final <- prettyTCM decisionProcedureResult - liftIO $ writeFile (certName ++ ".agda") (show final) + liftIO $ writeFile certName (show final) ---------------- Script application ---------------- diff --git a/plutus-executables/plutus-executables.cabal b/plutus-executables/plutus-executables.cabal index 5919b5bcbce..11ea5fc952b 100644 --- a/plutus-executables/plutus-executables.cabal +++ b/plutus-executables/plutus-executables.cabal @@ -157,3 +157,18 @@ test-suite test-detailed build-tool-depends: , plutus-executables:plc , plutus-executables:uplc + +test-suite test-certifier + import: lang, os-support + type: exitcode-stdio-1.0 + main-is: Spec.hs + hs-source-dirs: test/certifier + build-depends: + , base + , directory + , filepath + , process + , tasty + , tasty-golden + + build-tool-depends: plutus-executables:uplc diff --git a/plutus-executables/test/certifier/Spec.hs b/plutus-executables/test/certifier/Spec.hs new file mode 100644 index 00000000000..9d4b608ea84 --- /dev/null +++ b/plutus-executables/test/certifier/Spec.hs @@ -0,0 +1,43 @@ +module Main (main) where + +import System.Directory (withCurrentDirectory) +import System.FilePath (dropExtensions, (<.>), ()) +import System.Process (callProcess) +import Test.Tasty (TestTree, defaultMain, testGroup) +import Test.Tasty.Golden (findByExtension, goldenVsFile) + +path :: String +path = "test/certifier/" + +package :: String +package = "plutus-executables" + +mkTestCase :: FilePath -> TestTree +mkTestCase input = + let expectedCert = dropExtensions input <.> "out" <.> "golden" + actualCert = dropExtensions input <.> "out" + in goldenVsFile input expectedCert actualCert (mkTest input actualCert) + +mkTest :: FilePath -> FilePath -> IO () +mkTest input testName = do + -- This is a hack which is necessary because we rely on the + -- PLUTUS_METHATHEORY_SRC environment variable + withCurrentDirectory ".." + -- TODO: ignore stdout, capture stderr and exceptions + $ callProcess + "uplc" + [ "optimise" + , "-i" + , package input + , "--certify" + , package testName + ] + +main :: IO () +main = do + uplcFiles <- findByExtension [".uplc"] path + defaultMain + $ testGroup "certifier" + $ mkTestCase + <$> uplcFiles + diff --git a/plutus-executables/test/certifier/succInteger.out.golden b/plutus-executables/test/certifier/succInteger.out.golden new file mode 100644 index 00000000000..6f7780c52e7 --- /dev/null +++ b/plutus-executables/test/certifier/succInteger.out.golden @@ -0,0 +1,460 @@ +just +(proof + (Agda.Builtin.Bool.true Relation.Nullary.because + Relation.Nullary.ofʸ + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isCSE + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + caseReduceNotImplemented + (Trace.cons inlineNotImplemented + (Trace.cons + (isCSE + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + caseReduceNotImplemented + (Trace.cons + inlineNotImplemented + (Trace.cons + (isCSE + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + caseReduceNotImplemented + (Trace.cons + inlineNotImplemented + (Trace.cons + (isCSE + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFlD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isFD + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + (isCoC + (VerifiedCompilation.UntypedTranslation.ƛ + (VerifiedCompilation.UntypedTranslation.app + (VerifiedCompilation.UntypedTranslation.app + VerifiedCompilation.UntypedTranslation.builtin + VerifiedCompilation.UntypedTranslation.var) + VerifiedCompilation.UntypedTranslation.con))) + (Trace.cons + caseReduceNotImplemented + (Trace.cons + inlineNotImplemented + empty)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ No newline at end of file diff --git a/plutus-executables/test/certifier/succInteger.uplc b/plutus-executables/test/certifier/succInteger.uplc new file mode 100644 index 00000000000..e0b997f0b57 --- /dev/null +++ b/plutus-executables/test/certifier/succInteger.uplc @@ -0,0 +1 @@ +(program 1.1.0 (lam i-0 [ [ (builtin addInteger) i-0 ] (con integer 1) ])) \ No newline at end of file