toml_parser version 74b4a91
FAIL valid/array/array
     Malformed output from your encoder: key "dates" is not a datetime: "2006-06-01TZ"

     input sent to parser-cmd (PID 4237):
       ints = [1, 2, 3, ]
       floats = [1.1, 2.1, 3.1]
       strings = ["a", "b", "c"]
       dates = [
       	1987-07-05T17:45:00Z,
       	1979-05-27T07:32:00,
       	2006-06-01,
       	11:00:00,
       ]
       comments = [
                1,
                2, #this is ok
       ]

     output from parser-cmd (PID 4237) (stdout):
       {
         "comments": [
           {"type": "integer", "value": "1"},
           {"type": "integer", "value": "2"}
         ],
         "dates": [
           {"type": "datetime", "value": "1987-07-05T17:45:00Z"},
           {"type": "datetime-local", "value": "1979-05-27T07:32:00"},
           {"type": "date-local", "value": "2006-06-01TZ"},
           {"type": "time-local", "value": "11:00:00"}
         ],
         "floats": [
           {"type": "float", "value": "1.1"},
           {"type": "float", "value": "2.1"},
           {"type": "float", "value": "3.1"}
         ],
         "ints": [
           {"type": "integer", "value": "1"},
           {"type": "integer", "value": "2"},
           {"type": "integer", "value": "3"}
         ],
         "strings": [
           {"type": "string", "value": "a"},
           {"type": "string", "value": "b"},
           {"type": "string", "value": "c"}
         ]
       }

     want:
       {
           "comments": [
               {"type": "integer", "value": "1"},
               {"type": "integer", "value": "2"}
           ],
           "dates": [
               {"type": "datetime", "value": "1987-07-05T17:45:00Z"},
               {"type": "datetime-local", "value": "1979-05-27T07:32:00"},
               {"type": "date-local", "value": "2006-06-01"},
               {"type": "time-local", "value": "11:00:00"}
           ],
           "floats": [
               {"type": "float", "value": "1.1"},
               {"type": "float", "value": "2.1"},
               {"type": "float", "value": "3.1"}
           ],
           "ints": [
               {"type": "integer", "value": "1"},
               {"type": "integer", "value": "2"},
               {"type": "integer", "value": "3"}
           ],
           "strings": [
               {"type": "string", "value": "a"},
               {"type": "string", "value": "b"},
               {"type": "string", "value": "c"}
           ]
       }

FAIL valid/comment/everywhere
     Malformed output from your encoder: key "group.d" is not a datetime: "1979-05-27TZ"

     input sent to parser-cmd (PID 4277):
       # Top comment.
         # Top comment.
       # Top comment.

       # [no-extraneous-groups-please]

       [group] # Comment
       answer = 42 # Comment
       # no-extraneous-keys-please = 999
       # Inbetween comment.
       more = [ # Comment
         # What about multiple # comments?
         # Can you handle it?
         #
                 # Evil.
       # Evil.
         42, 42, # Comments within arrays are fun.
         # What about multiple # comments?
         # Can you handle it?
         #
                 # Evil.
       # Evil.
       # ] Did I fool you?
       ] # Hopefully not.

       # Make sure the space between the datetime and "#" isn't lexed.
       dt = 1979-05-27T07:32:12-07:00  # c
       d = 1979-05-27 # Comment

       [[aot]] # Comment
       k = 98 # Comment
       [[aot]]# Comment
       k = 99# Comment

     output from parser-cmd (PID 4277) (stdout):
       {
         "aot": [
           {
             "k": {"type": "integer", "value": "98"}
           },
           {
             "k": {"type": "integer", "value": "99"}
           }
         ],
         "group": {
           "answer": {"type": "integer", "value": "42"},
           "d":      {"type": "date-local", "value": "1979-05-27TZ"},
           "dt":     {"type": "datetime", "value": "1979-05-27T07:32:12-07:00"},
           "more": [
             {"type": "integer", "value": "42"},
             {"type": "integer", "value": "42"}
           ]
         }
       }

     want:
       {
           "aot": [
               {
                   "k": {"type": "integer", "value": "98"}
               },
               {
                   "k": {"type": "integer", "value": "99"}
               }
           ],
           "group": {
               "answer": {"type": "integer", "value": "42"},
               "d":      {"type": "date-local", "value": "1979-05-27"},
               "dt":     {"type": "datetime", "value": "1979-05-27T07:32:12-07:00"},
               "more": [
                   {"type": "integer", "value": "42"},
                   {"type": "integer", "value": "42"}
               ]
           }
       }

FAIL valid/datetime/edge
     Malformed output from your encoder: key "first-date" is not a datetime: "0001-01-01TZ"

     input sent to parser-cmd (PID 4279):
       first-offset = 0001-01-01 00:00:00Z
       first-local  = 0001-01-01 00:00:00
       first-date   = 0001-01-01

       last-offset = 9999-12-31 23:59:59Z
       last-local  = 9999-12-31 23:59:59
       last-date   = 9999-12-31

     output from parser-cmd (PID 4279) (stdout):
       {
         "first-date":   {"type": "date-local", "value": "0001-01-01TZ"},
         "first-local":  {"type": "datetime-local", "value": "0001-01-01T"},
         "first-offset": {"type": "datetime", "value": "0001-01-01TZ"},
         "last-date":    {"type": "date-local", "value": "9999-12-31TZ"},
         "last-local":   {"type": "datetime-local", "value": "9999-12-31T23:59:59"},
         "last-offset":  {"type": "datetime", "value": "9999-12-31T23:59:59Z"}
       }

     want:
       {
           "first-date":   {"type": "date-local", "value": "0001-01-01"},
           "first-local":  {"type": "datetime-local", "value": "0001-01-01T00:00:00"},
           "first-offset": {"type": "datetime", "value": "0001-01-01T00:00:00Z"},
           "last-date":    {"type": "date-local", "value": "9999-12-31"},
           "last-local":   {"type": "datetime-local", "value": "9999-12-31T23:59:59"},
           "last-offset":  {"type": "datetime", "value": "9999-12-31T23:59:59Z"}
       }

FAIL valid/datetime/leap-year
     Malformed output from your encoder: key "2000-date" is not a datetime: "2000-02-29TZ"

     input sent to parser-cmd (PID 4281):
       2000-datetime       = 2000-02-29 15:15:15Z
       2000-datetime-local = 2000-02-29 15:15:15
       2000-date           = 2000-02-29

       2024-datetime       = 2024-02-29 15:15:15Z
       2024-datetime-local = 2024-02-29 15:15:15
       2024-date           = 2024-02-29

     output from parser-cmd (PID 4281) (stdout):
       {
         "2000-date":           {"type": "date-local", "value": "2000-02-29TZ"},
         "2000-datetime":       {"type": "datetime", "value": "2000-02-29T15:15:15Z"},
         "2000-datetime-local": {"type": "datetime-local", "value": "2000-02-29T15:15:15"},
         "2024-date":           {"type": "date-local", "value": "2024-02-29TZ"},
         "2024-datetime":       {"type": "datetime", "value": "2024-02-29T15:15:15Z"},
         "2024-datetime-local": {"type": "datetime-local", "value": "2024-02-29T15:15:15"}
       }

     want:
       {
           "2000-date":           {"type": "date-local", "value": "2000-02-29"},
           "2000-datetime":       {"type": "datetime", "value": "2000-02-29T15:15:15Z"},
           "2000-datetime-local": {"type": "datetime-local", "value": "2000-02-29T15:15:15"},
           "2024-date":           {"type": "date-local", "value": "2024-02-29"},
           "2024-datetime":       {"type": "datetime", "value": "2024-02-29T15:15:15Z"},
           "2024-datetime-local": {"type": "datetime-local", "value": "2024-02-29T15:15:15"}
       }

FAIL valid/datetime/local
     Values for key "milli" don't match:
       Expected:     1977-12-21 10:32:00.555 +0000 UTC
       Your encoder: 1977-12-21 10:32:01 +0000 UTC

     input sent to parser-cmd (PID 4284):
       local = 1987-07-05T17:45:00
       milli = 1977-12-21T10:32:00.555
       space = 1987-07-05 17:45:00

     output from parser-cmd (PID 4284) (stdout):
       {
         "local": {"type": "datetime-local", "value": "1987-07-05T17:45:00"},
         "milli": {"type": "datetime-local", "value": "1977-12-21T10:32:01"},
         "space": {"type": "datetime-local", "value": "1987-07-05T17:45:00"}
       }

     want:
       {
           "local": {"type": "datetime-local", "value": "1987-07-05T17:45:00"},
           "milli": {"type": "datetime-local", "value": "1977-12-21T10:32:00.555"},
           "space": {"type": "datetime-local", "value": "1987-07-05T17:45:00"}
       }

FAIL valid/datetime/local-date
     Malformed output from your encoder: key "bestdayever" is not a datetime: "1987-07-05TZ"

     input sent to parser-cmd (PID 4282):
       bestdayever = 1987-07-05

     output from parser-cmd (PID 4282) (stdout):
       {
         "bestdayever": {"type": "date-local", "value": "1987-07-05TZ"}
       }

     want:
       {
           "bestdayever": {"type": "date-local", "value": "1987-07-05"}
       }

FAIL valid/datetime/local-time
     Values for key "milliseconds" don't match:
       Expected:     0000-01-01 10:32:00.555 +0000 UTC
       Your encoder: 0000-01-01 10:32:01 +0000 UTC

     input sent to parser-cmd (PID 4283):
       besttimeever = 17:45:00
       milliseconds = 10:32:00.555

     output from parser-cmd (PID 4283) (stdout):
       {
         "besttimeever": {"type": "time-local", "value": "17:45:00"},
         "milliseconds": {"type": "time-local", "value": "10:32:01"}
       }

     want:
       {
           "besttimeever": {"type": "time-local", "value": "17:45:00"},
           "milliseconds": {"type": "time-local", "value": "10:32:00.555"}
       }

FAIL valid/datetime/milliseconds
     Values for key "utc1" don't match:
       Expected:     1987-07-05 17:45:56.123 +0000 UTC
       Your encoder: 1987-07-05 17:45:56 +0000 UTC

     input sent to parser-cmd (PID 4285):
       utc1  = 1987-07-05T17:45:56.123Z
       utc2  = 1987-07-05T17:45:56.6Z
       wita1 = 1987-07-05T17:45:56.123+08:00
       wita2 = 1987-07-05T17:45:56.6+08:00

     output from parser-cmd (PID 4285) (stdout):
       {
         "utc1":  {"type": "datetime", "value": "1987-07-05T17:45:56Z"},
         "utc2":  {"type": "datetime", "value": "1987-07-05T17:45:57Z"},
         "wita1": {"type": "datetime", "value": "1987-07-05T17:45:56+08:00"},
         "wita2": {"type": "datetime", "value": "1987-07-05T17:45:57+08:00"}
       }

     want:
       {
           "utc1":  {"type": "datetime", "value": "1987-07-05T17:45:56.123Z"},
           "utc2":  {"type": "datetime", "value": "1987-07-05T17:45:56.600Z"},
           "wita1": {"type": "datetime", "value": "1987-07-05T17:45:56.123+08:00"},
           "wita2": {"type": "datetime", "value": "1987-07-05T17:45:56.600+08:00"}
       }

FAIL valid/key/quoted-unicode
     decode JSON output from parser:
       invalid character 'x' in string escape code

     input sent to parser-cmd (PID 4353):

       "\u0000" = "null"
       '\u0000' = "different key"
       "\u0008 \u000c \U00000041 \u007f \u0080 \u00ff \ud7ff \ue000 \uffff \U00010000 \U0010ffff" = "escaped key"

       "~ € ÿ ퟿  ￿ 𐀀 􏿿" = "basic key"
       'l ~ € ÿ ퟿  ￿ 𐀀 􏿿' = "literal key"

     output from parser-cmd (PID 4353) (stdout):
       {"\\u0000":{"type":"string","value":"different key"},"\b \f A \u007f \u0080 ÿ \ud7ff \ue000 \uffff \x00 \uffff":{"type":"string","value":"escaped key"},"~ \u0080 ÿ \ud7ff \ue000 \uffff \U00010000 \U0010ffff":{"type":"string","value":"basic key"},"\x00":{"type":"string","value":"null"},"l ~ \u0080 ÿ \ud7ff \ue000 \uffff \U00010000 \U0010ffff":{"type":"string","value":"literal key"}}

     want:
       {
           "\u0000":               {"type": "string", "value": "null"},
           "\b \f A  € ÿ ퟿  ￿ 𐀀 􏿿": {"type": "string", "value": "escaped key"},
           "\\u0000":              {"type": "string", "value": "different key"},
           "l ~ € ÿ ퟿  ￿ 𐀀 􏿿":      {"type": "string", "value": "literal key"},
           "~ € ÿ ퟿  ￿ 𐀀 􏿿":        {"type": "string", "value": "basic key"}
       }

FAIL valid/multibyte
     decode JSON output from parser:
       invalid character 'U' in string escape code

     input sent to parser-cmd (PID 4359):
       # Test multibyte throughout

       # Tèƨƭ ƒïℓè ƒôř TÓM£
       # Óñℓ¥ ƭλïƨ ôñè ƭřïèƨ ƭô è₥úℓáƭè á TÓM£ ƒïℓè ωřïƭƭèñ β¥ á úƨèř ôƒ ƭλè ƙïñδ ôƒ ƥářƨèř ωřïƭèřƨ ƥřôβáβℓ¥ λáƭè

       ['𝐭𝐛𝐥']
       string = "𝓼𝓽𝓻𝓲𝓷𝓰 - #"          # " 𝓼𝓽𝓻𝓲𝓷𝓰
       	['𝐭𝐛𝐥'.sub]
       	'𝕒𝕣𝕣𝕒𝕪' = [ "] ", " # "]      # ] 𝓪𝓻𝓻𝓪𝔂
       	'𝕒𝕣𝕣𝕒𝕪𝟚' = [ "Tèƨƭ #11 ]ƥřôƲèδ ƭλáƭ", "Éжƥèřï₥èñƭ #9 ωáƨ á ƨúççèƨƨ" ]
       	# Ýôú δïδñ'ƭ ƭλïñƙ ïƭ'δ áƨ èáƨ¥ áƨ çλúçƙïñϱ ôúƭ ƭλè ℓáƨƭ #, δïδ ¥ôú?
       	another_test_string = "§á₥è ƭλïñϱ, βúƭ ωïƭλ á ƨƭřïñϱ #"
       	escapes = " Âñδ ωλèñ \"'ƨ ářè ïñ ƭλè ƨƭřïñϱ, áℓôñϱ ωïƭλ # \""   # "áñδ çô₥₥èñƭƨ ářè ƭλèřè ƭôô"
       	# Tλïñϱƨ ωïℓℓ ϱèƭ λářδèř
       		['𝐭𝐛𝐥'.sub."βïƭ#"]
       		"ωλáƭ?" = "Ýôú δôñ'ƭ ƭλïñƙ ƨô₥è úƨèř ωôñ'ƭ δô ƭλáƭ?"
       		multi_line_array = [
       			"]",
       			# ] Óλ ¥èƨ Ì δïδ
       			]

     output from parser-cmd (PID 4359) (stdout):
       {"\U0001d42d\U0001d41b\U0001d425":{"string":{"type":"string","value":"\ud835\udcfc\ud835\udcfd\ud835\udcfb\ud835\udcf2\ud835\udcf7\ud835\udcf0 - #"},"sub":{"another_test_string":{"type":"string","value":"§á\u20a5è \u01ad\u03bbïñ\u03f1, \u03b2ú\u01ad \u03c9ï\u01ad\u03bb á \u01a8\u01ad\u0159ïñ\u03f1 #"},"escapes":{"type":"string","value":" Âñ\u03b4 \u03c9\u03bbèñ \"'\u01a8 á\u0159è ïñ \u01ad\u03bbè \u01a8\u01ad\u0159ïñ\u03f1, á\u2113ôñ\u03f1 \u03c9ï\u01ad\u03bb # \""},"\U0001d552\U0001d563\U0001d563\U0001d552\U0001d56a\U0001d7da":[{"type":"string","value":"Tè\u01a8\u01ad #11 ]\u01a5\u0159ô\u01b2è\u03b4 \u01ad\u03bbá\u01ad"},{"type":"string","value":"É\u0436\u01a5è\u0159ï\u20a5èñ\u01ad #9 \u03c9á\u01a8 á \u01a8úççè\u01a8\u01a8"}],"\U0001d552\U0001d563\U0001d563\U0001d552\U0001d56a":[{"type":"string","value":"] "},{"type":"string","value":" # "}],"\u03b2ï\u01ad#":{"\u03c9\u03bbá\u01ad?":{"type":"string","value":"Ýôú \u03b4ôñ'\u01ad \u01ad\u03bbïñ\u0199 \u01a8ô\u20a5è ú\u01a8è\u0159 \u03c9ôñ'\u01ad \u03b4ô \u01ad\u03bbá\u01ad?"},"multi_line_array":[{"type":"string","value":"]"}]}}}}

     want:
       {
           "𝐭𝐛𝐥": {
               "string": {"type": "string", "value": "𝓼𝓽𝓻𝓲𝓷𝓰 - #"},
               "sub": {
                   "another_test_string": {"type": "string", "value": "§á₥è ƭλïñϱ, βúƭ ωïƭλ á ƨƭřïñϱ #"},
                   "escapes":             {"type": "string", "value": " Âñδ ωλèñ \"'ƨ ářè ïñ ƭλè ƨƭřïñϱ, áℓôñϱ ωïƭλ # \""},
                   "βïƭ#": {
                       "multi_line_array": [{"type": "string", "value": "]"}],
                       "ωλáƭ?":            {"type": "string", "value": "Ýôú δôñ'ƭ ƭλïñƙ ƨô₥è úƨèř ωôñ'ƭ δô ƭλáƭ?"}
                   },
                   "𝕒𝕣𝕣𝕒𝕪": [
                       {"type": "string", "value": "] "},
                       {"type": "string", "value": " # "}
                   ],
                   "𝕒𝕣𝕣𝕒𝕪𝟚": [
                       {"type": "string", "value": "Tèƨƭ #11 ]ƥřôƲèδ ƭλáƭ"},
                       {"type": "string", "value": "Éжƥèřï₥èñƭ #9 ωáƨ á ƨúççèƨƨ"}
                   ]
               }
           }
       }

FAIL valid/spec-1.0.0/float-0
     Values for key "flt4" don't match:
       Expected:     5e+22
       Your encoder: 4.999999999999999e+22

     input sent to parser-cmd (PID 4371):
       # fractional
       flt1 = +1.0
       flt2 = 3.1415
       flt3 = -0.01

       # exponent
       flt4 = 5e+22
       flt5 = 1e06
       flt6 = -2E-2

       # both
       flt7 = 6.626e-34

     output from parser-cmd (PID 4371) (stdout):
       {
         "flt1": {"type": "float", "value": "1"},
         "flt2": {"type": "float", "value": "3.1415"},
         "flt3": {"type": "float", "value": "-0.01"},
         "flt4": {"type": "float", "value": "4.999999999999999e+22"},
         "flt5": {"type": "float", "value": "1e+06"},
         "flt6": {"type": "float", "value": "-0.02"},
         "flt7": {"type": "float", "value": "6.618193064541891e-34"}
       }

     want:
       {
           "flt1": {"type": "float", "value": "1"},
           "flt2": {"type": "float", "value": "3.1415"},
           "flt3": {"type": "float", "value": "-0.01"},
           "flt4": {"type": "float", "value": "5e+22"},
           "flt5": {"type": "float", "value": "1e+06"},
           "flt6": {"type": "float", "value": "-0.02"},
           "flt7": {"type": "float", "value": "6.626e-34"}
       }

FAIL valid/spec-1.0.0/local-date-0
     Malformed output from your encoder: key "ld1" is not a datetime: "1979-05-27TZ"

     input sent to parser-cmd (PID 4389):
       ld1 = 1979-05-27

     output from parser-cmd (PID 4389) (stdout):
       {
         "ld1": {"type": "date-local", "value": "1979-05-27TZ"}
       }

     want:
       {
           "ld1": {"type": "date-local", "value": "1979-05-27"}
       }

FAIL valid/spec-1.0.0/local-date-time-0
     Values for key "ldt2" don't match:
       Expected:     1979-05-27 00:32:00.999 +0000 UTC
       Your encoder: 1979-05-27 00:32:01 +0000 UTC

     input sent to parser-cmd (PID 4390):
       ldt1 = 1979-05-27T07:32:00
       ldt2 = 1979-05-27T00:32:00.999

     output from parser-cmd (PID 4390) (stdout):
       {
         "ldt1": {"type": "datetime-local", "value": "1979-05-27T07:32:00"},
         "ldt2": {"type": "datetime-local", "value": "1979-05-27T00:32:01"}
       }

     want:
       {
           "ldt1": {"type": "datetime-local", "value": "1979-05-27T07:32:00"},
           "ldt2": {"type": "datetime-local", "value": "1979-05-27T00:32:00.999"}
       }

FAIL valid/spec-1.0.0/local-time-0
     Values for key "lt2" don't match:
       Expected:     0000-01-01 00:32:00.999 +0000 UTC
       Your encoder: 0000-01-01 00:32:01 +0000 UTC

     input sent to parser-cmd (PID 4392):
       lt1 = 07:32:00
       lt2 = 00:32:00.999

     output from parser-cmd (PID 4392) (stdout):
       {
         "lt1": {"type": "time-local", "value": "07:32:00"},
         "lt2": {"type": "time-local", "value": "00:32:01"}
       }

     want:
       {
           "lt1": {"type": "time-local", "value": "07:32:00"},
           "lt2": {"type": "time-local", "value": "00:32:00.999"}
       }

FAIL valid/spec-1.0.0/offset-date-time-0
     Values for key "odt3" don't match:
       Expected:     1979-05-27 00:32:00.999 -0700 -0700
       Your encoder: 1979-05-27 00:32:01 -0700 -0700

     input sent to parser-cmd (PID 4391):
       odt1 = 1979-05-27T07:32:00Z
       odt2 = 1979-05-27T00:32:00-07:00
       odt3 = 1979-05-27T00:32:00.999-07:00

     output from parser-cmd (PID 4391) (stdout):
       {
         "odt1": {"type": "datetime", "value": "1979-05-27T07:32:00Z"},
         "odt2": {"type": "datetime", "value": "1979-05-27T00:32:00-07:00"},
         "odt3": {"type": "datetime", "value": "1979-05-27T00:32:01-07:00"}
       }

     want:
       {
           "odt1": {"type": "datetime", "value": "1979-05-27T07:32:00Z"},
           "odt2": {"type": "datetime", "value": "1979-05-27T00:32:00-07:00"},
           "odt3": {"type": "datetime", "value": "1979-05-27T00:32:00.999-07:00"}
       }

FAIL valid/spec-1.0.0/table-7
     Malformed output from your encoder: key "owner.member_since" is not a datetime: "1999-08-04TZ"

     input sent to parser-cmd (PID 4415):
       # Top-level table begins.
       name = "Fido"
       breed = "pug"

       # Top-level table ends.
       [owner]
       name = "Regina Dogman"
       member_since = 1999-08-04

     output from parser-cmd (PID 4415) (stdout):
       {
         "breed": {"type": "string", "value": "pug"},
         "name":  {"type": "string", "value": "Fido"},
         "owner": {
           "member_since": {"type": "date-local", "value": "1999-08-04TZ"},
           "name":         {"type": "string", "value": "Regina Dogman"}
         }
       }

     want:
       {
           "breed": {"type": "string", "value": "pug"},
           "name":  {"type": "string", "value": "Fido"},
           "owner": {
               "member_since": {"type": "date-local", "value": "1999-08-04"},
               "name":         {"type": "string", "value": "Regina Dogman"}
           }
       }

FAIL valid/string/escapes
     decode JSON output from parser:
       invalid character 'x' in string escape code

     input sent to parser-cmd (PID 4421):
       backspace     = "|\b."
       tab           = "|\t."
       newline       = "|\n."
       formfeed      = "|\f."
       carriage      = "|\r."
       quote         = "|\"."
       backslash     = "|\\."
       delete        = "|\u007F."
       unitseparator = "|\u001F."

       # \u is escaped, so should NOT be interperted as a \u escape.
       notunicode1   = "|\\u."
       notunicode2   = "|\u005Cu."
       notunicode3   = "|\\u0075."
       notunicode4   = "|\\\u0075."

     output from parser-cmd (PID 4421) (stdout):
       {"backslash":{"type":"string","value":"|\\."},"notunicode2":{"type":"string","value":"|\\u."},"formfeed":{"type":"string","value":"|\f."},"quote":{"type":"string","value":"|\"."},"notunicode3":{"type":"string","value":"|\\u0075."},"unitseparator":{"type":"string","value":"|\x1f."},"notunicode4":{"type":"string","value":"|\\u."},"tab":{"type":"string","value":"|\t."},"notunicode1":{"type":"string","value":"|\\u."},"delete":{"type":"string","value":"|\u007f."},"carriage":{"type":"string","value":"|\r."},"newline":{"type":"string","value":"|\n."},"backspace":{"type":"string","value":"|\b."}}

     want:
       {
           "backslash":     {"type": "string", "value": "|\\."},
           "backspace":     {"type": "string", "value": "|\b."},
           "carriage":      {"type": "string", "value": "|\r."},
           "delete":        {"type": "string", "value": "|."},
           "formfeed":      {"type": "string", "value": "|\f."},
           "newline":       {"type": "string", "value": "|\n."},
           "notunicode1":   {"type": "string", "value": "|\\u."},
           "notunicode2":   {"type": "string", "value": "|\\u."},
           "notunicode3":   {"type": "string", "value": "|\\u0075."},
           "notunicode4":   {"type": "string", "value": "|\\u."},
           "quote":         {"type": "string", "value": "|\"."},
           "tab":           {"type": "string", "value": "|\t."},
           "unitseparator": {"type": "string", "value": "|\u001f."}
       }

FAIL valid/string/multibyte-escape
     Values for key "basic-1" don't match:
       Expected:     ɑ € 𐫱 ɑ€𐫱
       Your encoder: ɑ € ૱ ɑ€૱

     input sent to parser-cmd (PID 4423):
       # Test each multibyte length: 2, 3, and 4 bytes:
       # ɑ € 𐫱

       basic-1    = "\u0251 \u20ac \U00010AF1 \u0251\u20ac\U00010AF1"
       ml-basic-1 = """\u0251 \u20ac \U00010AF1 \u0251\u20ac\U00010AF1"""

       # Again, but only using \U
       basic-2    = "\U00000251 \U000020ac \U00010AF1 \U00000251\U000020ac\U00010AF1"
       ml-basic-2 = """\U00000251 \U000020ac \U00010AF1 \U00000251\U000020ac\U00010AF1"""

     output from parser-cmd (PID 4423) (stdout):
       {
         "basic-1":    {"type": "string", "value": "ɑ € ૱ ɑ€૱"},
         "basic-2":    {"type": "string", "value": "ɑ € ૱ ɑ€૱"},
         "ml-basic-1": {"type": "string", "value": "ɑ € ૱ ɑ€૱"},
         "ml-basic-2": {"type": "string", "value": "ɑ € ૱ ɑ€૱"}
       }

     want:
       {
           "basic-1":    {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"},
           "ml-basic-1": {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"},
           "basic-2":    {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"},
           "ml-basic-2": {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"}
       }

FAIL valid/string/quoted-unicode
     decode JSON output from parser:
       invalid character 'x' in string escape code

     input sent to parser-cmd (PID 4426):

       escaped_string = "\u0000 \u0008 \u000c \U00000041 \u007f \u0080 \u00ff \ud7ff \ue000 \uffff \U00010000 \U0010ffff"
       not_escaped_string = '\u0000 \u0008 \u000c \U00000041 \u007f \u0080 \u00ff \ud7ff \ue000 \uffff \U00010000 \U0010ffff'

       basic_string = "~ € ÿ ퟿  ￿ 𐀀 􏿿"
       literal_string = '~ € ÿ ퟿  ￿ 𐀀 􏿿'

     output from parser-cmd (PID 4426) (stdout):
       {"basic_string":{"type":"string","value":"~ \u0080 ÿ \ud7ff \ue000 \uffff \ud800\udc00 \udbff\udfff"},"escaped_string":{"type":"string","value":"\x00 \b \f A \u007f \u0080 ÿ \ud7ff \ue000 \uffff \x00 \uffff"},"not_escaped_string":{"type":"string","value":"\\u0000 \\u0008 \\u000c \\U00000041 \\u007f \\u0080 \\u00ff \\ud7ff \\ue000 \\uffff \\U00010000 \\U0010ffff"},"literal_string":{"type":"string","value":"~ \u0080 ÿ \ud7ff \ue000 \uffff \ud800\udc00 \udbff\udfff"}}

     want:
       {
           "basic_string":   {"type": "string", "value": "~ € ÿ ퟿  ￿ 𐀀 􏿿"},
           "escaped_string": {"type": "string", "value": "\u0000 \b \f A  € ÿ ퟿  ￿ 𐀀 􏿿"},
           "literal_string": {"type": "string", "value": "~ € ÿ ퟿  ￿ 𐀀 􏿿"},
           "not_escaped_string": {
               "type":  "string",
               "value": "\\u0000 \\u0008 \\u000c \\U00000041 \\u007f \\u0080 \\u00ff \\ud7ff \\ue000 \\uffff \\U00010000 \\U0010ffff"
           }
       }

FAIL valid/string/unicode-escape
     decode JSON output from parser:
       invalid character 'x' in string escape code

     input sent to parser-cmd (PID 4434):
       delta-1 = "\u03B4"
       delta-2 = "\U000003B4"
       a       = "\u0061"
       b       = "\u0062"
       c       = "\U00000063"
       null-1  = "\u0000"
       null-2  = "\U00000000"

       ml-delta-1 = """\u03B4"""
       ml-delta-2 = """\U000003B4"""
       ml-a       = """\u0061"""
       ml-b       = """\u0062"""
       ml-c       = """\U00000063"""
       ml-null-1  = """\u0000"""
       ml-null-2  = """\U00000000"""

     output from parser-cmd (PID 4434) (stdout):
       {"ml-c":{"type":"string","value":"c"},"delta-2":{"type":"string","value":"\u03b4"},"ml-a":{"type":"string","value":"a"},"null-1":{"type":"string","value":"\x00"},"c":{"type":"string","value":"c"},"ml-delta-1":{"type":"string","value":"\u03b4"},"null-2":{"type":"string","value":"\x00"},"ml-b":{"type":"string","value":"b"},"a":{"type":"string","value":"a"},"ml-null-1":{"type":"string","value":"\x00"},"delta-1":{"type":"string","value":"\u03b4"},"ml-null-2":{"type":"string","value":"\x00"},"b":{"type":"string","value":"b"},"ml-delta-2":{"type":"string","value":"\u03b4"}}

     want:
       {
           "a":          {"type": "string", "value": "a"},
           "b":          {"type": "string", "value": "b"},
           "c":          {"type": "string", "value": "c"},
           "delta-1":    {"type": "string", "value": "δ"},
           "delta-2":    {"type": "string", "value": "δ"},
           "ml-a":       {"type": "string", "value": "a"},
           "ml-b":       {"type": "string", "value": "b"},
           "ml-c":       {"type": "string", "value": "c"},
           "ml-delta-1": {"type": "string", "value": "δ"},
           "ml-delta-2": {"type": "string", "value": "δ"},
           "ml-null-1":  {"type": "string", "value": "\u0000"},
           "ml-null-2":  {"type": "string", "value": "\u0000"},
           "null-1":     {"type": "string", "value": "\u0000"},
           "null-2":     {"type": "string", "value": "\u0000"}
       }

FAIL invalid/array/extend-defined-aot
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4463):
       [[tab.arr]]
       [tab]
       arr.val1=1

     output from parser-cmd (PID 4463) (stdout):
       {
         "tab": {"arr": [{
           "val1": {"type": "integer", "value": "1"}
         }]}
       }

     want:
       Exit code 1

FAIL invalid/array/extending-table
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4468):
       a = [{ b = 1 }]

       # Cannot extend tables within static arrays
       # https://github.com/toml-lang/toml/issues/908
       [a.c]
       foo = 1

     output from parser-cmd (PID 4468) (stdout):
       {
         "a": [{
           "b": {"type": "integer", "value": "1"},
           "c": {
             "foo": {"type": "integer", "value": "1"}
           }
         }]
       }

     want:
       Exit code 1

FAIL invalid/array/tables-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4531):
       # INVALID TOML DOC
       fruit = []

       [[fruit]] # Not allowed

     output from parser-cmd (PID 4531) (stdout):
       {
         "fruit": [{}]
       }

     want:
       Exit code 1

FAIL invalid/array/tables-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4502):
       # INVALID TOML DOC
       [[fruit]]
         name = "apple"

         [[fruit.variety]]
           name = "red delicious"

         # This table conflicts with the previous table
         [fruit.variety]
           name = "granny smith"

     output from parser-cmd (PID 4502) (stdout):
       {
         "fruit": [{
           "name": {"type": "string", "value": "apple"},
           "variety": [
             {
               "name": {"type": "string", "value": "red delicious"}
             },
             {
               "name": {"type": "string", "value": "granny smith"}
             }
           ]
         }]
       }

     want:
       Exit code 1

FAIL invalid/control/bare-cr
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4535):
       # The following line contains a single carriage return control character
       

     output from parser-cmd (PID 4535) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/control/comment-del
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4539):
       comment-del  = "0x7f"   # 

     output from parser-cmd (PID 4539) (stdout):
       {
         "comment-del": {"type": "string", "value": "0x7f"}
       }

     want:
       Exit code 1

FAIL invalid/control/multi-del
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4548):
       multi-del  = """null"""

     output from parser-cmd (PID 4548) (stdout):
       {
         "multi-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawmulti-del
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4568):
       rawmulti-del  = '''null'''

     output from parser-cmd (PID 4568) (stdout):
       {
         "rawmulti-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawstring-del
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4569):
       rawstring-del  = 'null'

     output from parser-cmd (PID 4569) (stdout):
       {
         "rawstring-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/string-del
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4565):
       string-del  = "null"

     output from parser-cmd (PID 4565) (stdout):
       {
         "string-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/offset-minus-minute-1digit
     signal: illegal instruction

     input sent to parser-cmd (PID 4595):
       foo = 1997-09-09T09:09:09.09+09:9

     output from parser-cmd (PID 4595) (stderr):
       /home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(279:19) Index 4 is out of range 0..<4

     want:
       Exit code 1

FAIL invalid/datetime/offset-minus-no-hour-minute
     signal: illegal instruction

     input sent to parser-cmd (PID 4585):
       foo = 1997-09-09T09:09:09.09+

     output from parser-cmd (PID 4585) (stderr):
       /home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(275:19) Index 0 is out of range 0..<0

     want:
       Exit code 1

FAIL invalid/datetime/offset-minus-no-minute
     signal: illegal instruction

     input sent to parser-cmd (PID 4587):
       foo = 1997-09-09T09:09:09.09+09

     output from parser-cmd (PID 4587) (stderr):
       /home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(277:19) Index 2 is out of range 0..<2

     want:
       Exit code 1

FAIL invalid/datetime/offset-plus-minute-1digit
     signal: illegal instruction

     input sent to parser-cmd (PID 4592):
       foo = 1997-09-09T09:09:09.09+09:9

     output from parser-cmd (PID 4592) (stderr):
       /home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(279:19) Index 4 is out of range 0..<4

     want:
       Exit code 1

FAIL invalid/datetime/offset-plus-no-hour-minute
     signal: illegal instruction

     input sent to parser-cmd (PID 4594):
       foo = 1997-09-09T09:09:09.09+

     output from parser-cmd (PID 4594) (stderr):
       /home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(275:19) Index 0 is out of range 0..<0

     want:
       Exit code 1

FAIL invalid/datetime/offset-plus-no-minute
     signal: illegal instruction

     input sent to parser-cmd (PID 4596):
       foo = 1997-09-09T09:09:09.09+09

     output from parser-cmd (PID 4596) (stderr):
       /home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(277:19) Index 2 is out of range 0..<2

     want:
       Exit code 1

FAIL invalid/datetime/second-trailing-dotz
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4601):
       foo = 2016-09-09T09:09:09.Z

     output from parser-cmd (PID 4601) (stdout):
       {
         "foo": {"type": "datetime", "value": "2016-09-09T09:09:09Z"}
       }

     want:
       Exit code 1

FAIL invalid/encoding/bad-codepoint
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4604):
       # Invalid codepoint U+D800 : 

     output from parser-cmd (PID 4604) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/encoding/bad-utf8-at-end
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4606):
       # There is a 0xda at after the quotes, and no EOL at the end of the file.
       #
       # This is a bit of an edge case: This indicates there should be two bytes
       # (0b1101_1010) but there is no byte to follow because it's the end of the file.
       x = """"""

     output from parser-cmd (PID 4606) (stdout):
       {
         "x": {"type": "string", "value": ""}
       }

     want:
       Exit code 1

FAIL invalid/encoding/bad-utf8-in-comment
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4613):
       # 

     output from parser-cmd (PID 4613) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/encoding/bad-utf8-in-multiline
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4612):
       # The following line contains an invalid UTF-8 sequence.
       bad = """"""

     output from parser-cmd (PID 4612) (stdout):
       {
         "bad": {"type": "string", "value": "�"}
       }

     want:
       Exit code 1

FAIL invalid/encoding/bad-utf8-in-multiline-literal
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4610):
       # The following line contains an invalid UTF-8 sequence.
       bad = ''''''

     output from parser-cmd (PID 4610) (stdout):
       {"bad":{"type":"string","value":"\xc3"}}

     want:
       Exit code 1

FAIL invalid/encoding/bad-utf8-in-string
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4611):
       # The following line contains an invalid UTF-8 sequence.
       bad = ""

     output from parser-cmd (PID 4611) (stdout):
       {
         "bad": {"type": "string", "value": "�"}
       }

     want:
       Exit code 1

FAIL invalid/encoding/bad-utf8-in-string-literal
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4609):
       # The following line contains an invalid UTF-8 sequence.
       bad = ''

     output from parser-cmd (PID 4609) (stdout):
       {"bad":{"type":"string","value":"\xc3"}}

     want:
       Exit code 1

FAIL invalid/float/exp-dot-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4624):
       exp-point-1 = 1e2.3

     output from parser-cmd (PID 4624) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/float/exp-point-1
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4635):
       exp-point-1 = 1e2.3

     output from parser-cmd (PID 4635) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/float/leading-dot-neg
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4659):
       leading-point-neg = -.12345

     output from parser-cmd (PID 4659) (stdout):
       {
         "leading-point-neg": {"type": "float", "value": "-0.12345"}
       }

     want:
       Exit code 1

FAIL invalid/float/leading-dot-plus
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4655):
       leading-point-plus = +.12345

     output from parser-cmd (PID 4655) (stdout):
       {
         "leading-point-plus": {"type": "float", "value": "0.12345"}
       }

     want:
       Exit code 1

FAIL invalid/float/leading-point-neg
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4658):
       leading-point-neg = -.12345

     output from parser-cmd (PID 4658) (stdout):
       {
         "leading-point-neg": {"type": "float", "value": "-0.12345"}
       }

     want:
       Exit code 1

FAIL invalid/float/leading-point-plus
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4660):
       leading-point-plus = +.12345

     output from parser-cmd (PID 4660) (stdout):
       {
         "leading-point-plus": {"type": "float", "value": "0.12345"}
       }

     want:
       Exit code 1

FAIL invalid/float/trailing-exp
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4689):
       trailing-exp = 0.0E

     output from parser-cmd (PID 4689) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/float/trailing-exp-minus
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4679):
       trailing-exp-minus = 0.0e-

     output from parser-cmd (PID 4679) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/float/trailing-exp-plus
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4685):
       trailing-exp-plus = 0.0e+

     output from parser-cmd (PID 4685) (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/inline-table/duplicate-key-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4697):
       tbl = { fruit = { apple.color = "red" }, fruit.apple.texture = { smooth = true } }

     output from parser-cmd (PID 4697) (stdout):
       {
         "tbl": {
           "fruit": {
             "apple": {
               "color": {"type": "string", "value": "red"},
               "texture": {
                 "smooth": {"type": "bool", "value": "true"}
               }
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/duplicate-key-04
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4698):
       tbl = { a.b = "a_b", a.b.c = "a_b_c" }

     output from parser-cmd (PID 4698) (stdout):
       {
         "tbl": {
           "a": {
             "b": {"type": "string", "value": "a_b"},
             "c": {"type": "string", "value": "a_b_c"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4701):
       # No newlines are allowed between the curly braces unless they are valid within
       # a value.
       simple = { a = 1
       }

     output from parser-cmd (PID 4701) (stdout):
       {
         "simple": {
           "a": {"type": "integer", "value": "1"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4702):
       t = {a=1,
       b=2}

     output from parser-cmd (PID 4702) (stdout):
       {
         "t": {
           "a": {"type": "integer", "value": "1"},
           "b": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4704):
       t = {a=1
       ,b=2}

     output from parser-cmd (PID 4704) (stdout):
       {
         "t": {
           "a": {"type": "integer", "value": "1"},
           "b": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-04
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4707):
       json_like = {
                 first = "Tom",
                 last = "Preston-Werner"
       }

     output from parser-cmd (PID 4707) (stdout):
       {
         "json_like": {
           "first": {"type": "string", "value": "Tom"},
           "last":  {"type": "string", "value": "Preston-Werner"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/no-close-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4705):
       a={

     output from parser-cmd (PID 4705) (stdout):
       {
         "a": {}
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4711):
       a={}
       # Inline tables are immutable and can't be extended
       [a.b]

     output from parser-cmd (PID 4711) (stdout):
       {
         "a": {
           "b": {}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-05
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4720):
       inline-t = { nest = {} }

       [inline-t.nest]

     output from parser-cmd (PID 4720) (stdout):
       {
         "inline-t": {
           "nest": {}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-06
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4721):
       a = { b = 1, b.c = 2 }

     output from parser-cmd (PID 4721) (stdout):
       {
         "a": {
           "b": {"type": "integer", "value": "1"},
           "c": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-07
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4723):
       tab = { inner.table = [{}], inner.table.val = "bad" }

     output from parser-cmd (PID 4723) (stdout):
       {
         "tab": {
           "inner": {"table": [{
             "val": {"type": "string", "value": "bad"}
           }]}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-08
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4713):
       tab = { inner = { dog = "best" }, inner.cat = "worst" }

     output from parser-cmd (PID 4713) (stdout):
       {
         "tab": {
           "inner": {
             "cat": {"type": "string", "value": "worst"},
             "dog": {"type": "string", "value": "best"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-10
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4716):
       # Set implicit "b", overwrite "b" (illegal!) and then set another implicit.
       #
       # Caused panic: https://github.com/BurntSushi/toml/issues/403
       a = {b.a = 1, b = 2, b.c = 3}

     output from parser-cmd (PID 4716) (stdout):
       {
         "a": {
           "b": {"type": "integer", "value": "2"},
           "c": {"type": "integer", "value": "3"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/trailing-comma
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4718):
       # A terminating comma (also called trailing comma) is not permitted after the
       # last key/value pair in an inline table
       abc = { abc = 123, }

     output from parser-cmd (PID 4718) (stdout):
       {
         "abc": {
           "abc": {"type": "integer", "value": "123"}
         }
       }

     want:
       Exit code 1

FAIL invalid/integer/negative-bin
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4753):
       negative-bin = -0b11010110

     output from parser-cmd (PID 4753) (stdout):
       {
         "negative-bin": {"type": "integer", "value": "-214"}
       }

     want:
       Exit code 1

FAIL invalid/integer/negative-hex
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4754):
       negative-hex = -0xff

     output from parser-cmd (PID 4754) (stdout):
       {
         "negative-hex": {"type": "integer", "value": "-255"}
       }

     want:
       Exit code 1

FAIL invalid/integer/negative-oct
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4761):
       negative-oct = -0o755

     output from parser-cmd (PID 4761) (stdout):
       {
         "negative-oct": {"type": "integer", "value": "-493"}
       }

     want:
       Exit code 1

FAIL invalid/integer/positive-bin
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4756):
       positive-bin = +0b11010110

     output from parser-cmd (PID 4756) (stdout):
       {
         "positive-bin": {"type": "integer", "value": "214"}
       }

     want:
       Exit code 1

FAIL invalid/integer/positive-hex
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4759):
       positive-hex = +0xff

     output from parser-cmd (PID 4759) (stdout):
       {
         "positive-hex": {"type": "integer", "value": "255"}
       }

     want:
       Exit code 1

FAIL invalid/integer/positive-oct
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4757):
       positive-oct = +0o755

     output from parser-cmd (PID 4757) (stdout):
       {
         "positive-oct": {"type": "integer", "value": "493"}
       }

     want:
       Exit code 1

FAIL invalid/key/bare-invalid-character-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4773):
       ! = 123

     output from parser-cmd (PID 4773) (stdout):
       {
         "!": {"type": "integer", "value": "123"}
       }

     want:
       Exit code 1

FAIL invalid/key/bare-invalid-character-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4771):
       bare!key = 123

     output from parser-cmd (PID 4771) (stdout):
       {
         "bare!key": {"type": "integer", "value": "123"}
       }

     want:
       Exit code 1

FAIL invalid/key/dot
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4772):
       . = 1

     output from parser-cmd (PID 4772) (stdout):
       {
         ".": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/dotted-redefine-table-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4775):
       a = false
       a.b = true

     output from parser-cmd (PID 4775) (stdout):
       {
         "a": {"type": "bool", "value": "false"},
         "b": {"type": "bool", "value": "true"}
       }

     want:
       Exit code 1

FAIL invalid/key/dotted-redefine-table-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4777):
       # Defined a.b as int
       a.b = 1
       # Tries to access it as table: error
       a.b.c = 2

     output from parser-cmd (PID 4777) (stdout):
       {
         "a": {
           "b": {"type": "integer", "value": "1"},
           "c": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/key/escape
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4780):
       \u00c0 = "latin capital letter A with grave"

     output from parser-cmd (PID 4780) (stdout):
       {
         "À": {"type": "string", "value": "latin capital letter A with grave"}
       }

     want:
       Exit code 1

FAIL invalid/key/multiline-key-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4783):
       """key""" = 1

     output from parser-cmd (PID 4783) (stdout):
       {
         "key": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/multiline-key-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4785):
       '''key''' = 1

     output from parser-cmd (PID 4785) (stdout):
       {
         "key": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/multiline-key-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4788):
       """key""" = """v"""

     output from parser-cmd (PID 4788) (stdout):
       {
         "key": {"type": "string", "value": "v"}
       }

     want:
       Exit code 1

FAIL invalid/key/multiline-key-04
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4790):
       '''key''' = '''v'''

     output from parser-cmd (PID 4790) (stdout):
       {
         "key": {"type": "string", "value": "v"}
       }

     want:
       Exit code 1

FAIL invalid/key/partial-quoted
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4809):
       partial"quoted" = 5

     output from parser-cmd (PID 4809) (stdout):
       {
         "partial\"quoted\"": {"type": "integer", "value": "5"}
       }

     want:
       Exit code 1

FAIL invalid/key/special-character
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4820):
       μ = "greek small letter mu"

     output from parser-cmd (PID 4820) (stdout):
       {
         "μ": {"type": "string", "value": "greek small letter mu"}
       }

     want:
       Exit code 1

FAIL invalid/local-date/trailing-t
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4842):
       # Date cannot end with trailing T
       d = 2006-01-30T

     output from parser-cmd (PID 4842) (stdout):
       {
         "d": {"type": "date-local", "value": "2006-01-30TZ"}
       }

     want:
       Exit code 1

FAIL invalid/spec-1.0.0/inline-table-2-0
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4900):
       [product]
       type = { name = "Nail" }
       type.edible = false  # INVALID

     output from parser-cmd (PID 4900) (stdout):
       {
         "product": {
           "type": {
             "edible": {"type": "bool", "value": "false"},
             "name":   {"type": "string", "value": "Nail"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/spec-1.0.0/table-9-0
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4905):
       [fruit]
       apple.color = "red"
       apple.taste.sweet = true

       [fruit.apple]  # INVALID
       # [fruit.apple.taste]  # INVALID

       [fruit.apple.texture]  # you can add sub-tables
       smooth = true

     output from parser-cmd (PID 4905) (stdout):
       {
         "fruit": {
           "apple": {
             "color": {"type": "string", "value": "red"},
             "taste": {
               "sweet": {"type": "bool", "value": "true"}
             },
             "texture": {
               "smooth": {"type": "bool", "value": "true"}
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/spec-1.0.0/table-9-1
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4907):
       [fruit]
       apple.color = "red"
       apple.taste.sweet = true

       # [fruit.apple]  # INVALID
       [fruit.apple.taste]  # INVALID

       [fruit.apple.texture]  # you can add sub-tables
       smooth = true

     output from parser-cmd (PID 4907) (stdout):
       {
         "fruit": {
           "apple": {
             "color": {"type": "string", "value": "red"},
             "taste": {
               "sweet": {"type": "bool", "value": "true"}
             },
             "texture": {
               "smooth": {"type": "bool", "value": "true"}
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/string/bad-escape-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4919):
       invalid-escape = "This string has a bad \  escape character."

     output from parser-cmd (PID 4919) (stdout):
       {
         "invalid-escape": {"type": "string", "value": "This string has a bad escape character."}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-escape-04
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4911):
       a = "a \\\ b"

     output from parser-cmd (PID 4911) (stdout):
       {
         "a": {"type": "string", "value": "a \\b"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-escape-05
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4914):
       a = "a \\\\\ b"

     output from parser-cmd (PID 4914) (stdout):
       {
         "a": {"type": "string", "value": "a \\\\b"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-multiline
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 4947):
       multi = "first line
       second line"

     output from parser-cmd (PID 4947) (stdout):
       {
         "multi": {"type": "string", "value": "first line\nsecond line"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-bad-escape-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5014):
       # \ is not a valid escape.
       k = """t\ t"""

     output from parser-cmd (PID 5014) (stdout):
       {
         "k": {"type": "string", "value": "tt"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-bad-escape-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5010):
       # \ is not a valid escape.
       k = """t\ """

     output from parser-cmd (PID 5010) (stdout):
       {
         "k": {"type": "string", "value": "t"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-escape-space-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5009):
       a = """
         foo \ \n
         bar"""

     output from parser-cmd (PID 5009) (stdout):
       {
         "a": {"type": "string", "value": "  foo \n\n  bar"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-escape-space-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5012):
       bee = """
       hee \

       gee \   """

     output from parser-cmd (PID 5012) (stdout):
       {
         "bee": {"type": "string", "value": "hee gee "}
       }

     want:
       Exit code 1

FAIL invalid/string/no-close-09
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5035):
       # Newlines are not allowed in "-strings.
       a = "
       "

     output from parser-cmd (PID 5035) (stdout):
       {
         "a": {"type": "string", "value": ""}
       }

     want:
       Exit code 1

FAIL invalid/string/no-close-10
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5034):
       # Newlines are not allowed in '-strings.
       a = '
       '

     output from parser-cmd (PID 5034) (stdout):
       {
         "a": {"type": "string", "value": ""}
       }

     want:
       Exit code 1

FAIL invalid/table/append-with-dotted-keys-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5047):
       # First a.b.c defines a table: a.b.c = {z=9}
       #
       # Then we define a.b.c.t = "str" to add a str to the above table, making it:
       #
       #   a.b.c = {z=9, t="..."}
       #
       # While this makes sense, logically, it was decided this is not valid TOML as
       # it's too confusing/convoluted.
       #
       # See: https://github.com/toml-lang/toml/issues/846
       #      https://github.com/toml-lang/toml/pull/859

       [a.b.c]
         z = 9

       [a]
         b.c.t = "Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed"

     output from parser-cmd (PID 5047) (stdout):
       {
         "a": {
           "b": {
             "c": {
               "z": {"type": "integer", "value": "9"},
               "t": {
                 "type":  "string",
                 "value": "Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed"
               }
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/append-with-dotted-keys-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5046):
       # This is the same issue as in injection-1.toml, except that nests one level
       # deeper. See that file for a more complete description.

       [a.b.c.d]
         z = 9

       [a]
         b.c.d.k.t = "Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed"

     output from parser-cmd (PID 5046) (stdout):
       {
         "a": {
           "b": {
             "c": {
               "d": {
                 "z": {"type": "integer", "value": "9"},
                 "k": {
                   "t": {
                     "type":  "string",
                     "value": "Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed"
                   }
                 }
               }
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/append-with-dotted-keys-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5058):
       [[a.b]]

       [a]
       b.y = 2

     output from parser-cmd (PID 5058) (stdout):
       {
         "a": {"b": [{
           "y": {"type": "integer", "value": "2"}
         }]}
       }

     want:
       Exit code 1

FAIL invalid/table/append-with-dotted-keys-04
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5048):
       [dependencies.foo]
       version = "0.16"

       [dependencies]
       libc = "0.2"

       [dependencies]
       rand = "0.3.14"

     output from parser-cmd (PID 5048) (stdout):
       {
         "dependencies": {
           "libc": {"type": "string", "value": "0.2"},
           "rand": {"type": "string", "value": "0.3.14"},
           "foo": {
             "version": {"type": "string", "value": "0.16"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/append-with-dotted-keys-06
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5051):
       a = 1
       a.b = 2

     output from parser-cmd (PID 5051) (stdout):
       {
         "a": {"type": "integer", "value": "1"},
         "b": {"type": "integer", "value": "2"}
       }

     want:
       Exit code 1

FAIL invalid/table/append-with-dotted-keys-07
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5052):
       a = {k1 = 1, k1.name = "joe"}

     output from parser-cmd (PID 5052) (stdout):
       {
         "a": {
           "k1":   {"type": "integer", "value": "1"},
           "name": {"type": "string", "value": "joe"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/bare-invalid-character-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5059):
       [!]
       k = 123

     output from parser-cmd (PID 5059) (stdout):
       {
         "!": {
           "k": {"type": "integer", "value": "123"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/bare-invalid-character-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5060):
       [bare!key]
       k = 123

     output from parser-cmd (PID 5060) (stdout):
       {
         "bare!key": {
           "k": {"type": "integer", "value": "123"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/dot
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5061):
       [.]
       k = 1

     output from parser-cmd (PID 5061) (stdout):
       {
         ".": {
           "k": {"type": "integer", "value": "1"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5063):
       [a]
       b = 1

       [a]
       c = 2

     output from parser-cmd (PID 5063) (stdout):
       {
         "a": {
           "b": {"type": "integer", "value": "1"},
           "c": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-04
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5066):
       [fruit]
       apple.color = "red"

       [fruit.apple] # INVALID

     output from parser-cmd (PID 5066) (stdout):
       {
         "fruit": {
           "apple": {
             "color": {"type": "string", "value": "red"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-05
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5067):
       [fruit]
       apple.taste.sweet = true

       [fruit.apple.taste] # INVALID

     output from parser-cmd (PID 5067) (stdout):
       {
         "fruit": {
           "apple": {
             "taste": {
               "sweet": {"type": "bool", "value": "true"}
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-07
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5069):
       [[tbl]]
       [tbl]

     output from parser-cmd (PID 5069) (stdout):
       {
         "tbl": [
           {},
           {}
         ]
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-09
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5070):
       [a]
       foo="bar"
       [a.b]
       foo="bar"
       [a]

     output from parser-cmd (PID 5070) (stdout):
       {
         "a": {
           "foo": {"type": "string", "value": "bar"},
           "b": {
             "foo": {"type": "string", "value": "bar"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-10
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5072):
       a = []
       [[a.b]]

     output from parser-cmd (PID 5072) (stdout):
       {
         "a": [{"b": [{}]}]
       }

     want:
       Exit code 1

FAIL invalid/table/multiline-key-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5082):
       ["""tbl"""]
       k = 1

     output from parser-cmd (PID 5082) (stdout):
       {
         "tbl": {
           "k": {"type": "integer", "value": "1"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/multiline-key-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5087):
       ['''tbl''']
       k = 1

     output from parser-cmd (PID 5087) (stdout):
       {
         "tbl": {
           "k": {"type": "integer", "value": "1"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/newline-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5080):
       ["tbl
       "]
       k = 1

     output from parser-cmd (PID 5080) (stdout):
       {
         "tbl\n": {
           "k": {"type": "integer", "value": "1"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/overwrite-with-deep-table
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5100):
       a=1
       [a.b.c.d]

     output from parser-cmd (PID 5100) (stdout):
       {
         "a": {"type": "integer", "value": "1"},
         "b": {
           "c": {}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/redefine-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5096):
       [t1]
       t2.t3.v = 0
       [t1.t2]

     output from parser-cmd (PID 5096) (stdout):
       {
         "t1": {
           "t2": {
             "t3": {
               "v": {"type": "integer", "value": "0"}
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/redefine-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5098):
       [t1]
       t2.t3.v = 0
       [t1.t2.t3]

     output from parser-cmd (PID 5098) (stdout):
       {
         "t1": {
           "t2": {
             "t3": {
               "v": {"type": "integer", "value": "0"}
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/super-twice
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 5097):
       [a.b]
       [a]
       [a]

     output from parser-cmd (PID 5097) (stdout):
       {
         "a": {
           "b": {}
         }
       }

     want:
       Exit code 1

toml-test v2025-04-23 [./toml_parser]: using embedded tests
  valid tests: 185 passed, 20 failed
invalid tests: 428 passed, 101 failed

==> ENCODER TESTS
(not supported)
took 0.0 0.0