fix golden tests

This commit is contained in:
Hongrui Fang 2023-03-24 18:40:31 +08:00
parent f87d6f00a6
commit fb989f7051
No known key found for this signature in database
GPG key ID: F2D0D08AF77AC599
4 changed files with 26 additions and 15 deletions

5
.gitignore vendored
View file

@ -26,4 +26,7 @@ TAGS
haddock haddock
hoo hoo
.pre-commit-config.yaml .pre-commit-config.yaml
agora-test/goldens/agora.json
agora-test/goldens/agoraDebug.json

View file

@ -2,7 +2,6 @@ module Golden (testGolden) where
import Agora.Bootstrap qualified as Bootstrap import Agora.Bootstrap qualified as Bootstrap
import Agora.Linker (linker) import Agora.Linker (linker)
import Data.ByteString.Lazy qualified as LBS
import Data.Text qualified as Text import Data.Text qualified as Text
import Plutarch (Config (Config), TracingMode (DoTracing, NoTracing)) import Plutarch (Config (Config), TracingMode (DoTracing, NoTracing))
import ScriptExport.File qualified as ScriptExport import ScriptExport.File qualified as ScriptExport
@ -10,7 +9,7 @@ import ScriptExport.Options qualified as ScriptExport
import ScriptExport.Types qualified as ScriptExport import ScriptExport.Types qualified as ScriptExport
import System.Directory (createDirectoryIfMissing) import System.Directory (createDirectoryIfMissing)
import Test.Tasty (TestTree, testGroup) import Test.Tasty (TestTree, testGroup)
import Test.Tasty.Golden (goldenVsString) import Test.Tasty.Golden (goldenVsFile)
import Test.Tasty.Providers (TestName) import Test.Tasty.Providers (TestName)
builders :: ScriptExport.Builders builders :: ScriptExport.Builders
@ -30,15 +29,24 @@ testGolden =
goldenTest :: TestName -> FilePath -> TestTree goldenTest :: TestName -> FilePath -> TestTree
goldenTest builder outputPath = goldenTest builder outputPath =
goldenVsString let mkFilename suffix = outputPath <> builder <> suffix <> ".json"
builder goldenFilename = mkFilename "-golden"
(outputPath <> builder <> "-golden.json") sampleFilename = mkFilename ""
(callExportScript builder outputPath) in goldenVsFile
builder
goldenFilename
sampleFilename
$ callExportScript builder outputPath
-- Call the script server and generate an unapplied script set. -- Call the script server and generate an unapplied script set.
callExportScript :: String -> FilePath -> IO LBS.ByteString callExportScript :: String -> FilePath -> IO ()
callExportScript builder outputPath = do callExportScript builder outputPath = do
_ <- createDirectoryIfMissing False outputPath _ <- createDirectoryIfMissing False outputPath
let sampleFilePath = outputPath <> builder <> ".json" ScriptExport.runFile
ScriptExport.runFile builders (ScriptExport.FileOptions {out = outputPath, param = "", builder = Text.pack builder}) builders
LBS.readFile sampleFilePath ( ScriptExport.FileOptions
{ out = outputPath
, param = ""
, builder = Text.pack builder
}
)

View file

@ -112,12 +112,12 @@
"version": "ScriptV2" "version": "ScriptV2"
}, },
"agora:treasuryWithdrawalValidator": { "agora:treasuryWithdrawalValidator": {
"cborHex": "59058259057f010000323232323232323232323232323232323232323232323232323222223232323232323232323232323253330253370e9001001099192999813a9980f19b873301400f375660566460546054605400260520026466e052000001480084cdc3999119981311119a9998168008912800899111801001991911980080180118178011818000918009119993802200130050023300600500113248001262300300100123253330293233333301902d03037520246eacc0b8c0b00048c8c8c94ccc0b8cdc3a40000042940528981980118178009baa302f3030302f00214a2605c00226602c0226eacc0b4c0acc0b800458c8c0b4c0ac004c0b4004dd61815800a400426464a6660526603e46464a6604aa6604a664466ebcdd398198011ba73033001303000200713301f00137586060605c00a2646464a66605e66e1d200200214a02944c0d0008c0c0004dd5000991818181880099181818188009817981680098178009bac302d00115333029357466664604e444a66605c0022004266006660080046062002605e0024464646666464605844a666064002244a0022a6660626006606a002264446004006606600226644660024644460040066006002244a0026060606a00260046066002466ebc004008c8cdd2a40006605a0046605a0020466062605e00400840022a66605a660400026eb0c0c4c0bc018401058c8c0c4c0c8004c0c0004c0c0004dd618168011bac302d302b302b00114985858c0b4c0b003cdd60090b1815981500698148008b181500118130009baa302630240095333022001149858c08800ccc04c8c8c8c8c80154ccc08ccdc3a400000426464a66604a66e1cdc6800a4070264649329998138008a4c2c604e0062c6eb8004c09c00454ccc08ccdc3a400400426464a66604a66e1cdc6800a4070264649329998138008a4c2c604e0062c6eb8004c09c00458c0a0008c090004dd50009bac0013022001301f0033301023232323200553330203370e900000109919191919191919191919191924ca66605a0022930b1816803192999815999119811918019bab3034001001233223302423003375a606a002002466e212000001001001100116375600860486eac00ccc0908cdd819192999815a9981219b87001480004cdc3800a40702605c0062c6e34004dd71816000991919181900218131bab30310033302623376064a66605866e24dc6800a40802605e0042c6eb8c0b8004c8c0c8008dd698188008009bab302f00100137560026054002604e00ca66604866e1d20000021323253330263370e6e340052038132324994ccc0a000452616302800316375c00260500022a66604866e1d20020021323253330263370e6e340052038132324994ccc0a000452616302800316375c00260500022c6052004604a0026ea8004c09000458c094008c084004dd50009bac001301f001375800a603c0046eb801000488cccccc00c05c068dd480100091998039119b80375a603a00400290001bab0011480008888cccc014cc0180100080048c888c00800cc01000448940048c038894ccc05000448940044ccc00cc05c004888c00800c4c008c0540048894ccc048cdd78011801800891180100189128009118069129998098008801899802180b0009801180a000918059129998088008a50153330103375e602800200629444c008c0480048c028894ccc04000440104cc038c00cc04c004c008c0440052f5c04601044a66601c002294454cc010c00cc0440044c008c03c00488ccc02c00800400c5281198040008010a512333003225333009001120041322533300a300100216133004300c0032337200020066eb8c02cc0300040049281180111299980400088028998031801980580098011804800919180111980100100091801119801001000a5eb7bdb1815d02b9a5573eae8955ceaba1230023754002aae79", "cborHex": "590718590715010000323232323232323232323232323232323232323232323232323232323232323232323232323232323222223232323232323232323232323253330343370e900100109919299981b29981699b873301400f375660746460726072607200260700026466e052000001480084cdc3999119981a91119981080091800911999380220013005002330060050011324800126302700200123253330383233333301903c03f37520246eacc0f4c0ec0048c8c8c94ccc0f4cdc3a400000429405289821001181f0009baa303e303f303e00214a2607a00226602c0226eacc0f0c0e8c0f400458c8c0f0c0e8004c0f0004dd6181d000a400426464a66607066058605a466e1c005200033302070266446660466048e04008004cc0708c8c8c94ccc0f14cc0d4cc88cdd79ba73043002374e608600260800060102646464a66607e66e1d200200214a02944c110008c100004dd5000881d0a99981e198160009bac3040303e006137566080607c0042c6460806082002607e002607e607c6078002607c0026eb0c0f0004cc0708cc0a888004004dd6181e0011980e119299981d1981519181f9820000981f0009bac303e303c00413756607c60780022070607c00266606a444a66607800420022a6660780022c264a6660786605a44a6606a64646464a66608466e1d2002002132323253330453370e90000010a5013375e6e9c010dd3800982500118230009baa004132323253330453370e90010010a5013375e6e9c010dd3800982500118230009baa0043047002304300137540066460866088002608400626466ebcdd30011ba60013756608460800066080006266008607c006607c0042c6080607e0026eb0c0f0008dd6181e181d181d0008a4c2c6078607601e6eb004858c0e8c0e4034c0e000458c0e4008c0d4004dd5181a9819804a9998188008a4c2c60620066604046464646400aa66606466e1d20000021323253330343370e6e340052038132324994ccc0d800452616303600316375c002606c0022a66606466e1d20020021323253330343370e6e340052038132324994ccc0d800452616303600316375c002606c0022c606e00460660026ea8004dd6000981880098170019980e919191919002a99981799b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c926533303c001149858c0f0018c94ccc0e8cc0b88cc0c08cdc42400000200200220022c6eac010c0ccdd580199819919bb03232533303a5330333370e0029000099b87001480e04c0f400c58dc68009bae303b00132323230410043035375660800066606a466ec0c94ccc0eccdc49b8d001481004c0f800858dd7181e8009918208011bad30400010013756607c0020026eac004c0e4004c0d80194ccc0cccdc3a400000426464a66606a66e1cdc6800a40702646493299981b8008a4c2c606e0062c6eb8004c0dc00454ccc0cccdc3a400400426464a66606a66e1cdc6800a40702646493299981b8008a4c2c606e0062c6eb8004c0dc00458c0e0008c0d0004dd500098198008b181a00118180009baa0013758002605c0026eb0014c0b4008dd7002000911999998018130149ba9002001233300722337006eb4c0b000800520003756002290001111199980299803002001000919111801001980200089128009180e9129998118008912800899980198130009111801001898011812000911299981099baf00230030011223002003122500122301c22533302200110031330043025001300230230012233003300d00200130182223330040012300122333008220013005002330060050011300c49894ccc07000448940044c888c00800cc8c88cc00400c008c078008c07c004888ccc011c00010009111998021119980380280100080100091801911ba63300337560046eac0048c00888dd4198019bad002375a002444666600800644004004002460246004002446464466002006004444a6660340022660300060042646464a66603866ebc0080044cc06ccdd8001198049811003181100199980411001002980f0020a99980e19b90375c0046eb80044cc06c018cccc0208800400cc0780100144cc06c00ccccc02088004018014c078010c078008c074010c074004894ccc06000840044cccc00c88004c06c008c064008004804488c0080048c038894ccc0500045280a99980999baf301700100314a226004602a002446466006602c0026eacc058c050004c0580048c030894ccc04800440104cc040c00cc054004c008c04c0052f5c04466008460066eacc05400400488cc00c8c00cdd6980a000800918041129998070008a5115330043003301100113002300f0012233300b00200100314a046601000200429448ccc00c894ccc024004480104c894ccc028c004008584cc010c03000c8cdc80008019bae300b300c00100124a04600444a666010002200a26600c600660160026004601200246460044660040040024600446600400400297adef6c605740ae6955cfaba25573aae848c008dd5000aab9e1",
"description": "agora:treasuryWithdrawalValidator", "description": "agora:treasuryWithdrawalValidator",
"params": [ "params": [
"Ply.Core.Types:AsData#Data.Tagged:Tagged#GHC.TypeLits:\"AuthorityTokenTag\"#PlutusLedgerApi.V1.Value:CurrencySymbol" "Ply.Core.Types:AsData#Data.Tagged:Tagged#GHC.TypeLits:\"AuthorityTokenTag\"#PlutusLedgerApi.V1.Value:CurrencySymbol"
], ],
"rawHex": "59057f010000323232323232323232323232323232323232323232323232323222223232323232323232323232323253330253370e9001001099192999813a9980f19b873301400f375660566460546054605400260520026466e052000001480084cdc3999119981311119a9998168008912800899111801001991911980080180118178011818000918009119993802200130050023300600500113248001262300300100123253330293233333301902d03037520246eacc0b8c0b00048c8c8c94ccc0b8cdc3a40000042940528981980118178009baa302f3030302f00214a2605c00226602c0226eacc0b4c0acc0b800458c8c0b4c0ac004c0b4004dd61815800a400426464a6660526603e46464a6604aa6604a664466ebcdd398198011ba73033001303000200713301f00137586060605c00a2646464a66605e66e1d200200214a02944c0d0008c0c0004dd5000991818181880099181818188009817981680098178009bac302d00115333029357466664604e444a66605c0022004266006660080046062002605e0024464646666464605844a666064002244a0022a6660626006606a002264446004006606600226644660024644460040066006002244a0026060606a00260046066002466ebc004008c8cdd2a40006605a0046605a0020466062605e00400840022a66605a660400026eb0c0c4c0bc018401058c8c0c4c0c8004c0c0004c0c0004dd618168011bac302d302b302b00114985858c0b4c0b003cdd60090b1815981500698148008b181500118130009baa302630240095333022001149858c08800ccc04c8c8c8c8c80154ccc08ccdc3a400000426464a66604a66e1cdc6800a4070264649329998138008a4c2c604e0062c6eb8004c09c00454ccc08ccdc3a400400426464a66604a66e1cdc6800a4070264649329998138008a4c2c604e0062c6eb8004c09c00458c0a0008c090004dd50009bac0013022001301f0033301023232323200553330203370e900000109919191919191919191919191924ca66605a0022930b1816803192999815999119811918019bab3034001001233223302423003375a606a002002466e212000001001001100116375600860486eac00ccc0908cdd819192999815a9981219b87001480004cdc3800a40702605c0062c6e34004dd71816000991919181900218131bab30310033302623376064a66605866e24dc6800a40802605e0042c6eb8c0b8004c8c0c8008dd698188008009bab302f00100137560026054002604e00ca66604866e1d20000021323253330263370e6e340052038132324994ccc0a000452616302800316375c00260500022a66604866e1d20020021323253330263370e6e340052038132324994ccc0a000452616302800316375c00260500022c6052004604a0026ea8004c09000458c094008c084004dd50009bac001301f001375800a603c0046eb801000488cccccc00c05c068dd480100091998039119b80375a603a00400290001bab0011480008888cccc014cc0180100080048c888c00800cc01000448940048c038894ccc05000448940044ccc00cc05c004888c00800c4c008c0540048894ccc048cdd78011801800891180100189128009118069129998098008801899802180b0009801180a000918059129998088008a50153330103375e602800200629444c008c0480048c028894ccc04000440104cc038c00cc04c004c008c0440052f5c04601044a66601c002294454cc010c00cc0440044c008c03c00488ccc02c00800400c5281198040008010a512333003225333009001120041322533300a300100216133004300c0032337200020066eb8c02cc0300040049281180111299980400088028998031801980580098011804800919180111980100100091801119801001000a5eb7bdb1815d02b9a5573eae8955ceaba1230023754002aae79", "rawHex": "590715010000323232323232323232323232323232323232323232323232323232323232323232323232323232323222223232323232323232323232323253330343370e900100109919299981b29981699b873301400f375660746460726072607200260700026466e052000001480084cdc3999119981a91119981080091800911999380220013005002330060050011324800126302700200123253330383233333301903c03f37520246eacc0f4c0ec0048c8c8c94ccc0f4cdc3a400000429405289821001181f0009baa303e303f303e00214a2607a00226602c0226eacc0f0c0e8c0f400458c8c0f0c0e8004c0f0004dd6181d000a400426464a66607066058605a466e1c005200033302070266446660466048e04008004cc0708c8c8c94ccc0f14cc0d4cc88cdd79ba73043002374e608600260800060102646464a66607e66e1d200200214a02944c110008c100004dd5000881d0a99981e198160009bac3040303e006137566080607c0042c6460806082002607e002607e607c6078002607c0026eb0c0f0004cc0708cc0a888004004dd6181e0011980e119299981d1981519181f9820000981f0009bac303e303c00413756607c60780022070607c00266606a444a66607800420022a6660780022c264a6660786605a44a6606a64646464a66608466e1d2002002132323253330453370e90000010a5013375e6e9c010dd3800982500118230009baa004132323253330453370e90010010a5013375e6e9c010dd3800982500118230009baa0043047002304300137540066460866088002608400626466ebcdd30011ba60013756608460800066080006266008607c006607c0042c6080607e0026eb0c0f0008dd6181e181d181d0008a4c2c6078607601e6eb004858c0e8c0e4034c0e000458c0e4008c0d4004dd5181a9819804a9998188008a4c2c60620066604046464646400aa66606466e1d20000021323253330343370e6e340052038132324994ccc0d800452616303600316375c002606c0022a66606466e1d20020021323253330343370e6e340052038132324994ccc0d800452616303600316375c002606c0022c606e00460660026ea8004dd6000981880098170019980e919191919002a99981799b87480000084c8c8c8c8c8c8c8c8c8c8c8c8c926533303c001149858c0f0018c94ccc0e8cc0b88cc0c08cdc42400000200200220022c6eac010c0ccdd580199819919bb03232533303a5330333370e0029000099b87001480e04c0f400c58dc68009bae303b00132323230410043035375660800066606a466ec0c94ccc0eccdc49b8d001481004c0f800858dd7181e8009918208011bad30400010013756607c0020026eac004c0e4004c0d80194ccc0cccdc3a400000426464a66606a66e1cdc6800a40702646493299981b8008a4c2c606e0062c6eb8004c0dc00454ccc0cccdc3a400400426464a66606a66e1cdc6800a40702646493299981b8008a4c2c606e0062c6eb8004c0dc00458c0e0008c0d0004dd500098198008b181a00118180009baa0013758002605c0026eb0014c0b4008dd7002000911999998018130149ba9002001233300722337006eb4c0b000800520003756002290001111199980299803002001000919111801001980200089128009180e9129998118008912800899980198130009111801001898011812000911299981099baf00230030011223002003122500122301c22533302200110031330043025001300230230012233003300d00200130182223330040012300122333008220013005002330060050011300c49894ccc07000448940044c888c00800cc8c88cc00400c008c078008c07c004888ccc011c00010009111998021119980380280100080100091801911ba63300337560046eac0048c00888dd4198019bad002375a002444666600800644004004002460246004002446464466002006004444a6660340022660300060042646464a66603866ebc0080044cc06ccdd8001198049811003181100199980411001002980f0020a99980e19b90375c0046eb80044cc06c018cccc0208800400cc0780100144cc06c00ccccc02088004018014c078010c078008c074010c074004894ccc06000840044cccc00c88004c06c008c064008004804488c0080048c038894ccc0500045280a99980999baf301700100314a226004602a002446466006602c0026eacc058c050004c0580048c030894ccc04800440104cc040c00cc054004c008c04c0052f5c04466008460066eacc05400400488cc00c8c00cdd6980a000800918041129998070008a5115330043003301100113002300f0012233300b00200100314a046601000200429448ccc00c894ccc024004480104c894ccc028c004008584cc010c03000c8cdc80008019bae300b300c00100124a04600444a666010002200a26600c600660160026004601200246460044660040040024600446600400400297adef6c605740ae6955cfaba25573aae848c008dd5000aab9e1",
"role": "ValidatorRole", "role": "ValidatorRole",
"version": "ScriptV2" "version": "ScriptV2"
} }

File diff suppressed because one or more lines are too long