elm-explorations / test

Write unit and fuzz tests for Elm code.
https://package.elm-lang.org/packages/elm-explorations/test/latest
BSD 3-Clause "New" or "Revised" License
236 stars 40 forks source link

Trivial failing test takes forever to run, slow output diffing might be reason. #144

Closed malaire closed 3 years ago

malaire commented 4 years ago

This test takes about 120 seconds to run even though it's trivial comparison of ( List String, Int ) with 312 String:s.

module Example exposing (suite)

import Expect exposing (Expectation)
import Test exposing (..)

suite : Test
suite =
    test "simple comparison" <|
        \_ -> input |> Expect.equal expected

input : ( List String, Int )
input =
    ( [ "8000000000000000"
      , "CF935BDAA77581F6"
      , "81771566D7D8CD95"
      , "4258409FE1920B68"
      , "F921484837F8AF8F"
      , "D6CEEBD584E9EB9A"
      , "A984EDF9DC4EA196"
      , "E6564BE6FFB5574D"
      , "8D565567B36A191F"
      , "7F07C14F85E4DCC1"
      , "59DAB54371E62887"
      , "42B78DA549FE3BD4"
      , "566887E83E35D231"
      , "945945EE5136EC56"
      , "CE2C10B3F5266E65"
      , "26989A0966A07BF6"
      , "421E0A8E70C2668C"
      , "5AE6F9A39869F350"
      , "E954BC1232A1F7E9"
      , "296EEA2ECE4943AF"
      , "DB52F14BEFB75E14"
      , "6E8B2FEF3B30EC34"
      , "7E2710688A70BFBC"
      , "16A2340A4A12874A"
      , "9091F8A8E4908E9F"
      , "E50AB3DAA1EAC654"
      , "43C021200F0E1876"
      , "9F854FA6AC18887C"
      , "5870740D3F706E1D"
      , "69388EFCB0846057"
      , "C7B3DAE8050BBF40"
      , "B08F671353A3D626"
      , "E62E9DCD31CB4FAB"
      , "8085EB7C397106E6"
      , "D436985A6AB8DD4F"
      , "9DB95F220770203F"
      , "06DDBC3E96F80BF9"
      , "58EF4A1FDE98F02E"
      , "F628A8D6E50EAF67"
      , "ED011E3C7BC234F9"
      , "69C5D08A54720F85"
      , "C0B0F7EF1E28E24A"
      , "20329E5C0BB45024"
      , "4054D71E3903C716"
      , "86883676F17EED07"
      , "BDB6325BBE1BA0B2"
      , "17B95D586476FE09"
      , "D867286208197DE0"
      , "C235F6B97F87633A"
      , "8EF94B1CAC7A60FE"
      , "C7FB735CE92B0B8E"
      , "4FB34A8FA72D12A8"
      , "970C0FD115CEE110"
      , "0CA42C0035A6E60F"
      , "E0D1EDBE76B9E99A"
      , "625F9C409A3FE3EA"
      , "778867CB2FD876BB"
      , "E8E584822DD8A913"
      , "36E4E88A1D94DA4B"
      , "3713E0F29DA249B8"
      , "AA945B7169131DCF"
      , "C99D6FF1D863207B"
      , "742873F0EB10FCE2"
      , "024686AEE3DCEBFB"
      , "20DDECE22B8DDEBA"
      , "342E8CC5E7E9FB27"
      , "A39C4D6E435EA127"
      , "F6FDA275EB053744"
      , "7A29AC23366D1C31"
      , "44A97E23EF93A602"
      , "90CB6DE7AC3C0374"
      , "A74369F5564ADE6A"
      , "63A4ACD03C3FC00F"
      , "03C46FEF133C455E"
      , "0396984D00F55B97"
      , "CBE666A72CF7ECE8"
      , "81C77F6575299605"
      , "D9919BDBA72E27DC"
      , "5745594960E12241"
      , "DCDAFB11C91CE5F5"
      , "D2BD612EB65B4080"
      , "A4EC3EA32AE29C22"
      , "7B5E32664627D41D"
      , "1ADE7F3CBA80F844"
      , "28C41BA01849C94C"
      , "427E10D99F19FC8A"
      , "C35582E69C635326"
      , "4F58EABE04C5A817"
      , "5936F47086DC5D09"
      , "CD09A583CEBEC0FB"
      , "BE7E46EBAC5A25FB"
      , "614412C04E9750FA"
      , "75626F839746B1F5"
      , "F093C310E9909FB3"
      , "9E432171F16EB74C"
      , "B61B0F574E8324A8"
      , "7EE07F5A5F643ABB"
      , "64BE6F27BBB15665"
      , "43D5B43F49A4A84C"
      , "4A76B688D7745AD3"
      , "EFDC11371C9EFDFF"
      , "3658C1245B3A6EE9"
      , "76389D78139FAF3A"
      , "DBEC447088859932"
      , "E39301A87877D6AF"
      , "1690C8F07743ABFB"
      , "A9F4E3D407D88BC5"
      , "8EA5CF53AEB2E9D8"
      , "87A262302657C0A2"
      , "5AA1E7D197D6DE19"
      , "2153B5F7B833F281"
      , "BA7334B079BFE6BF"
      , "89E5FC62BB420E71"
      , "6E915F4759B6B589"
      , "262185880ECC844A"
      , "D86B092F07124941"
      , "D58E9258C82E5D17"
      , "118D1B5BACB9711A"
      , "A3DBD59BACD45742"
      , "B35CC05B19B867FF"
      , "82D546DD635E6729"
      , "3641D642B03226E1"
      , "BD70B67E309F68CD"
      , "13376EE5009316DF"
      , "E5E4E5F1F0FFE527"
      , "DB289E7DA29D2F68"
      , "EBFE799AE36D466F"
      , "6DDFD558423808E0"
      , "D05F36FD27D0E129"
      , "7A00AE7BC371D3C8"
      , "15522DF9542955F4"
      , "E1DE36BFA137822B"
      , "B98D648B9466115F"
      , "8012456A5E18F399"
      , "A16784D9FA19CBD0"
      , "40154BB240C7B2C3"
      , "EA325581563B0AA7"
      , "4218FC14CFB1C030"
      , "5B0189F9D1048985"
      , "DEF55441D9C32063"
      , "625C1E3C99F059BA"
      , "BC094AA41BCAA0AF"
      , "105CF4E829B1F0CA"
      , "8FF60084C128E2AC"
      , "7088FE4846085FBE"
      , "462D9B37F6A57A7C"
      , "B58003929755DFD6"
      , "7D567E4FA3611677"
      , "4F670E85D0FAB039"
      , "DF51819DFF77E4BE"
      , "99CF560ACA3FD573"
      , "37C2A7E8AD454309"
      , "04DD55A5C0DD1B7E"
      , "E375E01FDE9F605A"
      , "6F93573D646D523B"
      , "CCDD0F3D0D68A683"
      , "66945ACCDE9201EA"
      , "E8B2B5F4B37257DC"
      , "BB217A5534CF39D0"
      , "B8C2687F85A8EC68"
      , "C55CA8AEBD2A1CD0"
      , "5A303B9AA2759376"
      , "78FACE6A4A9EE9AF"
      , "C4E77137F1A658A2"
      , "4E62D18467E4D71A"
      , "7A765F48568A1EFB"
      , "88C07935EFDC8C21"
      , "0F03AC55FC74E6E4"
      , "8558D6A6C833008D"
      , "12AE13EBDA940601"
      , "7A1DD2C5D230AF05"
      , "1EBB22BDAC23618E"
      , "CD32BD98152E8735"
      , "E35D5D8244B64BB1"
      , "8E0018ED24C98234"
      , "EFB88D59A8B88946"
      , "11B9A72CD0462D54"
      , "5EF5E9B358574E51"
      , "D31E8FB8EB4B51A5"
      , "F3E92B2619BBC388"
      , "7F6EA73A74D10841"
      , "9D5F7E45C0751A77"
      , "244A855C0FE141B2"
      , "B4580504F86BBA18"
      , "B2AF673EC74482D9"
      , "D033C3A933E4068B"
      , "F162F12E3791F52C"
      , "8403449B73095FD4"
      , "5BA8DBF814D009A2"
      , "56C1E84A7FDEE66F"
      , "6BF0C1A2FCA09BDE"
      , "611414F8829C3A98"
      , "09CB7B0AE6E9FE31"
      , "DF57D9624A883614"
      , "47781B393A005760"
      , "CD671DE20FEEB9EF"
      , "BCABF48D033636CF"
      , "DEAE928D71060DFE"
      , "592269C807797420"
      , "294BEE14AE62A605"
      , "3B389C3EAF946810"
      , "372E0FD6AF7E3E06"
      , "44697FF14CE97A93"
      , "EF4947C06FA55D59"
      , "F34372C42237E674"
      , "86E88A5099F14FDF"
      , "5EF9F39141126176"
      , "428A13B2FB16FBD8"
      , "8BC4C7270DD28AF6"
      , "7925BFCFFF9ACFF9"
      , "0EACEB0E7CFF3F7F"
      , "8F3FA6B2419C0112"
      , "6283F1DFFBB8FCEF"
      , "B8600629933E2D94"
      , "F6D8A6E04BC674A1"
      , "327802EBE2AD0570"
      , "A5B9F3E454657A19"
      , "695660BF5BEA5F9C"
      , "461C14E2047605A9"
      , "8C63A43A1D728C9B"
      , "616D9A982FAE16D8"
      , "BD4E29BE33486B0C"
      , "FBC294D74F2DD9EC"
      , "026F8170A4981A8C"
      , "3424F2585C47794C"
      , "9828DE44A5279CD2"
      , "CC01C5F985A3C05A"
      , "DF1CE42624FC03E0"
      , "17B61DB306123003"
      , "83393A9CE1975BCA"
      , "6A60C110B1E92B9F"
      , "4B88C254B89366C0"
      , "B253834FB5D73F1C"
      , "0588942E714DD7D4"
      , "4BFFD44B2D21976E"
      , "C61C4E0EFF96A87B"
      , "1683582E91F6DF3F"
      , "0F180BFBA4683220"
      , "AB3DF4D4B3E8B8CF"
      , "E4A0FC12DEB36E0F"
      , "A4CC6EB69E7BDDD2"
      , "E06F2C1F60DA1884"
      , "5B5676D7D2603BB1"
      , "369115513EE552A0"
      , "6AE51119F8B06BE7"
      , "4D82255F2108D1FB"
      , "B9E296F75A5915C9"
      , "F74753BB703C1ED7"
      , "EF5FB74A5FAB28F5"
      , "26083D3C3A111461"
      , "8196419880F83C60"
      , "B5D0CB74F589AA17"
      , "001A431A312619E3"
      , "D9936FD9A6CCAD93"
      , "DCD5EB8F1D08D1B5"
      , "0FD6CDF8D83C6753"
      , "74BF917C18E7D404"
      , "DE580D66159E2F62"
      , "A472283DF22519F5"
      , "5C396E8283C37B01"
      , "03585FD5BB475949"
      , "28E88B7FD02EF369"
      , "9547323F58E1071A"
      , "16A4D982CB551363"
      , "4CA7E5FDF24C15A9"
      , "0AD19BBA723B3054"
      , "903617C4C17BFB60"
      , "43C36501D8AA7BBF"
      , "B81758EF51D2FDC5"
      , "4427EFB100166B9C"
      , "CC6FC88A9450BE6A"
      , "EC34AE8D1203A1C9"
      , "0B4F7F7A506EDF51"
      , "D0C08DC1F0250193"
      , "1D1A8BCA0076968D"
      , "6CA650F1B7761817"
      , "9BDFFB25FF05CE7C"
      , "4CFDC294F43B7019"
      , "683B31BDE1E64B2D"
      , "BD911ABB13782414"
      , "D58C9B6E9F6486C1"
      , "231E7DF8E12495C0"
      , "C74271E6F5D1A180"
      , "04FB70A4BDF912A4"
      , "532614A4896547A5"
      , "68E49BF18D09CB09"
      , "AB6D399C5CDA9DAA"
      , "E1192CB15030A463"
      , "83CF2943ED55DB80"
      , "9159DBD5060B7505"
      , "DE0B49023099B78B"
      , "4B9DA774E5191AAE"
      , "5CDE9688FD607925"
      , "2AD8A52568BFFF6D"
      , "B736F58179DB8044"
      , "74FD1AC63515F88B"
      , "DAA58B6A3015CD5B"
      , "D73DC0F164769CA1"
      , "FFD7C5E6800AD53D"
      , "4ABB0C79F532910E"
      , "119423133D4D7843"
      , "28A76FEAB113FCAF"
      , "5B7DE203E395F936"
      , "8908EECE51718A4D"
      , "97A8B634CFF35BB2"
      , "49BFB803DB2E364D"
      , "CA00883A6982019E"
      , "C52541F2F724FAB0"
      , "33304BF5F6ADF19E"
      , "2514EEAFEF9C3424"
      , "46E9BCD1BDA61311"
      , "949FCDB3AF462064"
      ]
    , 312
    )

expected : ( List String, Int )
expected =
    ( [ "8000000000000000"
      , "A53DA00C269CD27C"
      , "20D8FFBDC1559D6E"
      , "0E6DAA62627F3F13"
      , "3106A5AC71744373"
      , "37A25D39A4F6118B"
      , "F64D7C437928BE14"
      , "CFC9F75C7A026B3E"
      , "358B9F32E644E5AE"
      , "4A2F6DCF338B7E0E"
      , "6BAAEF494A3E1A86"
      , "534B19DC9B1EEF27"
      , "235B31CA9905C4C8"
      , "90395B8A11045362"
      , "7C77452C7DC0BB3F"
      , "C7EC8102CE8D1282"
      , "3706208AE61DC2D7"
      , "3861E436A32B1BD2"
      , "E619FDA978E9F19C"
      , "AEB72E77417543F2"
      , "DA94B3048A91B5AF"
      , "9CF64E61B45E1591"
      , "D8F6F0C94542C266"
      , "FCE4CCB726CD98BE"
      , "C621889EBE7C077A"
      , "602E2454322B4A60"
      , "D53C8087FB5B0568"
      , "71FC3510545560A0"
      , "1DE0358C9A453A48"
      , "C1D1AC322D979725"
      , "8E1E873ECA009490"
      , "C68D45D364610865"
      , "9937EC04371CBD0F"
      , "23294C0D93F005C9"
      , "7F7A1213D6284A00"
      , "C7191665F1F8F8E2"
      , "CF8430C8A2369E1B"
      , "D2AD4D9D51C2B735"
      , "1B424E160BE0CE6C"
      , "58E457EE65B39E1F"
      , "A338B6C13B6027EF"
      , "2BF67604F0996D69"
      , "15A0C67FD56B32BC"
      , "382CE61FF8E5A922"
      , "FA9BEB81E87503D8"
      , "658DC08693ECADB8"
      , "F4FB27A255C90FD2"
      , "5DD2ED1493CDECF8"
      , "F076723B972B8784"
      , "C78AA2FF81B05FDC"
      , "1D93EAEFD183E299"
      , "E82196A038E996B4"
      , "7FD1244B38F97CC6"
      , "597214D846E0F412"
      , "21FFA008D803FC52"
      , "56EBCA56E48DAD3B"
      , "5FF690CAD8BE53D8"
      , "51535DC323A46F48"
      , "0295CA7F4B0519E0"
      , "78A64A61DF3668C1"
      , "6BAB7032C0B43D39"
      , "D0AD8A73497ABBC6"
      , "7D304C0477F59437"
      , "E77FB59B502E710E"
      , "0066489EC6DD4F10"
      , "E0E8D36FA830D9D7"
      , "3B57F129ADD05BD2"
      , "ED153C1C1F2F67A1"
      , "DCA2697A94125DDE"
      , "66E1B77B67C73215"
      , "5E9D1441D1D4E19B"
      , "C691F38CB7397F2A"
      , "FB0CB7A0E5CBD72C"
      , "F204C520D1DA2E05"
      , "89AD701B79881271"
      , "F4334E7D15720CB4"
      , "7CBB5EDFE1E4BE57"
      , "52235B81D8D4F617"
      , "156CB0F1158E3A82"
      , "42EB111A39C0F111"
      , "60ECE2EBDF05E6CE"
      , "FA49898FF856DF7A"
      , "E53D2648433C6CAE"
      , "4B54279BE44E8107"
      , "81B4B6D9193B8E7E"
      , "71A8915668672306"
      , "7153AAAEBE90E52E"
      , "4C44AAE434EA0C4B"
      , "F723FC1A11849B7B"
      , "0352F312610C69D5"
      , "5E0519913D7DE86C"
      , "92F0DEFD9323BB72"
      , "91D6C1E43C53EB7C"
      , "6582E846A1ECA4AB"
      , "B8FF31E046D40582"
      , "65866BD95A3D7BC2"
      , "CCBCFB4B65C285B0"
      , "66810EB17D3A7168"
      , "99B133B37BD63BA5"
      , "B7E75B74DC5F251F"
      , "508F512DFBD4BDE2"
      , "419557FBD8E069C2"
      , "CC541362B1C10878"
      , "EEF4E9BBA68B2B8E"
      , "344365ABF8E8C625"
      , "320437A6F64C709A"
      , "F0F46CD6935FDB2E"
      , "EA321FB60DFD6DD6"
      , "3EA80D3C5EB937CD"
      , "812DD70F04576980"
      , "029DECBD1D0954C1"
      , "258D41E22FD23201"
      , "B6BEE22B6649135B"
      , "5701B08E27BB5349"
      , "67E0A8FD7C0F54F6"
      , "FC1238BD1B7CE198"
      , "0FFF9AAE500BE2D4"
      , "8F24F66069B9D7A6"
      , "361962780667D21C"
      , "ACF127D48FDC471D"
      , "C3673D445CEAB56D"
      , "719B10FF1454B0D8"
      , "D4616D2967EC7D0B"
      , "E32823F35BA91D6C"
      , "EAA7EA4793C89709"
      , "6C1C7285D3B8C0E6"
      , "2EC7FE556216A27D"
      , "49D9A741DD6BAA2B"
      , "7E47CAD69A406208"
      , "B011220901A2585D"
      , "D0C785A4BD1C7246"
      , "F7C433DA636591CA"
      , "D16DEFF433858C84"
      , "64BEA5B4E730A4E9"
      , "EC04A307FBA71D4B"
      , "A4A7C7E7CB0FF2DF"
      , "31D1D8B602CF07AA"
      , "EDC70AA6AA9B76C6"
      , "8FA5646A463C074F"
      , "50917FF2BEB25FBA"
      , "545A81A0DDBE7371"
      , "D26081CCC8697714"
      , "3FED6DF6330333F8"
      , "7749CA5285F615CA"
      , "96EA92F9B8971C2B"
      , "846BB3E2C6D06CC2"
      , "6DC7B71604BAA463"
      , "C5D058CAB536C9AF"
      , "A0CE22AFD28A8BA5"
      , "7B7C9491E95067EF"
      , "7EB3B3D337E48346"
      , "B8F7F2F042DF8F71"
      , "F6F9636C82045DC0"
      , "7751EEBE1EBCD175"
      , "1C02C6A306277574"
      , "B6D7513B559BAA53"
      , "0F31356765166FA3"
      , "7A390165D25CB94C"
      , "C33700CF9972F016"
      , "7CE6338291AE23DD"
      , "7E7662DFB68FD6DE"
      , "2E942C3403C54B2E"
      , "435A1A0F7C4F757C"
      , "90F125484B3033DB"
      , "0E9CD1C31A67033E"
      , "195C19C95F460F9E"
      , "D884B6F7EC15060B"
      , "A64D90A15BB9E215"
      , "B61813EDE23DAF4C"
      , "8493B8C93469C744"
      , "30E9F39F327FDECC"
      , "5FA79CA4633845CA"
      , "AAC940CF4850F912"
      , "60290A222E184FC5"
      , "919059638838C376"
      , "30F055AC86B550E4"
      , "C140214CD11B7A89"
      , "2B4CC178BCAAC355"
      , "A79009A6B7D6B06A"
      , "7BDDF2907C063A3A"
      , "74AAEAA7356133AF"
      , "8689EB4475FC72D3"
      , "8ECB66D739580172"
      , "FE83EDACA94A610E"
      , "0CC6FD8707D96EFC"
      , "271D71F2DF4FF694"
      , "D84D8B1DB7758EE8"
      , "DCA7160A5E16F0F0"
      , "E6DDB0E7BA0A1087"
      , "82F6179E13659D70"
      , "DC3BD7A36C00C73E"
      , "4AA11494CFFE494E"
      , "0C3CAD591DCDD7E9"
      , "450133AC51C8BCC4"
      , "BAF04CE224FB12A6"
      , "D0A4A14D4DBA5F5A"
      , "4F88D9D6B6DB5C78"
      , "73770CAB5C457906"
      , "9122F3CAC4A2237E"
      , "1722A2F7E4F17F0C"
      , "E53A90C05638D3CD"
      , "87BBFEEB5FD2E6BC"
      , "1A348D673D214355"
      , "89DB075F3CA1D96E"
      , "65E6314EE81D234A"
      , "6C4CDB042911519D"
      , "DF29A20F1EC6A44F"
      , "1B5FA3E6B391B8A1"
      , "21EF0F690E8346E2"
      , "E746561C1DE64DD5"
      , "33C192387144C463"
      , "D8DF5F6F6B50C9C2"
      , "47AE4F6C53931BB4"
      , "19B336F90F4A94C1"
      , "F83079046E7A12E0"
      , "FD54837D2152E453"
      , "6FBC32AA7CC37947"
      , "81322929057766E3"
      , "03A98F3E5BAEC86B"
      , "6F7B2F1E169FC21C"
      , "190774E413190EBC"
      , "D9C0FACE61629D8B"
      , "1ED9EFDDD35A646E"
      , "E614829DEB13B6F7"
      , "B6A9519DA769740C"
      , "0437ADB38A3E14E4"
      , "E115292D6EDFDB6A"
      , "6A5C14BAB905BB50"
      , "3A7342168307F7D7"
      , "88B97B56B87097B2"
      , "5F56B0A015B70839"
      , "F5639D274D69BD72"
      , "1E7042136E4414F4"
      , "FC5953C6B27C5BAE"
      , "F9315A755B13EB17"
      , "F83575C889FAB11C"
      , "D15D24B3FCE983AA"
      , "24F0DCF9D529709E"
      , "0B728EE9D9782CAB"
      , "A93EBA06BFBEB397"
      , "70A9B78FAAE5C793"
      , "FB0E554D786644C6"
      , "2BCCEB0DED61ADA9"
      , "B11E66896E2581B3"
      , "47AD5FDADCD5E5CC"
      , "6B16CC52330EE638"
      , "56A1571B48653874"
      , "AFC077C2B81CBF27"
      , "87905A123A4AB71E"
      , "FDA41C7F7E644031"
      , "1B7E15E46001C533"
      , "9654C4DFCB23A85E"
      , "50CF66B4088EC238"
      , "5B73FDC72C7DD36B"
      , "82AB26B388FF66DD"
      , "8FF0D25983B60212"
      , "7D062732C898072B"
      , "A7339ECB5925DCEB"
      , "3329317D3B36E693"
      , "50C6B652DABE0F5B"
      , "2247061DB43B2245"
      , "68FE97CF93B42D83"
      , "48206CF1B44A1D4D"
      , "519B55447ECD59F9"
      , "5D679CF9D587B888"
      , "1695F118C17FB7CF"
      , "2BE9B27FB51A7033"
      , "97269A4DE2BCB7E6"
      , "DFD143884FAD94C9"
      , "54821AF94F92E26B"
      , "C726DEF70209A941"
      , "FB6435E96351A3AA"
      , "81E38BAC49420A08"
      , "B6CC0881001A5680"
      , "9BF204470BCC3E9D"
      , "6C416D1E6A1D6173"
      , "80EB137487F97178"
      , "0DDCE00B5DFE26D3"
      , "213599457EBA9BC0"
      , "A75D3789477EBAA8"
      , "96ACC1269C42E8D3"
      , "D1DF6D443C5A1F55"
      , "B232B3EAA989B58A"
      , "1A4DDA6AD325A64D"
      , "384DBBF04058DE5E"
      , "5792F3A176BAD8C9"
      , "71654A6105D7F716"
      , "19DD8EA8E52110F0"
      , "C41476BA23ECE950"
      , "510D20EE7A4C6340"
      , "58F14F76D59BF81F"
      , "F39F8BE33D29D198"
      , "64A3D3CA46169DFF"
      , "2AEC1CD0F6B8BC05"
      , "A601492AA12B9D84"
      , "60FE1C7580511FB5"
      , "646E2891B427A623"
      , "5068FD1DFE7783C1"
      , "D862B1F0F70C320D"
      , "B81B3FB016353862"
      , "B3EC88E193EB94AE"
      , "D697AE9B85E9C288"
      , "4C2A3AE9B9F7DB26"
      , "FC522EA89FBD0703"
      , "2D85B00BD90F4D3D"
      , "44142DF3C172122C"
      , "313DF9BF8868EFBF"
      , "126A63BF0584B036"
      , "A907034D2EC396FB"
      , "C77FE4C81780BEED"
      , "B3740416C481F751"
      , "81A384FB290849CD"
      ]
    , 312
    )
Janiczek commented 4 years ago

@mgold Do you think this is related to the diffing algorithm, or inherent to the fact that elm-test doesn't hold the values in the failures?

In the second case, wouldn't it be worth adding the values there, even if that meant Test a, Expectation a, etc.? Would it also mean:

-Expect.equal : a -> a -> Expectation
+Expect.equal : comparable -> comparable -> Expectation comparable

?

drathier commented 3 years ago

Almost all the time running the test is spent in this function: https://github.com/jinjor/elm-diff/blob/master/src/Diff.elm#L322 . The elm-diff package itself seems to be really well written so there's not much performance gain available there. The underlying algorithm is just O(n^2) worst case so there's not much we can do about it.

We could add a cutoff point and just not diff the outputs if they're too large; that works, but gives worse error messages. A good cutoff point would be when Debug.toString actual or Debug.toString expected are longer than 300 characters.

drathier commented 3 years ago

This is fixed on master now