tomlet version cc91daa
FAIL valid/array/open-parent-table
     Tomlet.Exceptions.MissingIntermediateInTomlTableArraySpecException: Missing intermediate definition for parent-table.arr in table-array specification on line 1. This is undefined behavior, and I chose to define it as an error.
        at Tomlet.TomlParser.ReadTableArrayStatement(TomletStringReader reader, TomlDocument document) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 948
        at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 65
        at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21
 
     Exit 1

     input sent to parser-cmd (PID 13866):
       [[parent-table.arr]]
       [[parent-table.arr]]
       [parent-table]
       not-arr = 1

     output from parser-cmd (PID 13866) (stderr):
       Tomlet.Exceptions.MissingIntermediateInTomlTableArraySpecException: Missing intermediate definition for parent-table.arr in table-array specification on line 1. This is undefined behavior, and I chose to define it as an error.
          at Tomlet.TomlParser.ReadTableArrayStatement(TomletStringReader reader, TomlDocument document) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 948
          at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 65
          at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21

       Exit 1

     want:
          

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:00 +0000 UTC

     input sent to parser-cmd (PID 14067):
       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 14067) (stdout):
       {
         "local": {"type": "datetime-local", "value": "1987-07-05T17:45:00"},
         "milli": {"type": "datetime-local", "value": "1977-12-21T10:32:00"},
         "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-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:00 +0000 UTC

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

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

     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 +0000

     input sent to parser-cmd (PID 14065):
       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 14065) (stdout):
       {
         "utc1":  {"type": "datetime", "value": "1987-07-05T17:45:56+00:00"},
         "utc2":  {"type": "datetime", "value": "1987-07-05T17:45:56+00:00"},
         "wita1": {"type": "datetime", "value": "1987-07-05T17:45:56+08:00"},
         "wita2": {"type": "datetime", "value": "1987-07-05T17:45:56+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/inline-table/key-dotted-1
     Tomlet.Exceptions.InvalidTomlInlineTableException: Found an invalid inline TOML table on line 2. See further down for cause.
      ---> Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 2, but found '.'
        at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
        at Tomlet.TomlParser.ReadInlineTable(TomletStringReader reader) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 826
        --- End of inner exception stack trace ---
        at Tomlet.TomlParser.ReadInlineTable(TomletStringReader reader) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 833
        at Tomlet.TomlParser.ReadValue(TomletStringReader reader) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 259
        at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 125
        at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
        at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21
 
     Exit 1

     input sent to parser-cmd (PID 14271):
       a = {   a.b  =  1   }
       b = {   "a"."b"  =  1   }
       c = {   a   .   b  =  1   }
       d = {   'a'   .   "b"  =  1   }
       e = {a.b=1}

     output from parser-cmd (PID 14271) (stderr):
       Tomlet.Exceptions.InvalidTomlInlineTableException: Found an invalid inline TOML table on line 2. See further down for cause.
        ---> Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 2, but found '.'
          at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
          at Tomlet.TomlParser.ReadInlineTable(TomletStringReader reader) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 826
          --- End of inner exception stack trace ---
          at Tomlet.TomlParser.ReadInlineTable(TomletStringReader reader) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 833
          at Tomlet.TomlParser.ReadValue(TomletStringReader reader) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 259
          at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 125
          at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
          at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21

       Exit 1

     want:
          

FAIL valid/key/dotted-1
     Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 2, but found '.'
        at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
        at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
        at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21
 
     Exit 1

     input sent to parser-cmd (PID 14442):
       name.first = "Arthur"
       "name".'last' = "Dent"

       many.dots.dot.dot.dot = 42

     output from parser-cmd (PID 14442) (stderr):
       Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 2, but found '.'
          at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
          at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
          at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21

       Exit 1

     want:
          

FAIL valid/key/dotted-2
     Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 6, but found '.'
        at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
        at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
        at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21
 
     Exit 1

     input sent to parser-cmd (PID 14443):
       # Note: this file contains literal tab characters.

       # Space are ignored, and key parts can be quoted.
       count.a       = 1
       count . b     = 2
       "count"."c"   = 3
       "count" . "d" = 4
       'count'.'e'   = 5
       'count' . 'f' = 6
       "count".'g'   = 7
       "count" . 'h' = 8
       count.'i'     = 9
       count 	.	 'j'	   = 10
       "count".k     = 11
       "count" . l   = 12

     output from parser-cmd (PID 14443) (stderr):
       Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 6, but found '.'
          at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
          at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
          at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21

       Exit 1

     want:
          

FAIL valid/key/dotted-empty
     Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 1, but found '.'
        at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
        at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
        at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21
 
     Exit 1

     input sent to parser-cmd (PID 14466):
       ''.x = "empty.x"
       x."" = "x.empty"
       [a]
       "".'' = "empty.empty"

     output from parser-cmd (PID 14466) (stderr):
       Tomlet.Exceptions.TomlMissingEqualsException: Expecting an equals sign ('=') on line 1, but found '.'
          at Tomlet.TomlParser.ReadKeyValuePair(TomletStringReader reader, String& key, TomlValue& value) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 117
          at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 73
          at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21

       Exit 1

     want:
          

FAIL valid/key/escapes
     Could not find key "\"quoted\"" in parser output.

     input sent to parser-cmd (PID 14495):
       "\n" = "newline"
       "\b" = "bell"
       "\u00c0" = "latin capital letter A with grave"
       "\"" = "just a quote"

       ["backsp\b\b"]

       ["\"quoted\""]
       quote = true

       ["a.b"."\u00c0"]

     output from parser-cmd (PID 14495) (stdout):
       {
         "\b":           {"type": "string", "value": "bell"},
         "\n":           {"type": "string", "value": "newline"},
         "\"":           {"type": "string", "value": "just a quote"},
         "a.b\".\"\\u00c0": {},
         "backsp\\b\\b": {},
         "À":            {"type": "string", "value": "latin capital letter A with grave"},
         "\\\"quoted\\\"": {
           "quote": {"type": "bool", "value": "true"}
         }
       }

     want:
       {
           "\b":         {"type": "string", "value": "bell"},
           "\n":         {"type": "string", "value": "newline"},
           "\"":         {"type": "string", "value": "just a quote"},
           "backsp\b\b": {},
           "À":          {"type": "string", "value": "latin capital letter A with grave"},
           "\"quoted\"": {
               "quote": {"type": "bool", "value": "true"}
           },
           "a.b": {
               "À": {}
           }
       }

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:00 +0000 UTC

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

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

     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:00 +0000 UTC

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

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

     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:00 -0700 -0700

     input sent to parser-cmd (PID 14887):
       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 14887) (stdout):
       {
         "odt1": {"type": "datetime", "value": "1979-05-27T07:32:00+00:00"},
         "odt2": {"type": "datetime", "value": "1979-05-27T00:32:00-07:00"},
         "odt3": {"type": "datetime", "value": "1979-05-27T00:32:00-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-3
     Could not find key "j.Êž.l" in parser output.

     input sent to parser-cmd (PID 15013):
       [a.b.c]            # this is best practice
       [ d.e.f ]          # same as [d.e.f]
       [ g .  h  . i ]    # same as [g.h.i]
       [ j . "Êž" . 'l' ]  # same as [j."Êž".'l']

     output from parser-cmd (PID 15013) (stdout):
       {
         "a": {
           "b": {
             "c": {}
           }
         },
         "d": {
           "e": {
             "f": {}
           }
         },
         "g": {
           "h": {
             "i": {}
           }
         },
         "j": {
           "Êž": {
             "": {
               "l": {}
             }
           }
         }
       }

     want:
       {
           "a": {
               "b": {
                   "c": {}
               }
           },
           "d": {
               "e": {
                   "f": {}
               }
           },
           "g": {
               "h": {
                   "i": {}
               }
           },
           "j": {
               "Êž": {
                   "l": {}
               }
           }
       }

FAIL valid/table/array-implicit
     Tomlet.Exceptions.MissingIntermediateInTomlTableArraySpecException: Missing intermediate definition for albums.songs in table-array specification on line 1. This is undefined behavior, and I chose to define it as an error.
        at Tomlet.TomlParser.ReadTableArrayStatement(TomletStringReader reader, TomlDocument document) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 948
        at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 65
        at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21
 
     Exit 1

     input sent to parser-cmd (PID 15282):
       [[albums.songs]]
       name = "Glory Days"

     output from parser-cmd (PID 15282) (stderr):
       Tomlet.Exceptions.MissingIntermediateInTomlTableArraySpecException: Missing intermediate definition for albums.songs in table-array specification on line 1. This is undefined behavior, and I chose to define it as an error.
          at Tomlet.TomlParser.ReadTableArrayStatement(TomletStringReader reader, TomlDocument document) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 948
          at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 65
          at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21

       Exit 1

     want:
          

FAIL valid/table/array-implicit-and-explicit-after
     Tomlet.Exceptions.MissingIntermediateInTomlTableArraySpecException: Missing intermediate definition for a.b in table-array specification on line 1. This is undefined behavior, and I chose to define it as an error.
        at Tomlet.TomlParser.ReadTableArrayStatement(TomletStringReader reader, TomlDocument document) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 948
        at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 65
        at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21
 
     Exit 1

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

       [a]
       y = 2

     output from parser-cmd (PID 15276) (stderr):
       Tomlet.Exceptions.MissingIntermediateInTomlTableArraySpecException: Missing intermediate definition for a.b in table-array specification on line 1. This is undefined behavior, and I chose to define it as an error.
          at Tomlet.TomlParser.ReadTableArrayStatement(TomletStringReader reader, TomlDocument document) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 948
          at Tomlet.TomlParser.Parse(String input) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/Tomlet/TomlParser.cs:line 65
          at TomlTestEncoder.Program.Main(String[] args) in /home/martin/code/Toml/toml-test-matrix/src/cs-tomlet/TomlTestDecoder/Program.cs:line 21

       Exit 1

     want:
          

FAIL valid/table/names
     Could not find key "j.Êž.l" in parser output.

     input sent to parser-cmd (PID 15377):
       [a.b.c]
       [a."b.c"]
       [a.'d.e']
       [a.' x ']
       [ d.e.f ]
       [ g . h . i ]
       [ j . "Êž" . 'l' ]

       [x.1.2]

     output from parser-cmd (PID 15377) (stdout):
       {
         "a": {
           " x ": {},
           "b.c": {},
           "d.e": {},
           "b": {
             "c": {}
           }
         },
         "d": {
           "e": {
             "f": {}
           }
         },
         "g": {
           "h": {
             "i": {}
           }
         },
         "j": {
           "Êž": {
             "": {
               "l": {}
             }
           }
         },
         "x": {
           "1": {
             "2": {}
           }
         }
       }

     want:
       {
           "a": {
               " x ": {},
               "b.c": {},
               "d.e": {},
               "b": {
                   "c": {}
               }
           },
           "d": {
               "e": {
                   "f": {}
               }
           },
           "g": {
               "h": {
                   "i": {}
               }
           },
           "j": {
               "Êž": {
                   "l": {}
               }
           },
           "x": {
               "1": {
                   "2": {}
               }
           }
       }

FAIL valid/table/names-with-values
     Could not find key "j.Êž.l" in parser output.

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

       [a."b.c"]
       key = 2

       [a.'d.e']
       key = 3

       [a.' x ']
       key = 4

       [ d.e.f ]
       key = 5

       [ g . h . i ]
       key = 6

       [ j . "Êž" . 'l' ]
       key = 7

       [x.1.2]
       key = 8

     output from parser-cmd (PID 15362) (stdout):
       {
         "a": {
           " x ": {
             "key": {"type": "integer", "value": "4"}
           },
           "b": {
             "c": {
               "key": {"type": "integer", "value": "1"}
             }
           },
           "b.c": {
             "key": {"type": "integer", "value": "2"}
           },
           "d.e": {
             "key": {"type": "integer", "value": "3"}
           }
         },
         "d": {
           "e": {
             "f": {
               "key": {"type": "integer", "value": "5"}
             }
           }
         },
         "g": {
           "h": {
             "i": {
               "key": {"type": "integer", "value": "6"}
             }
           }
         },
         "j": {
           "Êž": {
             "": {
               "l": {
                 "key": {"type": "integer", "value": "7"}
               }
             }
           }
         },
         "x": {
           "1": {
             "2": {
               "key": {"type": "integer", "value": "8"}
             }
           }
         }
       }

     want:
       {
           "a": {
               " x ": {
                   "key": {"type": "integer", "value": "4"}
               },
               "b": {
                   "c": {
                       "key": {"type": "integer", "value": "1"}
                   }
               },
               "b.c": {
                   "key": {"type": "integer", "value": "2"}
               },
               "d.e": {
                   "key": {"type": "integer", "value": "3"}
               }
           },
           "d": {
               "e": {
                   "f": {
                       "key": {"type": "integer", "value": "5"}
                   }
               }
           },
           "g": {
               "h": {
                   "i": {
                       "key": {"type": "integer", "value": "6"}
                   }
               }
           },
           "j": {
               "Êž": {
                   "l": {
                       "key": {"type": "integer", "value": "7"}
                   }
               }
           },
           "x": {
               "1": {
                   "2": {
                       "key": {"type": "integer", "value": "8"}
                   }
               }
           }
       }

FAIL invalid/array/no-close-08
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 15564):
       no-close-8 = [

     output from parser-cmd (PID 15564) (stdout):
       {
         "no-close-8": []
       }

     want:
       Exit code 1

FAIL invalid/array/no-close-8
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 15630):
       no-close-8 = [

     output from parser-cmd (PID 15630) (stdout):
       {
         "no-close-8": []
       }

     want:
       Exit code 1

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

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

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

     want:
       Exit code 1

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

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

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 15975):
       multi-cr   = """null
"""

     output from parser-cmd (PID 15975) (stdout):
       {
         "multi-cr": {"type": "string", "value": "null\r"}
       }

     want:
       Exit code 1

FAIL invalid/control/only-ff
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 16025):
       

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

     want:
       Exit code 1

FAIL invalid/control/only-vt
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 16040):
       

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16053):
       rawmulti-cr   = '''null
'''

     output from parser-cmd (PID 16053) (stdout):
       {
         "rawmulti-cr": {"type": "string", "value": "null\r"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/offset-minus-no-minute
     Expected an error, but no error was reported.

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

     output from parser-cmd (PID 16326) (stdout):
       {
         "foo": {"type": "datetime", "value": "1997-09-09T09:09:09+09:00"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/offset-plus-no-minute
     Expected an error, but no error was reported.

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

     output from parser-cmd (PID 16379) (stdout):
       {
         "foo": {"type": "datetime", "value": "1997-09-09T09:09:09+09:00"}
       }

     want:
       Exit code 1

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

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

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

     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 16475):
       # Ã

     output from parser-cmd (PID 16475) (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 16502):
       # The following line contains an invalid UTF-8 sequence.
       bad = """Ã"""

     output from parser-cmd (PID 16502) (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 16492):
       # The following line contains an invalid UTF-8 sequence.
       bad = '''Ã'''

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

     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 16509):
       # The following line contains an invalid UTF-8 sequence.
       bad = "Ã"

     output from parser-cmd (PID 16509) (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 16508):
       # The following line contains an invalid UTF-8 sequence.
       bad = 'Ã'

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

     want:
       Exit code 1

FAIL invalid/encoding/ideographic-space
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 16532):
       # First on next line is U+3000 IDEOGRAPHIC SPACE
        foo = "bar"

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

     want:
       Exit code 1

FAIL invalid/encoding/utf16-bom
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 16550):
       þÿ# UTF-16 with BOM

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16669):
       exp-leading-us = 1e_23

     output from parser-cmd (PID 16669) (stdout):
       {
         "exp-leading-us": {"type": "float", "value": "1E+23"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16706):
       exp-trailing-us-1 = 1_e2

     output from parser-cmd (PID 16706) (stdout):
       {
         "exp-trailing-us-1": {"type": "float", "value": "100"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16712):
       exp-trailing-us-2 = 1.2_e2

     output from parser-cmd (PID 16712) (stdout):
       {
         "exp-trailing-us-2": {"type": "float", "value": "120"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16716):
       exp-trailing-us-1 = 1_e2

     output from parser-cmd (PID 16716) (stdout):
       {
         "exp-trailing-us-1": {"type": "float", "value": "100"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16728):
       exp-trailing-us-2 = 1.2_e2

     output from parser-cmd (PID 16728) (stdout):
       {
         "exp-trailing-us-2": {"type": "float", "value": "120"}
       }

     want:
       Exit code 1

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

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

     output from parser-cmd (PID 16810) (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 16818):
       leading-point-plus = +.12345

     output from parser-cmd (PID 16818) (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 16828):
       leading-point-neg = -.12345

     output from parser-cmd (PID 16828) (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 16842):
       leading-point-plus = +.12345

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16878):
       leading-zero = 03.14

     output from parser-cmd (PID 16878) (stdout):
       {
         "leading-zero": {"type": "float", "value": "3.14"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16852):
       leading-zero-neg = -03.14

     output from parser-cmd (PID 16852) (stdout):
       {
         "leading-zero-neg": {"type": "float", "value": "-3.14"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16875):
       leading-zero-plus = +03.14

     output from parser-cmd (PID 16875) (stdout):
       {
         "leading-zero-plus": {"type": "float", "value": "3.14"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16940):
       trailing-point = 1.

     output from parser-cmd (PID 16940) (stdout):
       {
         "trailing-point": {"type": "float", "value": "1"}
       }

     want:
       Exit code 1

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

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

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16944):
       trailing-point-min = -1.

     output from parser-cmd (PID 16944) (stdout):
       {
         "trailing-point-min": {"type": "float", "value": "-1"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 16972):
       trailing-point-plus = +1.

     output from parser-cmd (PID 16972) (stdout):
       {
         "trailing-point-plus": {"type": "float", "value": "1"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17021):
       trailing-point = 1.

     output from parser-cmd (PID 17021) (stdout):
       {
         "trailing-point": {"type": "float", "value": "1"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17018):
       trailing-point-min = -1.

     output from parser-cmd (PID 17018) (stdout):
       {
         "trailing-point-min": {"type": "float", "value": "-1"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17020):
       trailing-point-plus = +1.

     output from parser-cmd (PID 17020) (stdout):
       {
         "trailing-point-plus": {"type": "float", "value": "1"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17040):
       trailing-us-exp-1 = 1_e2

     output from parser-cmd (PID 17040) (stdout):
       {
         "trailing-us-exp-1": {"type": "float", "value": "100"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17041):
       trailing-us-exp-2 = 1.2_e2

     output from parser-cmd (PID 17041) (stdout):
       {
         "trailing-us-exp-2": {"type": "float", "value": "120"}
       }

     want:
       Exit code 1

FAIL invalid/float/us-after-dot
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17060):
       us-after-point = 1._2

     output from parser-cmd (PID 17060) (stdout):
       {
         "us-after-point": {"type": "float", "value": "1.2"}
       }

     want:
       Exit code 1

FAIL invalid/float/us-after-point
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17073):
       us-after-point = 1._2

     output from parser-cmd (PID 17073) (stdout):
       {
         "us-after-point": {"type": "float", "value": "1.2"}
       }

     want:
       Exit code 1

FAIL invalid/float/us-before-dot
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17077):
       us-before-point = 1_.2

     output from parser-cmd (PID 17077) (stdout):
       {
         "us-before-point": {"type": "float", "value": "1.2"}
       }

     want:
       Exit code 1

FAIL invalid/float/us-before-point
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17076):
       us-before-point = 1_.2

     output from parser-cmd (PID 17076) (stdout):
       {
         "us-before-point": {"type": "float", "value": "1.2"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17095):
       t = {x=3,,y=4}

     output from parser-cmd (PID 17095) (stdout):
       {
         "t": {
           ",y": {"type": "integer", "value": "4"},
           "x":  {"type": "integer", "value": "3"}
         }
       }

     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 17188):
       a={

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17302):
       # 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 17302) (stdout):
       {
         "abc": {
           "abc": {"type": "integer", "value": "123"}
         }
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17311):
       capital-bin = 0B0

     output from parser-cmd (PID 17311) (stdout):
       {
         "capital-bin": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17323):
       capital-hex = 0X1

     output from parser-cmd (PID 17323) (stdout):
       {
         "capital-hex": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17324):
       capital-oct = 0O0

     output from parser-cmd (PID 17324) (stdout):
       {
         "capital-oct": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17480):
       leading-zero-1 = 01

     output from parser-cmd (PID 17480) (stdout):
       {
         "leading-zero-1": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17488):
       leading-zero-2 = 00

     output from parser-cmd (PID 17488) (stdout):
       {
         "leading-zero-2": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17492):
       leading-zero-3 = 0_0

     output from parser-cmd (PID 17492) (stdout):
       {
         "leading-zero-3": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-1
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17494):
       leading-zero-1 = 01

     output from parser-cmd (PID 17494) (stdout):
       {
         "leading-zero-1": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-2
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17513):
       leading-zero-2 = 00

     output from parser-cmd (PID 17513) (stdout):
       {
         "leading-zero-2": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-3
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17523):
       leading-zero-3 = 0_0

     output from parser-cmd (PID 17523) (stdout):
       {
         "leading-zero-3": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-sign-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17527):
       leading-zero-sign-1 = -01

     output from parser-cmd (PID 17527) (stdout):
       {
         "leading-zero-sign-1": {"type": "integer", "value": "-1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-sign-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17542):
       leading-zero-sign-2 = +01

     output from parser-cmd (PID 17542) (stdout):
       {
         "leading-zero-sign-2": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-sign-03
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17545):
       leading-zero-sign-3 = +0_1

     output from parser-cmd (PID 17545) (stdout):
       {
         "leading-zero-sign-3": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-sign-1
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17546):
       leading-zero-sign-1 = -01

     output from parser-cmd (PID 17546) (stdout):
       {
         "leading-zero-sign-1": {"type": "integer", "value": "-1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-sign-2
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17559):
       leading-zero-sign-2 = +01

     output from parser-cmd (PID 17559) (stdout):
       {
         "leading-zero-sign-2": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/leading-zero-sign-3
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17565):
       leading-zero-sign-3 = +0_1

     output from parser-cmd (PID 17565) (stdout):
       {
         "leading-zero-sign-3": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/after-array
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 17689):
       [[agencies]] owner = "S Cjelli"

     output from parser-cmd (PID 17689) (stdout):
       {
         "agencies": [{
           "owner": {"type": "string", "value": "S Cjelli"}
         }]
       }

     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 17711):
       ! = 123

     output from parser-cmd (PID 17711) (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 17723):
       bare!key = 123

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

     want:
       Exit code 1

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

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

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 17871):
       barekey
          = 1

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

     want:
       Exit code 1

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

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

     output from parser-cmd (PID 18046) (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 18087):
       μ = "greek small letter mu"

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

     want:
       Exit code 1

FAIL invalid/local-date/year-3digits
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18288):
       foo = 199-09-09

     output from parser-cmd (PID 18288) (stdout):
       {
         "foo": {"type": "date-local", "value": "0199-09-09"}
       }

     want:
       Exit code 1

FAIL invalid/local-time/hour-over
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18411):
       # time-hour       = 2DIGIT  ; 00-23
       d = 24:00:00

     output from parser-cmd (PID 18411) (stdout):
       {
         "d": {"type": "time-local", "value": "00:00:00"}
       }

     want:
       Exit code 1

FAIL invalid/local-time/no-secs
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18424):
       # No seconds in time.
       no-secs = 17:45

     output from parser-cmd (PID 18424) (stdout):
       {
         "no-secs": {"type": "time-local", "value": "17:45:00"}
       }

     want:
       Exit code 1

FAIL invalid/local-time/time-no-leads-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18447):
       # Leading 0 is always required.
       d = 1:32:00

     output from parser-cmd (PID 18447) (stdout):
       {
         "d": {"type": "time-local", "value": "01:32:00"}
       }

     want:
       Exit code 1

FAIL invalid/local-time/time-no-leads-02
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18464):
       # Leading 0 is always required.
       d = 01:32:0

     output from parser-cmd (PID 18464) (stdout):
       {
         "d": {"type": "time-local", "value": "01:32:00"}
       }

     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 18521):
       [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 18521) (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 18538):
       [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 18538) (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-uni-esc-01
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18685):
       bad-uni-esc-1 = "val\ue"

     output from parser-cmd (PID 18685) (stdout):
       {
         "bad-uni-esc-1": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 18693):
       bad-uni-esc-2 = "val\Ux"

     output from parser-cmd (PID 18693) (stdout):
       {
         "bad-uni-esc-2": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 18709):
       bad-uni-esc-3 = "val\U0000000"

     output from parser-cmd (PID 18709) (stdout):
       {
         "bad-uni-esc-3": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 18725):
       bad-uni-esc-4 = "val\U0000"

     output from parser-cmd (PID 18725) (stdout):
       {
         "bad-uni-esc-4": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-06
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18726):
       bad-uni-esc-6 = "This string contains a non scalar unicode codepoint \uD801"

     output from parser-cmd (PID 18726) (stdout):
       {
         "bad-uni-esc-6": {"type": "string", "value": "This string contains a non scalar unicode codepoint �"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-1
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18733):
       bad-uni-esc-1 = "val\ue"

     output from parser-cmd (PID 18733) (stdout):
       {
         "bad-uni-esc-1": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-2
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18756):
       bad-uni-esc-2 = "val\Ux"

     output from parser-cmd (PID 18756) (stdout):
       {
         "bad-uni-esc-2": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-3
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18764):
       bad-uni-esc-3 = "val\U0000000"

     output from parser-cmd (PID 18764) (stdout):
       {
         "bad-uni-esc-3": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-4
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18769):
       bad-uni-esc-4 = "val\U0000"

     output from parser-cmd (PID 18769) (stdout):
       {
         "bad-uni-esc-4": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-6
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18771):
       bad-uni-esc-6 = "This string contains a non scalar unicode codepoint \uD801"

     output from parser-cmd (PID 18771) (stdout):
       {
         "bad-uni-esc-6": {"type": "string", "value": "This string contains a non scalar unicode codepoint �"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-ml-2
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18798):
       bad-uni-esc-ml-2 = """val\Ux"""

     output from parser-cmd (PID 18798) (stdout):
       {
         "bad-uni-esc-ml-2": {"type": "string", "value": "val"}
       }

     want:
       Exit code 1

FAIL invalid/string/bad-uni-esc-ml-6
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 18851):
       bad-uni-esc-ml-6 = """This string contains a non scalar unicode codepoint \uD801"""

     output from parser-cmd (PID 18851) (stdout):
       {
         "bad-uni-esc-ml-6": {"type": "string", "value": "This string contains a non scalar unicode codepoint �"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 18989):
       backslash = """\"""

     output from parser-cmd (PID 18989) (stdout):
       {
         "backslash": {"type": "string", "value": "\"\"\"\n"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19010):
       invalid = '''
           this will fail

     output from parser-cmd (PID 19010) (stdout):
       {
         "invalid": {"type": "string", "value": "    this will fail\n"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19011):
       x='''

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19024):
       not-closed= '''
       diibaa
       blibae ete
       eteta

     output from parser-cmd (PID 19024) (stdout):
       {
         "not-closed": {"type": "string", "value": "diibaa\nblibae ete\neteta\n"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-lit-no-close-04
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 19033):
       bee = '''
       hee
       gee ''

     output from parser-cmd (PID 19033) (stdout):
       {
         "bee": {"type": "string", "value": "hee\ngee ''\n"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19035):
       invalid = """
           this will fail

     output from parser-cmd (PID 19035) (stdout):
       {
         "invalid": {"type": "string", "value": "    this will fail\n"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19037):
       x="""

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19063):
       not-closed= """
       diibaa
       blibae ete
       eteta

     output from parser-cmd (PID 19063) (stdout):
       {
         "not-closed": {"type": "string", "value": "diibaa\nblibae ete\neteta\n"}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19064):
       bee = """
       hee
       gee ""

     output from parser-cmd (PID 19064) (stdout):
       {
         "bee": {"type": "string", "value": "hee\ngee \"\"\n"}
       }

     want:
       Exit code 1

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

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

     output from parser-cmd (PID 19068) (stdout):
       {
         "bee": {"type": "string", "value": "hee\ngee"}
       }

     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 19242):
       # 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 19242) (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 19260):
       # 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 19260) (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-04
     Expected an error, but no error was reported.

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

       [dependencies]
       libc = "0.2"

       [dependencies]
       rand = "0.3.14"

     output from parser-cmd (PID 19263) (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/array-empty
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 19300):
       [[]]
       name = "Born to Run"

     output from parser-cmd (PID 19300) (stdout):
       {
         "": [{
           "name": {"type": "string", "value": "Born to Run"}
         }]
       }

     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 19355):
       [!]
       k = 123

     output from parser-cmd (PID 19355) (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 19360):
       [bare!key]
       k = 123

     output from parser-cmd (PID 19360) (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 19371):
       [.]
       k = 1

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

     want:
       Exit code 1

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

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

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

     want:
       Exit code 1

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

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

       [fruit.apple] # INVALID

     output from parser-cmd (PID 19408) (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 19409):
       [fruit]
       apple.taste.sweet = true

       [fruit.apple.taste] # INVALID

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

     want:
       Exit code 1

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

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

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

     want:
       Exit code 1

FAIL invalid/table/empty-implicit-table
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 19471):
       [naughty..naughty]

     output from parser-cmd (PID 19471) (stdout):
       {
         "naughty": {
           "": {
             "naughty": {}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/equals-sign
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 19489):
       [name=bad]

     output from parser-cmd (PID 19489) (stdout):
       {
         "name=bad": {}
       }

     want:
       Exit code 1

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

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

     output from parser-cmd (PID 19493) (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 19492):
       ['''tbl''']
       k = 1

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

     want:
       Exit code 1

FAIL invalid/table/nested-brackets-open
     Expected an error, but no error was reported.

     input sent to parser-cmd (PID 19527):
       [a[b]
       zyx = 42

     output from parser-cmd (PID 19527) (stdout):
       {
         "a[b": {
           "zyx": {"type": "integer", "value": "42"}
         }
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19613):
       [''']

     output from parser-cmd (PID 19613) (stdout):
       {
         "'": {}
       }

     want:
       Exit code 1

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

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

     output from parser-cmd (PID 19679) (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 19692):
       [t1]
       t2.t3.v = 0
       [t1.t2.t3]

     output from parser-cmd (PID 19692) (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 19694):
       [a.b]
       [a]
       [a]

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

     want:
       Exit code 1

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

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

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

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19714):
       [invalid key]

     output from parser-cmd (PID 19714) (stdout):
       {
         "invalid key": {}
       }

     want:
       Exit code 1

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

     input sent to parser-cmd (PID 19727):
       [key#group]
       answer = 42

     output from parser-cmd (PID 19727) (stdout):
       {
         "key#group": {
           "answer": {"type": "integer", "value": "42"}
         }
       }

     want:
       Exit code 1

toml-test v2025-04-23 [./TomlTestDecoder/bin/Release/net9.0/TomlTestDecoder]: using embedded tests
  valid tests: 188 passed, 17 failed
invalid tests: 409 passed, 120 failed

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