{"type":"thread.started","thread_id":"01a00a89-699b-7d31-be9d-e77310d320fd"}
{"type":"turn.started"}
{"type":"item.completed","item":{"id":"item_0","type":"agent_message","text":"I’ll inspect the existing build tree and verify the Go toolchain, then implement the decoder boundary and its tests without touching staged `sources/` assets."}}
{"type":"item.started","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"pwd && go version && rg --files -g '\"'!sources/**'\"' -g '\"'!toml-decoder'\"' . || true && printf '\\\\nStaged files:\\\\n' && rg --files sources\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"pwd && go version && rg --files -g '\"'!sources/**'\"' -g '\"'!toml-decoder'\"' . || true && printf '\\\\nStaged files:\\\\n' && rg --files sources\"","aggregated_output":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml\ngo version go1.24.6 linux/amd64\n./go.mod\n./internal/toml/toml_test.go\n./internal/toml/toml.go\n\nStaged files:\nsources/setup_harness.sh\nsources/run_conformance.sh\nsources/full_test.sh\nsources/stage_contract.sh\nsources/stage_test.sh\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,240p' go.mod; printf '\\\\n--- internal/toml/toml.go ---\\\\n'; sed -n '1,260p' internal/toml/toml.go; printf '\\\\n--- tests ---\\\\n'; sed -n '1,260p' internal/toml/toml_test.go; printf '\\\\n--- stage test ---\\\\n'; sed -n '1,220p' sources/stage_test.sh\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,240p' go.mod; printf '\\\\n--- internal/toml/toml.go ---\\\\n'; sed -n '1,260p' internal/toml/toml.go; printf '\\\\n--- tests ---\\\\n'; sed -n '1,260p' internal/toml/toml_test.go; printf '\\\\n--- stage test ---\\\\n'; sed -n '1,220p' sources/stage_test.sh\"","aggregated_output":"module github.com/owner/toml-decoder\n\ngo 1.24\n\n--- internal/toml/toml.go ---\n// Package toml provides the TOML decoder used by the command-line filter.\npackage toml\n\n// Decode parses a TOML document and returns its tagged representation.\n//\n// Parsing rules are added by the parser stages. The foundational architecture\n// exposes the stable package boundary and represents an empty document.\nfunc Decode(input string) (map[string]any, error) {\n\treturn map[string]any{}, nil\n}\n\n--- tests ---\npackage toml\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n)\n\nfunc TestDecodeEmptyDocument(t *testing.T) {\n\tgot, err := Decode(\"\")\n\tif err != nil {\n\t\tt.Fatalf(\"Decode(\\\"\\\") returned error: %v\", err)\n\t}\n\tif want := map[string]any{}; !reflect.DeepEqual(got, want) {\n\t\tt.Fatalf(\"Decode(\\\"\\\") = %#v, want %#v\", got, want)\n\t}\n}\n\n--- stage test ---\n#!/bin/sh\n# stage_test.sh — governed stage gate. Runs one slice of the authoritative suite.\n#\n# Same contract as full_test.sh, scoped to the cases a single story owns: build the decoder,\n# then run the installed toml-test suite over the pattern given as $1. Exit status is the\n# verdict and the whole verdict. Do not filter, skip, or reinterpret.\nset -eu\nif [ $# -ne 1 ]; then\n echo \"usage: stage_test.sh <toml-test -run pattern>\" >&2\n exit 2\nfi\nTOML_TEST_VERSION=\"${TOML_TEST_VERSION:-v2.2.0}\"\nexport TOML_TEST_VERSION\ngo build -o toml-decoder ./cmd/toml-decoder\nDECODER=\"$PWD/toml-decoder\" exec sh sources/run_conformance.sh -run \"$1\"\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_3","type":"agent_message","text":"The tree has the package boundary and an empty `Decode`, but no `cmd/toml-decoder`; the declared valid gate therefore cannot pass yet. I’ll add the thin stdin/JSON process boundary and the smallest parser-side scalar behavior required by that fixed gate, while keeping diagnostics and output-stream handling in `main`."}}
{"type":"item.started","item":{"id":"item_4","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/cmd/toml-decoder/main.go","kind":"add"},{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"},{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/cmd/toml-decoder/main_test.go","kind":"add"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_4","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/cmd/toml-decoder/main.go","kind":"add"},{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/internal/toml/toml.go","kind":"update"},{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/cmd/toml-decoder/main_test.go","kind":"add"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_5","type":"command_execution","command":"/bin/bash -lc \"rg --files -g '\"'!sources/**'\"' . && sed -n '1,80p' internal/toml/toml.go\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_5","type":"command_execution","command":"/bin/bash -lc \"rg --files -g '\"'!sources/**'\"' . && sed -n '1,80p' internal/toml/toml.go\"","aggregated_output":"./go.mod\n./toml-decoder\n./cmd/toml-decoder/main.go\n./internal/toml/toml.go\n./internal/toml/toml_test.go\n// Package toml provides the TOML decoder used by the command-line filter.\npackage toml\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\ntype scalar struct {\n\tType string `json:\"type\"`\n\tValue string `json:\"value\"`\n}\n\n// Decode parses a TOML document and returns its tagged representation.\n//\nfunc Decode(input string) (map[string]any, error) {\n\tresult := map[string]any{}\n\tfor lineNumber, line := range strings.Split(input, \"\\n\") {\n\t\tline = strings.TrimSpace(strings.SplitN(line, \"#\", 2)[0])\n\t\tif line == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif strings.HasPrefix(line, \"[\") {\n\t\t\treturn nil, fmt.Errorf(\"line %d: tables are not supported yet\", lineNumber+1)\n\t\t}\n\t\tparts := strings.SplitN(line, \"=\", 2)\n\t\tif len(parts) != 2 {\n\t\t\treturn nil, fmt.Errorf(\"line %d: expected key-value pair\", lineNumber+1)\n\t\t}\n\t\tkey := strings.TrimSpace(parts[0])\n\t\tif key == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"line %d: empty key\", lineNumber+1)\n\t\t}\n\t\tif _, exists := result[key]; exists {\n\t\t\treturn nil, fmt.Errorf(\"line %d: duplicate key %q\", lineNumber+1, key)\n\t\t}\n\t\tvalue, err := parseScalar(strings.TrimSpace(parts[1]))\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"line %d: %w\", lineNumber+1, err)\n\t\t}\n\t\tresult[key] = value\n\t}\n\treturn result, nil\n}\n\nfunc parseScalar(value string) (scalar, error) {\n\tif value == \"true\" || value == \"false\" {\n\t\treturn scalar{Type: \"bool\", Value: value}, nil\n\t}\n\tif _, err := strconv.ParseInt(value, 10, 64); err == nil {\n\t\treturn scalar{Type: \"integer\", Value: value}, nil\n\t}\n\tif len(value) >= 2 && ((value[0] == '\"' && value[len(value)-1] == '\"') || (value[0] == '\\'' && value[len(value)-1] == '\\'')) {\n\t\tif value[0] == '\\'' {\n\t\t\treturn scalar{Type: \"string\", Value: value[1 : len(value)-1]}, nil\n\t\t}\n\t\tdecoded, err := strconv.Unquote(value)\n\t\tif err != nil {\n\t\t\treturn scalar{}, fmt.Errorf(\"invalid string: %w\", err)\n\t\t}\n\t\treturn scalar{Type: \"string\", Value: decoded}, nil\n\t}\n\treturn scalar{}, fmt.Errorf(\"invalid value %q\", value)\n}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_6","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/cmd/toml-decoder/main_test.go","kind":"add"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_6","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/cmd/toml-decoder/main_test.go","kind":"add"}],"status":"completed"}}
{"type":"item.completed","item":{"id":"item_7","type":"agent_message","text":"The implementation is now in place: `main` reads only stdin, delegates to `internal/toml`, encodes one JSON document on success, and sends parse/read/encode failures to stderr with exit 1. I also added process-level tests for valid, empty, and malformed input stream behavior."}}
{"type":"item.started","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc 'gofmt -w cmd/toml-decoder/main.go cmd/toml-decoder/main_test.go internal/toml/toml.go && go test ./... && go vet ./... && sh sources/stage_contract.sh architecture && sh sources/stage_contract.sh decoder'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc 'gofmt -w cmd/toml-decoder/main.go cmd/toml-decoder/main_test.go internal/toml/toml.go && go test ./... && go vet ./... && sh sources/stage_contract.sh architecture && sh sources/stage_contract.sh decoder'","aggregated_output":"ok \tgithub.com/owner/toml-decoder/cmd/toml-decoder\t1.699s\nok \tgithub.com/owner/toml-decoder/internal/toml\t0.010s\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc 'sh sources/full_test.sh'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc 'sh sources/full_test.sh'","aggregated_output":"harness: /home/barlo/.local/bin/toml-test toml-test v2.2.0; go1.24.6 linux/amd64; race=false; cgo=true\nFAIL valid/array/array\n line 1: invalid value \"[1, 2, 3, ]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662504):\n 1 │\u001b[0m ints = [1, 2, 3, ]\n 2 │\u001b[0m floats = [1.1, 2.1, 3.1]\n 3 │\u001b[0m strings = [\"a\", \"b\", \"c\"]\n 4 │\u001b[0m dates = [\n 5 │\u001b[0m \t1987-07-05T17:45:00Z,\n 6 │\u001b[0m \t1979-05-27T07:32:00,\n 7 │\u001b[0m \t2006-06-01,\n 8 │\u001b[0m \t11:00:00,\n 9 │\u001b[0m ]\n 10 │\u001b[0m comments = [\n 11 │\u001b[0m 1,\n 12 │\u001b[0m 2, #this is ok\n 13 │\u001b[0m ]\n\n output from parser-cmd (PID 1662504) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[1, 2, 3, ]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/array-subtables\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662412):\n 1 │\u001b[0m [[arr]]\n 2 │\u001b[0m [arr.subtab]\n 3 │\u001b[0m val=1\n 4 │\u001b[0m\n 5 │\u001b[0m [[arr]]\n 6 │\u001b[0m [arr.subtab]\n 7 │\u001b[0m val=2\n\n output from parser-cmd (PID 1662412) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/bool\n line 1: invalid value \"[true, false]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662407):\n 1 │\u001b[0m a = [true, false]\n\n output from parser-cmd (PID 1662407) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[true, false]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/empty\n line 1: invalid value \"[[[[[]]]]]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662492):\n 1 │\u001b[0m thevoid = [[[[[]]]]]\n\n output from parser-cmd (PID 1662492) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[[[[[]]]]]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/hetergeneous\n line 1: invalid value \"[[1, 2], [\\\"a\\\", \\\"b\\\"], [1.1, 2.1]]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662576):\n 1 │\u001b[0m mixed = [[1, 2], [\"a\", \"b\"], [1.1, 2.1]]\n\n output from parser-cmd (PID 1662576) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[[1, 2], [\\\"a\\\", \\\"b\\\"], [1.1, 2.1]]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/mixed-int-array\n line 1: invalid value \"[1, [\\\"Arrays are not integers.\\\"]]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662409):\n 1 │\u001b[0m arrays-and-ints = [1, [\"Arrays are not integers.\"]]\n\n output from parser-cmd (PID 1662409) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[1, [\\\"Arrays are not integers.\\\"]]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/mixed-int-float\n line 1: invalid value \"[1, 1.1]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662448):\n 1 │\u001b[0m ints-and-floats = [1, 1.1]\n\n output from parser-cmd (PID 1662448) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[1, 1.1]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/mixed-int-string\n line 1: invalid value \"[\\\"hi\\\", 42]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662546):\n 1 │\u001b[0m strings-and-ints = [\"hi\", 42]\n\n output from parser-cmd (PID 1662546) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\\\"hi\\\", 42]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/mixed-string-table\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662450):\n 1 │\u001b[0m contributors = [\n 2 │\u001b[0m \"Foo Bar <foo@example.com>\",\n 3 │\u001b[0m { name = \"Baz Qux\", email = \"bazqux@example.com\", url = \"https://example.com/bazqux\" }\n 4 │\u001b[0m ]\n 5 │\u001b[0m\n 6 │\u001b[0m # Start with a table as the first element. This tests a case that some libraries\n 7 │\u001b[0m # might have where they will check if the first entry is a table/map/hash/assoc\n 8 │\u001b[0m # array and then encode it as a table array. This was a reasonable thing to do\n 9 │\u001b[0m # before TOML 1.0 since arrays could only contain one type, but now it's no\n 10 │\u001b[0m # longer.\n 11 │\u001b[0m mixed = [{k=\"a\"}, \"b\", 1]\n\n output from parser-cmd (PID 1662450) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/nested\n line 1: invalid value \"[[\\\"a\\\"], [\\\"b\\\"]]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662507):\n 1 │\u001b[0m nest = [[\"a\"], [\"b\"]]\n\n output from parser-cmd (PID 1662507) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[[\\\"a\\\"], [\\\"b\\\"]]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/nested-double\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662453):\n 1 │\u001b[0m nest = [\n 2 │\u001b[0m \t[\n 3 │\u001b[0m \t\t[\"a\"],\n 4 │\u001b[0m \t\t[1, 2, [3]]\n 5 │\u001b[0m \t]\n 6 │\u001b[0m ]\n\n output from parser-cmd (PID 1662453) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/nested-inline-table\n line 1: invalid value \"[ { b = {} } ]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662446):\n 1 │\u001b[0m a = [ { b = {} } ]\n\n output from parser-cmd (PID 1662446) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[ { b = {} } ]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/nospaces\n line 1: invalid value \"[1,2,3]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662500):\n 1 │\u001b[0m ints = [1,2,3]\n\n output from parser-cmd (PID 1662500) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[1,2,3]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/open-parent-table\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662623):\n 1 │\u001b[0m [[parent-table.arr]]\n 2 │\u001b[0m [[parent-table.arr]]\n 3 │\u001b[0m [parent-table]\n 4 │\u001b[0m not-arr = 1\n\n output from parser-cmd (PID 1662623) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/string-quote-comma-01\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662506):\n 1 │\u001b[0m title = [\n 2 │\u001b[0m \"Client: \\\"XXXX\\\", Job: XXXX\",\n 3 │\u001b[0m \"Code: XXXX\"\n 4 │\u001b[0m ]\n\n output from parser-cmd (PID 1662506) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/string-quote-comma-02\n line 1: invalid value \"[ \\\" \\\\\\\", \\\",]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662551):\n 1 │\u001b[0m title = [ \" \\\", \",]\n\n output from parser-cmd (PID 1662551) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[ \\\" \\\\\\\", \\\",]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/string-with-comma-01\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662406):\n 1 │\u001b[0m title = [\n 2 │\u001b[0m \"Client: XXXX, Job: XXXX\",\n 3 │\u001b[0m \"Code: XXXX\"\n 4 │\u001b[0m ]\n\n output from parser-cmd (PID 1662406) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/string-with-comma-02\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662493):\n 1 │\u001b[0m title = [\n 2 │\u001b[0m \"\"\"Client: XXXX,\n 3 │\u001b[0m Job: XXXX\"\"\",\n 4 │\u001b[0m \"Code: XXXX\"\n 5 │\u001b[0m ]\n\n output from parser-cmd (PID 1662493) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/strings\n line 1: invalid value \"[ \\\"all\\\", 'strings', \\\"\\\"\\\"are the same\\\"\\\"\\\", '''type''']\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662550):\n 1 │\u001b[0m string_array = [ \"all\", 'strings', \"\"\"are the same\"\"\", '''type''']\n\n output from parser-cmd (PID 1662550) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[ \\\"all\\\", 'strings', \\\"\\\"\\\"are the same\\\"\\\"\\\", '''type''']\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/table-array-string-backslash\n line 1: invalid value \"[ { bar=\\\"\\\\\\\"{{baz}}\\\\\\\"\\\"} ]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662630):\n 1 │\u001b[0m foo = [ { bar=\"\\\"{{baz}}\\\"\"} ]\n\n output from parser-cmd (PID 1662630) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[ { bar=\\\"\\\\\\\"{{baz}}\\\\\\\"\\\"} ]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/array/trailing-comma\n line 1: invalid value \"[1,]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662505):\n 1 │\u001b[0m arr-1 = [1,]\n 2 │\u001b[0m\n 3 │\u001b[0m arr-2 = [2,3,]\n 4 │\u001b[0m\n 5 │\u001b[0m arr-3 = [4,\n 6 │\u001b[0m ]\n 7 │\u001b[0m\n 8 │\u001b[0m arr-4 = [\n 9 │\u001b[0m \t5,\n 10 │\u001b[0m \t6,\n 11 │\u001b[0m ]\n\n output from parser-cmd (PID 1662505) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[1,]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/comment/after-literal-no-ws\n line 1: invalid value \"inf\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662510):\n 1 │\u001b[0m inf=inf#infinity\n 2 │\u001b[0m nan=nan#not a number\n 3 │\u001b[0m true=true#true\n 4 │\u001b[0m false=false#false\n\n output from parser-cmd (PID 1662510) (stderr):\n 1 │\u001b[0m line 1: invalid value \"inf\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/comment/everywhere\n line 7: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662447):\n 1 │\u001b[0m # Top comment.\n 2 │\u001b[0m # Top comment.\n 3 │\u001b[0m # Top comment.\n 4 │\u001b[0m\n 5 │\u001b[0m # [no-extraneous-groups-please]\n 6 │\u001b[0m\n 7 │\u001b[0m [group] # Comment\n 8 │\u001b[0m answer = 42 # Comment\n 9 │\u001b[0m # no-extraneous-keys-please = 999\n 10 │\u001b[0m # Inbetween comment.\n 11 │\u001b[0m more = [ # Comment\n 12 │\u001b[0m # What about multiple # comments?\n 13 │\u001b[0m # Can you handle it?\n 14 │\u001b[0m #\n 15 │\u001b[0m # Evil.\n 16 │\u001b[0m # Evil.\n 17 │\u001b[0m 42, 42, # Comments within arrays are fun.\n 18 │\u001b[0m # What about multiple # comments?\n 19 │\u001b[0m # Can you handle it?\n 20 │\u001b[0m #\n 21 │\u001b[0m # Evil.\n 22 │\u001b[0m # Evil.\n 23 │\u001b[0m # ] Did I fool you?\n 24 │\u001b[0m ] # Hopefully not.\n 25 │\u001b[0m\n 26 │\u001b[0m # Make sure the space between the datetime and \"#\" isn't lexed.\n 27 │\u001b[0m dt = 1979-05-27T07:32:12-07:00 # c\n 28 │\u001b[0m d = 1979-05-27 # Comment\n 29 │\u001b[0m\n 30 │\u001b[0m [[aot]] # Comment\n 31 │\u001b[0m k = 98 # Comment\n 32 │\u001b[0m [[aot]]# Comment\n 33 │\u001b[0m k = 99# Comment\n\n output from parser-cmd (PID 1662447) (stderr):\n 1 │\u001b[0m line 7: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/comment/tricky\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662544):\n 1 │\u001b[0m [section]#attached comment\n 2 │\u001b[0m #[notsection]\n 3 │\u001b[0m one = \"11\"#cmt\n 4 │\u001b[0m two = \"22#\"\n 5 │\u001b[0m three = '#'\n 6 │\u001b[0m\n 7 │\u001b[0m four = \"\"\"# no comment\n 8 │\u001b[0m # nor this\n 9 │\u001b[0m #also not comment\"\"\"#is_comment\n 10 │\u001b[0m\n 11 │\u001b[0m five = 5.5#66\n 12 │\u001b[0m six = 6#7\n 13 │\u001b[0m 8 = \"eight\"\n 14 │\u001b[0m #nine = 99\n 15 │\u001b[0m ten = 10e2#1\n 16 │\u001b[0m eleven = 1.11e1#23\n 17 │\u001b[0m\n 18 │\u001b[0m [\"hash#tag\"]\n 19 │\u001b[0m \"#!\" = \"hash bang\"\n 20 │\u001b[0m arr3 = [ \"#\", '#', \"\"\"###\"\"\" ]\n 21 │\u001b[0m arr4 = [ 1,# 9, 9,\n 22 │\u001b[0m 2#,9\n 23 │\u001b[0m ,#9\n 24 │\u001b[0m 3#]\n 25 │\u001b[0m ,4]\n 26 │\u001b[0m arr5 = [[[[#[\"#\"],\n 27 │\u001b[0m [\"#\"]]]]#]\n 28 │\u001b[0m ]\n 29 │\u001b[0m tbl1 = { \"#\" = '}#'}#}}\n\n output from parser-cmd (PID 1662544) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/datetime\n line 1: invalid value \"1987-07-05 17:45:00Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662547):\n 1 │\u001b[0m space = 1987-07-05 17:45:00Z\n 2 │\u001b[0m\n 3 │\u001b[0m # ABNF is case-insensitive, both \"Z\" and \"z\" must be supported.\n 4 │\u001b[0m lower = 1987-07-05t17:45:00z\n\n output from parser-cmd (PID 1662547) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1987-07-05 17:45:00Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/edge\n line 1: invalid value \"0001-01-01 00:00:00Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662445):\n 1 │\u001b[0m first-offset = 0001-01-01 00:00:00Z\n 2 │\u001b[0m first-local = 0001-01-01 00:00:00\n 3 │\u001b[0m first-date = 0001-01-01\n 4 │\u001b[0m\n 5 │\u001b[0m last-offset = 9999-12-31 23:59:59Z\n 6 │\u001b[0m last-local = 9999-12-31 23:59:59\n 7 │\u001b[0m last-date = 9999-12-31\n\n output from parser-cmd (PID 1662445) (stderr):\n 1 │\u001b[0m line 1: invalid value \"0001-01-01 00:00:00Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/leap-year\n line 1: invalid value \"2000-02-29 15:15:15Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662509):\n 1 │\u001b[0m 2000-datetime = 2000-02-29 15:15:15Z\n 2 │\u001b[0m 2000-datetime-local = 2000-02-29 15:15:15\n 3 │\u001b[0m 2000-date = 2000-02-29\n 4 │\u001b[0m\n 5 │\u001b[0m 2024-datetime = 2024-02-29 15:15:15Z\n 6 │\u001b[0m 2024-datetime-local = 2024-02-29 15:15:15\n 7 │\u001b[0m 2024-date = 2024-02-29\n\n output from parser-cmd (PID 1662509) (stderr):\n 1 │\u001b[0m line 1: invalid value \"2000-02-29 15:15:15Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/local\n line 1: invalid value \"1987-07-05T17:45:00\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662579):\n 1 │\u001b[0m local = 1987-07-05T17:45:00\n 2 │\u001b[0m milli = 1977-12-21T10:32:00.555\n 3 │\u001b[0m space = 1987-07-05 17:45:00\n\n output from parser-cmd (PID 1662579) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:00\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/local-date\n line 1: invalid value \"1987-07-05\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662543):\n 1 │\u001b[0m bestdayever = 1987-07-05\n\n output from parser-cmd (PID 1662543) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1987-07-05\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/local-time\n line 1: invalid value \"17:45:00\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662549):\n 1 │\u001b[0m besttimeever = 17:45:00\n 2 │\u001b[0m milliseconds = 10:32:00.555\n\n output from parser-cmd (PID 1662549) (stderr):\n 1 │\u001b[0m line 1: invalid value \"17:45:00\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/milliseconds\n line 1: invalid value \"1987-07-05T17:45:56.123Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662582):\n 1 │\u001b[0m utc1 = 1987-07-05T17:45:56.123Z\n 2 │\u001b[0m utc2 = 1987-07-05T17:45:56.6Z\n 3 │\u001b[0m wita1 = 1987-07-05T17:45:56.123+08:00\n 4 │\u001b[0m wita2 = 1987-07-05T17:45:56.6+08:00\n\n output from parser-cmd (PID 1662582) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:56.123Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/datetime/timezone\n line 1: invalid value \"1987-07-05T17:45:56Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662583):\n 1 │\u001b[0m utc = 1987-07-05T17:45:56Z\n 2 │\u001b[0m pdt = 1987-07-05T17:45:56-05:00\n 3 │\u001b[0m nzst = 1987-07-05T17:45:56+12:00\n 4 │\u001b[0m nzdt = 1987-07-05T17:45:56+13:00 # DST\n\n output from parser-cmd (PID 1662583) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:56Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/example\n line 1: invalid value \"1987-07-05T17:45:00Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662621):\n 1 │\u001b[0m best-day-ever = 1987-07-05T17:45:00Z\n 2 │\u001b[0m\n 3 │\u001b[0m [numtheory]\n 4 │\u001b[0m boring = false\n 5 │\u001b[0m perfection = [6, 28, 496]\n\n output from parser-cmd (PID 1662621) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1987-07-05T17:45:00Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/float/exponent\n line 1: invalid value \"3e2\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662625):\n 1 │\u001b[0m lower = 3e2\n 2 │\u001b[0m upper = 3E2\n 3 │\u001b[0m neg = 3e-2\n 4 │\u001b[0m pos = 3E+2\n 5 │\u001b[0m zero = 3e0\n 6 │\u001b[0m pointlower = 3.1e2\n 7 │\u001b[0m pointupper = 3.1E2\n 8 │\u001b[0m minustenth = -1E-1\n\n output from parser-cmd (PID 1662625) (stderr):\n 1 │\u001b[0m line 1: invalid value \"3e2\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/float/float\n line 1: invalid value \"3.14\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662628):\n 1 │\u001b[0m pi = 3.14\n 2 │\u001b[0m pospi = +3.14\n 3 │\u001b[0m negpi = -3.14\n 4 │\u001b[0m zero-intpart = 0.123\n 5 │\u001b[0m leading-zero-fractional = 0.0123\n\n output from parser-cmd (PID 1662628) (stderr):\n 1 │\u001b[0m line 1: invalid value \"3.14\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/float/inf-and-nan\n line 3: invalid value \"nan\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662629):\n 1 │\u001b[0m # We don't encode +nan and -nan back with the signs; many languages don't\n 2 │\u001b[0m # support a sign on NaN (it doesn't really make much sense).\n 3 │\u001b[0m nan = nan\n 4 │\u001b[0m nan_neg = -nan\n 5 │\u001b[0m nan_plus = +nan\n 6 │\u001b[0m infinity = inf\n 7 │\u001b[0m infinity_neg = -inf\n 8 │\u001b[0m infinity_plus = +inf\n\n output from parser-cmd (PID 1662629) (stderr):\n 1 │\u001b[0m line 3: invalid value \"nan\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/float/long\n line 1: invalid value \"3.141592653589793\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662631):\n 1 │\u001b[0m longpi = 3.141592653589793\n 2 │\u001b[0m neglongpi = -3.141592653589793\n\n output from parser-cmd (PID 1662631) (stderr):\n 1 │\u001b[0m line 1: invalid value \"3.141592653589793\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/float/max-int\n line 2: invalid value \"9_007_199_254_740_991.0\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662632):\n 1 │\u001b[0m # Maximum and minimum safe natural numbers.\n 2 │\u001b[0m max_float = 9_007_199_254_740_991.0\n 3 │\u001b[0m min_float = -9_007_199_254_740_991.0\n\n output from parser-cmd (PID 1662632) (stderr):\n 1 │\u001b[0m line 2: invalid value \"9_007_199_254_740_991.0\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/float/underscore\n line 1: invalid value \"3_141.5927\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662654):\n 1 │\u001b[0m before = 3_141.5927\n 2 │\u001b[0m after = 3141.592_7\n 3 │\u001b[0m exponent = 3e1_4\n\n output from parser-cmd (PID 1662654) (stderr):\n 1 │\u001b[0m line 1: invalid value \"3_141.5927\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/float/zero\n line 1: invalid value \"0.0\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662658):\n 1 │\u001b[0m zero = 0.0\n 2 │\u001b[0m signed-pos = +0.0\n 3 │\u001b[0m signed-neg = -0.0\n 4 │\u001b[0m exponent = 0e0\n 5 │\u001b[0m exponent-two-0 = 0e00\n 6 │\u001b[0m exponent-signed-pos = +0e0\n 7 │\u001b[0m exponent-signed-neg = -0e0\n\n output from parser-cmd (PID 1662658) (stderr):\n 1 │\u001b[0m line 1: invalid value \"0.0\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/implicit-and-explicit-after\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662667):\n 1 │\u001b[0m [a.b.c]\n 2 │\u001b[0m answer = 42\n 3 │\u001b[0m\n 4 │\u001b[0m [a]\n 5 │\u001b[0m better = 43\n\n output from parser-cmd (PID 1662667) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/implicit-and-explicit-before\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662678):\n 1 │\u001b[0m [a]\n 2 │\u001b[0m better = 43\n 3 │\u001b[0m\n 4 │\u001b[0m [a.b.c]\n 5 │\u001b[0m answer = 42\n\n output from parser-cmd (PID 1662678) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/implicit-groups\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662681):\n 1 │\u001b[0m [a.b.c]\n 2 │\u001b[0m answer = 42\n\n output from parser-cmd (PID 1662681) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/array-01\n line 1: invalid value \"[ {'a'= 1}, {'a'= 2} ]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662684):\n 1 │\u001b[0m arr = [ {'a'= 1}, {'a'= 2} ]\n 2 │\u001b[0m\n 3 │\u001b[0m people = [{first_name = \"Bruce\", last_name = \"Springsteen\"},\n 4 │\u001b[0m {first_name = \"Eric\", last_name = \"Clapton\"},\n 5 │\u001b[0m {first_name = \"Bob\", last_name = \"Seger\"}]\n\n output from parser-cmd (PID 1662684) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[ {'a'= 1}, {'a'= 2} ]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/array-02\n line 4: invalid value \"{ a = [\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662685):\n 1 │\u001b[0m # \"No newlines are allowed between the curly braces unless they are valid within\n 2 │\u001b[0m # a value\"\n 3 │\u001b[0m\n 4 │\u001b[0m a = { a = [\n 5 │\u001b[0m ]}\n\n output from parser-cmd (PID 1662685) (stderr):\n 1 │\u001b[0m line 4: invalid value \"{ a = [\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/array-03\n line 1: invalid value \"{ a = [\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662683):\n 1 │\u001b[0m b = { a = [\n 2 │\u001b[0m \t\t1,\n 3 │\u001b[0m \t\t2,\n 4 │\u001b[0m \t], b = [\n 5 │\u001b[0m \t\t3,\n 6 │\u001b[0m \t\t4,\n 7 │\u001b[0m \t]}\n\n output from parser-cmd (PID 1662683) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{ a = [\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/bool\n line 1: invalid value \"{a = true, b = false}\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662688):\n 1 │\u001b[0m a = {a = true, b = false}\n\n output from parser-cmd (PID 1662688) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{a = true, b = false}\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/empty\n line 1: invalid value \"{}\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662686):\n 1 │\u001b[0m empty1 = {}\n 2 │\u001b[0m empty2 = { }\n 3 │\u001b[0m empty_in_array = [ { not_empty = 1 }, {} ]\n 4 │\u001b[0m empty_in_array2 = [{},{not_empty=1}]\n 5 │\u001b[0m many_empty = [{},{},{}]\n 6 │\u001b[0m nested_empty = {\"empty\"={}}\n 7 │\u001b[0m with_cmt ={ }#nothing here\n\n output from parser-cmd (PID 1662686) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{}\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/end-in-bool\n line 1: invalid value \"{ python=\\\">3.6\\\", version=\\\">=18.9b0\\\", allow_prereleases=true }\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662687):\n 1 │\u001b[0m black = { python=\">3.6\", version=\">=18.9b0\", allow_prereleases=true }\n\n output from parser-cmd (PID 1662687) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{ python=\\\">3.6\\\", version=\\\">=18.9b0\\\", allow_prereleases=true }\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/inline-table\n line 1: invalid value \"{ first = \\\"Tom\\\", last = \\\"Preston-Werner\\\" }\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662713):\n 1 │\u001b[0m name = { first = \"Tom\", last = \"Preston-Werner\" }\n 2 │\u001b[0m point = { x = 1, y = 2 }\n 3 │\u001b[0m simple = { a = 1 }\n 4 │\u001b[0m str-key = { \"a\" = 1 }\n 5 │\u001b[0m table-array = [{ \"a\" = 1 }, { \"b\" = 2 }]\n\n output from parser-cmd (PID 1662713) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{ first = \\\"Tom\\\", last = \\\"Preston-Werner\\\" }\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/key-dotted-01\n line 1: invalid value \"{ a.b = 1 }\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662725):\n 1 │\u001b[0m a = { a.b = 1 }\n 2 │\u001b[0m b = { \"a\".\"b\" = 1 }\n 3 │\u001b[0m c = { a . b = 1 }\n 4 │\u001b[0m d = { 'a' . \"b\" = 1 }\n 5 │\u001b[0m e = {a.b=1}\n\n output from parser-cmd (PID 1662725) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{ a.b = 1 }\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/key-dotted-02\n line 1: invalid value \"{a.b.c = 1, a.b.d = 2}\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662726):\n 1 │\u001b[0m many.dots.here.dot.dot.dot = {a.b.c = 1, a.b.d = 2}\n\n output from parser-cmd (PID 1662726) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{a.b.c = 1, a.b.d = 2}\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/key-dotted-03\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662727):\n 1 │\u001b[0m [tbl]\n 2 │\u001b[0m a.b.c = {d.e=1}\n 3 │\u001b[0m\n 4 │\u001b[0m [tbl.x]\n 5 │\u001b[0m a.b.c = {d.e=1}\n\n output from parser-cmd (PID 1662727) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/key-dotted-04\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662728):\n 1 │\u001b[0m [[arr]]\n 2 │\u001b[0m t = {a.b=1}\n 3 │\u001b[0m T = {a.b=1}\n 4 │\u001b[0m\n 5 │\u001b[0m [[arr]]\n 6 │\u001b[0m t = {a.b=2}\n 7 │\u001b[0m T = {a.b=2}\n\n output from parser-cmd (PID 1662728) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/key-dotted-05\n line 1: invalid value \"[{a.b = 1}]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662729):\n 1 │\u001b[0m arr-1 = [{a.b = 1}]\n 2 │\u001b[0m arr-2 = [\"str\", {a.b = 1}]\n 3 │\u001b[0m\n 4 │\u001b[0m arr-3 = [{a.b = 1}, {a.b = 2}]\n 5 │\u001b[0m arr-4 = [\"str\", {a.b = 1}, {a.b = 2}]\n\n output from parser-cmd (PID 1662729) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[{a.b = 1}]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/key-dotted-06\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662730):\n 1 │\u001b[0m top.dot.dot = [\n 2 │\u001b[0m \t{dot.dot.dot = 1},\n 3 │\u001b[0m \t{dot.dot.dot = 2},\n 4 │\u001b[0m ]\n\n output from parser-cmd (PID 1662730) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/key-dotted-07\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662731):\n 1 │\u001b[0m arr = [\n 2 │\u001b[0m \t{a.b = [{c.d = 1}]}\n 3 │\u001b[0m ]\n\n output from parser-cmd (PID 1662731) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/multiline\n line 1: invalid value \"{ a = 1, b = \\\"\\\"\\\"\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662732):\n 1 │\u001b[0m tbl_multiline = { a = 1, b = \"\"\"\n 2 │\u001b[0m multiline\n 3 │\u001b[0m \"\"\", c = \"\"\"and yet\n 4 │\u001b[0m another line\"\"\", d = 4 }\n\n output from parser-cmd (PID 1662732) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{ a = 1, b = \\\"\\\"\\\"\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/nest\n line 1: invalid value \"{ tbl_0 = {} }\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662763):\n 1 │\u001b[0m tbl_tbl_empty = { tbl_0 = {} }\n 2 │\u001b[0m tbl_tbl_val = { tbl_1 = { one = 1 } }\n 3 │\u001b[0m tbl_arr_tbl = { arr_tbl = [ { one = 1 } ] }\n 4 │\u001b[0m arr_tbl_tbl = [ { tbl = { one = 1 } } ]\n 5 │\u001b[0m\n 6 │\u001b[0m # Array-of-array-of-table is interesting because it can only\n 7 │\u001b[0m # be represented in inline form.\n 8 │\u001b[0m arr_arr_tbl_empty = [ [ {} ] ]\n 9 │\u001b[0m arr_arr_tbl_val = [ [ { one = 1 } ] ]\n 10 │\u001b[0m arr_arr_tbls = [ [ { one = 1 }, { two = 2 } ] ]\n\n output from parser-cmd (PID 1662763) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{ tbl_0 = {} }\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/inline-table/spaces\n line 2: invalid value \"{ version = \\\"4\\\" , features = [\\\"derive\\\", \\\"cargo\\\"] }\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662840):\n 1 │\u001b[0m # https://github.com/toml-lang/toml-test/issues/146\n 2 │\u001b[0m clap-1 = { version = \"4\" , features = [\"derive\", \"cargo\"] }\n 3 │\u001b[0m\n 4 │\u001b[0m # Contains some literal tabs!\n 5 │\u001b[0m clap-2 = { version = \"4\"\t \t,\t \tfeatures = [ \"derive\" \t , \t \"cargo\" ] , nest = { \t \"a\" = 'x' , \t 'b' = [ 1.5 , 9.0 ] } }\n\n output from parser-cmd (PID 1662840) (stderr):\n 1 │\u001b[0m line 2: invalid value \"{ version = \\\"4\\\" , features = [\\\"derive\\\", \\\"cargo\\\"] }\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/integer/float64-max\n line 3: invalid value \"9_007_199_254_740_991\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662839):\n 1 │\u001b[0m # Maximum and minimum safe float64 natural numbers. Mainly here for\n 2 │\u001b[0m # -int-as-float.\n 3 │\u001b[0m max_int = 9_007_199_254_740_991\n 4 │\u001b[0m min_int = -9_007_199_254_740_991\n\n output from parser-cmd (PID 1662839) (stderr):\n 1 │\u001b[0m line 3: invalid value \"9_007_199_254_740_991\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/integer/integer\n Values for key \"posanswer\" don't match:\n Expected: 42\n Your encoder: +42\n\n input sent to parser-cmd (PID 1662772):\n 1 │\u001b[0m answer = 42\n 2 │\u001b[0m posanswer = +42\n 3 │\u001b[0m neganswer = -42\n 4 │\u001b[0m zero = 0\n\n output from parser-cmd (PID 1662772) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"answer\": {\"type\": \"integer\", \"value\": \"42\"},\n 3 │\u001b[0m \"neganswer\": {\"type\": \"integer\", \"value\": \"-42\"},\n 4 │\u001b[0m \"posanswer\": {\"type\": \"integer\", \"value\": \"+42\"},\n 5 │\u001b[0m \"zero\": {\"type\": \"integer\", \"value\": \"0\"}\n 6 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"answer\": {\"type\": \"integer\", \"value\": \"42\"},\n 3 │\u001b[0m \"neganswer\": {\"type\": \"integer\", \"value\": \"-42\"},\n 4 │\u001b[0m \"posanswer\": {\"type\": \"integer\", \"value\": \"42\"},\n 5 │\u001b[0m \"zero\": {\"type\": \"integer\", \"value\": \"0\"}\n 6 │\u001b[0m }\n\nFAIL valid/integer/literals\n line 1: invalid value \"0b11010110\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662773):\n 1 │\u001b[0m bin1 = 0b11010110\n 2 │\u001b[0m bin2 = 0b1_0_1\n 3 │\u001b[0m\n 4 │\u001b[0m oct1 = 0o01234567\n 5 │\u001b[0m oct2 = 0o755\n 6 │\u001b[0m oct3 = 0o7_6_5\n 7 │\u001b[0m\n 8 │\u001b[0m hex1 = 0xDEADBEEF\n 9 │\u001b[0m hex2 = 0xdeadbeef\n 10 │\u001b[0m hex3 = 0xdead_beef\n 11 │\u001b[0m hex4 = 0x00987\n\n output from parser-cmd (PID 1662773) (stderr):\n 1 │\u001b[0m line 1: invalid value \"0b11010110\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/integer/underscore\n line 1: invalid value \"1_000\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662776):\n 1 │\u001b[0m kilo = 1_000\n 2 │\u001b[0m x = 1_1_1_1\n\n output from parser-cmd (PID 1662776) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1_000\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/integer/zero\n line 5: invalid value \"0x0\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662777):\n 1 │\u001b[0m d1 = 0\n 2 │\u001b[0m d2 = +0\n 3 │\u001b[0m d3 = -0\n 4 │\u001b[0m\n 5 │\u001b[0m h1 = 0x0\n 6 │\u001b[0m h2 = 0x00\n 7 │\u001b[0m h3 = 0x00000\n 8 │\u001b[0m\n 9 │\u001b[0m o1 = 0o0\n 10 │\u001b[0m a2 = 0o00\n 11 │\u001b[0m a3 = 0o00000\n 12 │\u001b[0m\n 13 │\u001b[0m b1 = 0b0\n 14 │\u001b[0m b2 = 0b00\n 15 │\u001b[0m b3 = 0b00000\n\n output from parser-cmd (PID 1662777) (stderr):\n 1 │\u001b[0m line 5: invalid value \"0x0\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/alphanum\n line 10: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662778):\n 1 │\u001b[0m alpha = \"a\"\n 2 │\u001b[0m 123 = \"num\"\n 3 │\u001b[0m 000111 = \"leading\"\n 4 │\u001b[0m 10e3 = \"false float\"\n 5 │\u001b[0m one1two2 = \"mixed\"\n 6 │\u001b[0m with-dash = \"dashed\"\n 7 │\u001b[0m under_score = \"___\"\n 8 │\u001b[0m 34-11 = 23\n 9 │\u001b[0m\n 10 │\u001b[0m [2018_10]\n 11 │\u001b[0m 001 = 1\n 12 │\u001b[0m\n 13 │\u001b[0m [a-a-a]\n 14 │\u001b[0m _ = false\n\n output from parser-cmd (PID 1662778) (stderr):\n 1 │\u001b[0m line 10: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/case-sensitive\n line 3: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662779):\n 1 │\u001b[0m sectioN = \"NN\"\n 2 │\u001b[0m\n 3 │\u001b[0m [section]\n 4 │\u001b[0m name = \"lower\"\n 5 │\u001b[0m NAME = \"upper\"\n 6 │\u001b[0m Name = \"capitalized\"\n 7 │\u001b[0m\n 8 │\u001b[0m [Section]\n 9 │\u001b[0m name = \"different section!!\"\n 10 │\u001b[0m \"μ\" = \"greek small letter mu\"\n 11 │\u001b[0m \"Μ\" = \"greek capital letter MU\"\n 12 │\u001b[0m M = \"latin letter M\"\n\n output from parser-cmd (PID 1662779) (stderr):\n 1 │\u001b[0m line 3: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/dotted-01\n Could not find key \"many\" in parser output.\n\n input sent to parser-cmd (PID 1662780):\n 1 │\u001b[0m name.first = \"Arthur\"\n 2 │\u001b[0m \"name\".'last' = \"Dent\"\n 3 │\u001b[0m\n 4 │\u001b[0m many.dots.dot.dot.dot = 42\n\n output from parser-cmd (PID 1662780) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"name\\\".'last'\": {\"type\": \"string\", \"value\": \"Dent\"},\n 3 │\u001b[0m \"many.dots.dot.dot.dot\": {\"type\": \"integer\", \"value\": \"42\"},\n 4 │\u001b[0m \"name.first\": {\"type\": \"string\", \"value\": \"Arthur\"}\n 5 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"many\": {\n 3 │\u001b[0m \"dots\": {\n 4 │\u001b[0m \"dot\": {\n 5 │\u001b[0m \"dot\": {\n 6 │\u001b[0m \"dot\": {\"type\": \"integer\", \"value\": \"42\"}\n 7 │\u001b[0m }\n 8 │\u001b[0m }\n 9 │\u001b[0m }\n 10 │\u001b[0m },\n 11 │\u001b[0m \"name\": {\n 12 │\u001b[0m \"first\": {\"type\": \"string\", \"value\": \"Arthur\"},\n 13 │\u001b[0m \"last\": {\"type\": \"string\", \"value\": \"Dent\"}\n 14 │\u001b[0m }\n 15 │\u001b[0m }\n\nFAIL valid/key/dotted-02\n Could not find key \"count\" in parser output.\n\n input sent to parser-cmd (PID 1662781):\n 1 │\u001b[0m # Note: this file contains literal tab characters.\n 2 │\u001b[0m\n 3 │\u001b[0m # Space are ignored, and key parts can be quoted.\n 4 │\u001b[0m count.a = 1\n 5 │\u001b[0m count . b = 2\n 6 │\u001b[0m \"count\".\"c\" = 3\n 7 │\u001b[0m \"count\" . \"d\" = 4\n 8 │\u001b[0m 'count'.'e' = 5\n 9 │\u001b[0m 'count' . 'f' = 6\n 10 │\u001b[0m \"count\".'g' = 7\n 11 │\u001b[0m \"count\" . 'h' = 8\n 12 │\u001b[0m count.'i' = 9\n 13 │\u001b[0m count \t.\t 'j'\t = 10\n 14 │\u001b[0m \"count\".k = 11\n 15 │\u001b[0m \"count\" . l = 12\n\n output from parser-cmd (PID 1662781) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"count\\\" . \\\"d\\\"\": {\"type\": \"integer\", \"value\": \"4\"},\n 3 │\u001b[0m \"\\\"count\\\" . 'h'\": {\"type\": \"integer\", \"value\": \"8\"},\n 4 │\u001b[0m \"\\\"count\\\" . l\": {\"type\": \"integer\", \"value\": \"12\"},\n 5 │\u001b[0m \"\\\"count\\\".\\\"c\\\"\": {\"type\": \"integer\", \"value\": \"3\"},\n 6 │\u001b[0m \"\\\"count\\\".'g'\": {\"type\": \"integer\", \"value\": \"7\"},\n 7 │\u001b[0m \"\\\"count\\\".k\": {\"type\": \"integer\", \"value\": \"11\"},\n 8 │\u001b[0m \"'count' . 'f'\": {\"type\": \"integer\", \"value\": \"6\"},\n 9 │\u001b[0m \"'count'.'e'\": {\"type\": \"integer\", \"value\": \"5\"},\n 10 │\u001b[0m \"count \\t.\\t 'j'\": {\"type\": \"integer\", \"value\": \"10\"},\n 11 │\u001b[0m \"count . b\": {\"type\": \"integer\", \"value\": \"2\"},\n 12 │\u001b[0m \"count.'i'\": {\"type\": \"integer\", \"value\": \"9\"},\n 13 │\u001b[0m \"count.a\": {\"type\": \"integer\", \"value\": \"1\"}\n 14 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"count\": {\n 3 │\u001b[0m \"a\": {\"type\": \"integer\", \"value\": \"1\"},\n 4 │\u001b[0m \"b\": {\"type\": \"integer\", \"value\": \"2\"},\n 5 │\u001b[0m \"c\": {\"type\": \"integer\", \"value\": \"3\"},\n 6 │\u001b[0m \"d\": {\"type\": \"integer\", \"value\": \"4\"},\n 7 │\u001b[0m \"e\": {\"type\": \"integer\", \"value\": \"5\"},\n 8 │\u001b[0m \"f\": {\"type\": \"integer\", \"value\": \"6\"},\n 9 │\u001b[0m \"g\": {\"type\": \"integer\", \"value\": \"7\"},\n 10 │\u001b[0m \"h\": {\"type\": \"integer\", \"value\": \"8\"},\n 11 │\u001b[0m \"i\": {\"type\": \"integer\", \"value\": \"9\"},\n 12 │\u001b[0m \"j\": {\"type\": \"integer\", \"value\": \"10\"},\n 13 │\u001b[0m \"k\": {\"type\": \"integer\", \"value\": \"11\"},\n 14 │\u001b[0m \"l\": {\"type\": \"integer\", \"value\": \"12\"}\n 15 │\u001b[0m }\n 16 │\u001b[0m }\n\nFAIL valid/key/dotted-03\n line 3: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662813):\n 1 │\u001b[0m top.key = 1\n 2 │\u001b[0m\n 3 │\u001b[0m [tbl]\n 4 │\u001b[0m a.b.c = 42.666\n 5 │\u001b[0m\n 6 │\u001b[0m [a.few.dots]\n 7 │\u001b[0m polka.dot = \"again?\"\n 8 │\u001b[0m polka.dance-with = \"Dot\"\n\n output from parser-cmd (PID 1662813) (stderr):\n 1 │\u001b[0m line 3: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/dotted-04\n line 3: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662817):\n 1 │\u001b[0m top.key = 1\n 2 │\u001b[0m\n 3 │\u001b[0m [[arr]]\n 4 │\u001b[0m a.b.c=1\n 5 │\u001b[0m a.b.d=2\n 6 │\u001b[0m\n 7 │\u001b[0m [[arr]]\n 8 │\u001b[0m a.b.c=3\n 9 │\u001b[0m a.b.d=4\n\n output from parser-cmd (PID 1662817) (stderr):\n 1 │\u001b[0m line 3: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/dotted-empty\n line 3: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662812):\n 1 │\u001b[0m ''.x = \"empty.x\"\n 2 │\u001b[0m x.\"\" = \"x.empty\"\n 3 │\u001b[0m [a]\n 4 │\u001b[0m \"\".'' = \"empty.empty\"\n\n output from parser-cmd (PID 1662812) (stderr):\n 1 │\u001b[0m line 3: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/empty-01\n Could not find key \"\" in parser output.\n\n input sent to parser-cmd (PID 1662941):\n 1 │\u001b[0m \"\" = \"blank\"\n\n output from parser-cmd (PID 1662941) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"\\\"\": {\"type\": \"string\", \"value\": \"blank\"}\n 3 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\": {\"type\": \"string\", \"value\": \"blank\"}\n 3 │\u001b[0m }\n\nFAIL valid/key/empty-02\n Could not find key \"\" in parser output.\n\n input sent to parser-cmd (PID 1662828):\n 1 │\u001b[0m '' = \"blank\"\n\n output from parser-cmd (PID 1662828) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"''\": {\"type\": \"string\", \"value\": \"blank\"}\n 3 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\": {\"type\": \"string\", \"value\": \"blank\"}\n 3 │\u001b[0m }\n\nFAIL valid/key/empty-03\n Could not find key \"\" in parser output.\n\n input sent to parser-cmd (PID 1662829):\n 1 │\u001b[0m ''=0\n\n output from parser-cmd (PID 1662829) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"''\": {\"type\": \"integer\", \"value\": \"0\"}\n 3 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\": {\"type\": \"integer\", \"value\": \"0\"}\n 3 │\u001b[0m }\n\nFAIL valid/key/escapes\n line 6: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662838):\n 1 │\u001b[0m \"\\n\" = \"newline\"\n 2 │\u001b[0m \"\\b\" = \"bell\"\n 3 │\u001b[0m \"\\u00c0\" = \"latin capital letter A with grave\"\n 4 │\u001b[0m \"\\\"\" = \"just a quote\"\n 5 │\u001b[0m\n 6 │\u001b[0m [\"backsp\\b\\b\"]\n 7 │\u001b[0m\n 8 │\u001b[0m [\"\\\"quoted\\\"\"]\n 9 │\u001b[0m quote = true\n 10 │\u001b[0m\n 11 │\u001b[0m [\"a.b\".\"\\u00c0\"]\n\n output from parser-cmd (PID 1662838) (stderr):\n 1 │\u001b[0m line 6: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/like-date\n line 18: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662841):\n 1 │\u001b[0m # '-' is a valid character in keys: make a key that looks like a date.\n 2 │\u001b[0m 2001-02-03 = 1\n 3 │\u001b[0m \"2001-02-04\" = 2\n 4 │\u001b[0m '2001-02-05' = 3\n 5 │\u001b[0m\n 6 │\u001b[0m # Also include datetime and time for good measure; these need to be quoted as\n 7 │\u001b[0m # ':' isn't a valid bare key.\n 8 │\u001b[0m \"2001-02-06T15:16:17+01:00\" = 4\n 9 │\u001b[0m \"2001-02-07T15:16:17\" = 5\n 10 │\u001b[0m \"15:16:17\" = 6\n 11 │\u001b[0m\n 12 │\u001b[0m # Dotted keys\n 13 │\u001b[0m a.2001-02-08 = 7\n 14 │\u001b[0m a.2001-02-09.2001-02-10 = 8\n 15 │\u001b[0m 2001-02-11.a.2001-02-12 = 9\n 16 │\u001b[0m\n 17 │\u001b[0m # Table names\n 18 │\u001b[0m [2002-01-02]\n 19 │\u001b[0m k = 10\n 20 │\u001b[0m\n 21 │\u001b[0m [2002-01-02.2024-01-03]\n 22 │\u001b[0m k = 11\n 23 │\u001b[0m\n 24 │\u001b[0m [[2002-01-04]]\n 25 │\u001b[0m k = 12\n\n output from parser-cmd (PID 1662841) (stderr):\n 1 │\u001b[0m line 18: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/numeric-02\n Could not find key \"1\" in parser output.\n\n input sent to parser-cmd (PID 1662843):\n 1 │\u001b[0m 1.2 = true\n\n output from parser-cmd (PID 1662843) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"1.2\": {\"type\": \"bool\", \"value\": \"true\"}\n 3 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"1\": {\n 3 │\u001b[0m \"2\": {\"type\": \"bool\", \"value\": \"true\"}\n 4 │\u001b[0m }\n 5 │\u001b[0m }\n\nFAIL valid/key/numeric-04\n Could not find key \"01\" in parser output.\n\n input sent to parser-cmd (PID 1662877):\n 1 │\u001b[0m 01.23 = true\n\n output from parser-cmd (PID 1662877) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"01.23\": {\"type\": \"bool\", \"value\": \"true\"}\n 3 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"01\": {\n 3 │\u001b[0m \"23\": {\"type\": \"bool\", \"value\": \"true\"}\n 4 │\u001b[0m }\n 5 │\u001b[0m }\n\nFAIL valid/key/numeric-05\n Could not find key \"23\" in parser output.\n\n input sent to parser-cmd (PID 1662875):\n 1 │\u001b[0m 23.01 = true\n\n output from parser-cmd (PID 1662875) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"23.01\": {\"type\": \"bool\", \"value\": \"true\"}\n 3 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"23\": {\n 3 │\u001b[0m \"01\": {\"type\": \"bool\", \"value\": \"true\"}\n 4 │\u001b[0m }\n 5 │\u001b[0m }\n\nFAIL valid/key/quoted-dots\n line 4: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662897):\n 1 │\u001b[0m plain = 1\n 2 │\u001b[0m \"with.dot\" = 2\n 3 │\u001b[0m\n 4 │\u001b[0m [plain_table]\n 5 │\u001b[0m plain = 3\n 6 │\u001b[0m \"with.dot\" = 4\n 7 │\u001b[0m\n 8 │\u001b[0m [table.withdot]\n 9 │\u001b[0m plain = 5\n 10 │\u001b[0m \"key.with.dots\" = 6\n 11 │\u001b[0m \"escaped\\u002edot\" = 7\n\n output from parser-cmd (PID 1662897) (stderr):\n 1 │\u001b[0m line 4: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/quoted-unicode\n Could not find key \"\\x00\" in parser output.\n\n input sent to parser-cmd (PID 1662900):\n 1 │\u001b[0m\n 2 │\u001b[0m \"\\u0000\" = \"null\"\n 3 │\u001b[0m '\\u0000' = \"different key\"\n 4 │\u001b[0m \"\\u0008 \\u000c \\U00000041 \\u007f \\u0080 \\u00ff \\ud7ff \\ue000 \\uffff \\U00010000 \\U0010ffff\" = \"escaped key\"\n 5 │\u001b[0m\n 6 │\u001b[0m \"~ ÿ 𐀀 \" = \"basic key\"\n 7 │\u001b[0m 'l ~ ÿ 𐀀 ' = \"literal key\"\n\n output from parser-cmd (PID 1662900) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"\\\\u0000\\\"\": {\"type\": \"string\", \"value\": \"null\"},\n 3 │\u001b[0m \"\\\"\\\\u0008 \\\\u000c \\\\U00000041 \\\\u007f \\\\u0080 \\\\u00ff \\\\ud7ff \\\\ue000 \\\\uffff \\\\U00010000 \\\\U0010ffff\\\"\": {\"type\": \"string\", \"value\": \"escaped key\"},\n 4 │\u001b[0m \"\\\"~ ÿ 𐀀 \\\"\": {\"type\": \"string\", \"value\": \"basic key\"},\n 5 │\u001b[0m \"'\\\\u0000'\": {\"type\": \"string\", \"value\": \"different key\"},\n 6 │\u001b[0m \"'l ~ ÿ 𐀀 '\": {\"type\": \"string\", \"value\": \"literal key\"}\n 7 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\u0000\": {\"type\": \"string\", \"value\": \"null\"},\n 3 │\u001b[0m \"\\b \\f A ÿ 𐀀 \": {\"type\": \"string\", \"value\": \"escaped key\"},\n 4 │\u001b[0m \"\\\\u0000\": {\"type\": \"string\", \"value\": \"different key\"},\n 5 │\u001b[0m \"l ~ ÿ 𐀀 \": {\"type\": \"string\", \"value\": \"literal key\"},\n 6 │\u001b[0m \"~ ÿ 𐀀 \": {\"type\": \"string\", \"value\": \"basic key\"}\n 7 │\u001b[0m }\n\nFAIL valid/key/space\n line 6: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662903):\n 1 │\u001b[0m # Keep whitespace inside quotes keys at all positions.\n 2 │\u001b[0m \"a b\" = 1\n 3 │\u001b[0m \" c d \" = 2\n 4 │\u001b[0m \" much \t\t whitespace \t\\n \\r\\n \" = 3\n 5 │\u001b[0m\n 6 │\u001b[0m [ \" tbl \" ]\n 7 │\u001b[0m \"\\ttab\\ttab\\t\" = \"tab\"\n\n output from parser-cmd (PID 1662903) (stderr):\n 1 │\u001b[0m line 6: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/special-chars\n line 1: invalid value \"~!@$^&*()_+-`1234567890[]|/?><.,;:'=\\\" = 1\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662905):\n 1 │\u001b[0m \"=~!@$^&*()_+-`1234567890[]|/?><.,;:'=\" = 1\n\n output from parser-cmd (PID 1662905) (stderr):\n 1 │\u001b[0m line 1: invalid value \"~!@$^&*()_+-`1234567890[]|/?><.,;:'=\\\" = 1\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/key/start\n line 4: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662910):\n 1 │\u001b[0m # Table and keys can start with any character; there is no requirement for it to\n 2 │\u001b[0m # start with a letter.\n 3 │\u001b[0m\n 4 │\u001b[0m [-key]\n 5 │\u001b[0m -key = 1\n 6 │\u001b[0m\n 7 │\u001b[0m [_key]\n 8 │\u001b[0m _key = 2\n 9 │\u001b[0m\n 10 │\u001b[0m [1key]\n 11 │\u001b[0m 1key = 3\n 12 │\u001b[0m\n 13 │\u001b[0m [-]\n 14 │\u001b[0m - = 4\n 15 │\u001b[0m\n 16 │\u001b[0m [_]\n 17 │\u001b[0m _ = 5\n 18 │\u001b[0m\n 19 │\u001b[0m [1]\n 20 │\u001b[0m 1 = 6\n 21 │\u001b[0m\n 22 │\u001b[0m [---]\n 23 │\u001b[0m --- = 7\n 24 │\u001b[0m\n 25 │\u001b[0m [___]\n 26 │\u001b[0m ___ = 8\n 27 │\u001b[0m\n 28 │\u001b[0m [111]\n 29 │\u001b[0m 111 = 9\n 30 │\u001b[0m\n 31 │\u001b[0m [inline]\n 32 │\u001b[0m --- = {--- = 10, ___ = 11, 111 = 12}\n\n output from parser-cmd (PID 1662910) (stderr):\n 1 │\u001b[0m line 4: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/multibyte\n line 6: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662962):\n 1 │\u001b[0m # Test multibyte throughout\n 2 │\u001b[0m\n 3 │\u001b[0m # Tèƨƭ ƒïℓè ƒôř TÓM£\n 4 │\u001b[0m # Óñℓ¥ ƭλïƨ ôñè ƭřïèƨ ƭô è₥úℓáƭè á TÓM£ ƒïℓè ωřïƭƭèñ β¥ á úƨèř ôƒ ƭλè ƙïñδ ôƒ ƥářƨèř ωřïƭèřƨ ƥřôβáβℓ¥ λáƭè\n 5 │\u001b[0m\n 6 │\u001b[0m ['𝐭𝐛𝐥']\n 7 │\u001b[0m string = \"𝓼𝓽𝓻𝓲𝓷𝓰 - #\" # \" 𝓼𝓽𝓻𝓲𝓷𝓰\n 8 │\u001b[0m \t['𝐭𝐛𝐥'.sub]\n 9 │\u001b[0m \t'𝕒𝕣𝕣𝕒𝕪' = [ \"] \", \" # \"] # ] 𝓪𝓻𝓻𝓪𝔂\n 10 │\u001b[0m \t'𝕒𝕣𝕣𝕒𝕪𝟚' = [ \"Tèƨƭ #11 ]ƥřôƲèδ ƭλáƭ\", \"Éжƥèřï₥èñƭ #9 ωáƨ á ƨúççèƨƨ\" ]\n 11 │\u001b[0m \t# Ýôú δïδñ'ƭ ƭλïñƙ ïƭ'δ áƨ èáƨ¥ áƨ çλúçƙïñϱ ôúƭ ƭλè ℓáƨƭ #, δïδ ¥ôú?\n 12 │\u001b[0m \tanother_test_string = \"§á₥è ƭλïñϱ, βúƭ ωïƭλ á ƨƭřïñϱ #\"\n 13 │\u001b[0m \tescapes = \" Âñδ ωλèñ \\\"'ƨ ářè ïñ ƭλè ƨƭřïñϱ, áℓôñϱ ωïƭλ # \\\"\" # \"áñδ çô₥₥èñƭƨ ářè ƭλèřè ƭôô\"\n 14 │\u001b[0m \t# Tλïñϱƨ ωïℓℓ ϱèƭ λářδèř\n 15 │\u001b[0m \t\t['𝐭𝐛𝐥'.sub.\"βïƭ#\"]\n 16 │\u001b[0m \t\t\"ωλáƭ?\" = \"Ýôú δôñ'ƭ ƭλïñƙ ƨô₥è úƨèř ωôñ'ƭ δô ƭλáƭ?\"\n 17 │\u001b[0m \t\tmulti_line_array = [\n 18 │\u001b[0m \t\t\t\"]\",\n 19 │\u001b[0m \t\t\t# ] Óλ ¥èƨ Ì δïδ\n 20 │\u001b[0m \t\t\t]\n\n output from parser-cmd (PID 1662962) (stderr):\n 1 │\u001b[0m line 6: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/array-0\n line 1: invalid value \"[ 1, 2, 3 ]\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663025):\n 1 │\u001b[0m integers = [ 1, 2, 3 ]\n 2 │\u001b[0m colors = [ \"red\", \"yellow\", \"green\" ]\n 3 │\u001b[0m nested_arrays_of_ints = [ [ 1, 2 ], [3, 4, 5] ]\n 4 │\u001b[0m nested_mixed_array = [ [ 1, 2 ], [\"a\", \"b\", \"c\"] ]\n 5 │\u001b[0m string_array = [ \"all\", 'strings', \"\"\"are the same\"\"\", '''type''' ]\n 6 │\u001b[0m\n 7 │\u001b[0m # Mixed-type arrays are allowed\n 8 │\u001b[0m numbers = [ 0.1, 0.2, 0.5, 1, 2, 5 ]\n 9 │\u001b[0m contributors = [\n 10 │\u001b[0m \"Foo Bar <foo@example.com>\",\n 11 │\u001b[0m { name = \"Baz Qux\", email = \"bazqux@example.com\", url = \"https://example.com/bazqux\" }\n 12 │\u001b[0m ]\n\n output from parser-cmd (PID 1663025) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[ 1, 2, 3 ]\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/array-1\n line 1: invalid value \"[\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663140):\n 1 │\u001b[0m integers2 = [\n 2 │\u001b[0m 1, 2, 3\n 3 │\u001b[0m ]\n 4 │\u001b[0m\n 5 │\u001b[0m integers3 = [\n 6 │\u001b[0m 1,\n 7 │\u001b[0m 2, # this is ok\n 8 │\u001b[0m ]\n\n output from parser-cmd (PID 1663140) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/array-of-tables-0\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662957):\n 1 │\u001b[0m [[products]]\n 2 │\u001b[0m name = \"Hammer\"\n 3 │\u001b[0m sku = 738594937\n 4 │\u001b[0m\n 5 │\u001b[0m [[products]] # empty table within the array\n 6 │\u001b[0m\n 7 │\u001b[0m [[products]]\n 8 │\u001b[0m name = \"Nail\"\n 9 │\u001b[0m sku = 284758393\n 10 │\u001b[0m\n 11 │\u001b[0m color = \"gray\"\n\n output from parser-cmd (PID 1662957) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/array-of-tables-1\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662958):\n 1 │\u001b[0m [[fruits]]\n 2 │\u001b[0m name = \"apple\"\n 3 │\u001b[0m\n 4 │\u001b[0m [fruits.physical] # subtable\n 5 │\u001b[0m color = \"red\"\n 6 │\u001b[0m shape = \"round\"\n 7 │\u001b[0m\n 8 │\u001b[0m [[fruits.varieties]] # nested array of tables\n 9 │\u001b[0m name = \"red delicious\"\n 10 │\u001b[0m\n 11 │\u001b[0m [[fruits.varieties]]\n 12 │\u001b[0m name = \"granny smith\"\n 13 │\u001b[0m\n 14 │\u001b[0m\n 15 │\u001b[0m [[fruits]]\n 16 │\u001b[0m name = \"banana\"\n 17 │\u001b[0m\n 18 │\u001b[0m [[fruits.varieties]]\n 19 │\u001b[0m name = \"plantain\"\n\n output from parser-cmd (PID 1662958) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/array-of-tables-2\n line 1: invalid value \"[ { x = 1, y = 2, z = 3 },\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662959):\n 1 │\u001b[0m points = [ { x = 1, y = 2, z = 3 },\n 2 │\u001b[0m { x = 7, y = 8, z = 9 },\n 3 │\u001b[0m { x = 2, y = 4, z = 8 } ]\n\n output from parser-cmd (PID 1662959) (stderr):\n 1 │\u001b[0m line 1: invalid value \"[ { x = 1, y = 2, z = 3 },\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/comment-0\n line 3: invalid value \"\\\"\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662966):\n 1 │\u001b[0m # This is a full-line comment\n 2 │\u001b[0m key = \"value\" # This is a comment at the end of a line\n 3 │\u001b[0m another = \"# This is not a comment\"\n\n output from parser-cmd (PID 1662966) (stderr):\n 1 │\u001b[0m line 3: invalid value \"\\\"\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/float-0\n line 2: invalid value \"+1.0\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662967):\n 1 │\u001b[0m # fractional\n 2 │\u001b[0m flt1 = +1.0\n 3 │\u001b[0m flt2 = 3.1415\n 4 │\u001b[0m flt3 = -0.01\n 5 │\u001b[0m\n 6 │\u001b[0m # exponent\n 7 │\u001b[0m flt4 = 5e+22\n 8 │\u001b[0m flt5 = 1e06\n 9 │\u001b[0m flt6 = -2E-2\n 10 │\u001b[0m\n 11 │\u001b[0m # both\n 12 │\u001b[0m flt7 = 6.626e-34\n\n output from parser-cmd (PID 1662967) (stderr):\n 1 │\u001b[0m line 2: invalid value \"+1.0\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/float-1\n line 1: invalid value \"224_617.445_991_228\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663030):\n 1 │\u001b[0m flt8 = 224_617.445_991_228\n\n output from parser-cmd (PID 1663030) (stderr):\n 1 │\u001b[0m line 1: invalid value \"224_617.445_991_228\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/float-2\n line 2: invalid value \"inf\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1662997):\n 1 │\u001b[0m # infinity\n 2 │\u001b[0m sf1 = inf # positive infinity\n 3 │\u001b[0m sf2 = +inf # positive infinity\n 4 │\u001b[0m sf3 = -inf # negative infinity\n 5 │\u001b[0m\n 6 │\u001b[0m # not a number\n 7 │\u001b[0m sf4 = nan # actual sNaN/qNaN encoding is implementation-specific\n 8 │\u001b[0m sf5 = +nan # same as `nan`\n 9 │\u001b[0m sf6 = -nan # valid, actual encoding is implementation-specific\n\n output from parser-cmd (PID 1662997) (stderr):\n 1 │\u001b[0m line 2: invalid value \"inf\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/inline-table-0\n line 1: invalid value \"{ first = \\\"Tom\\\", last = \\\"Preston-Werner\\\" }\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663022):\n 1 │\u001b[0m name = { first = \"Tom\", last = \"Preston-Werner\" }\n 2 │\u001b[0m point = { x = 1, y = 2 }\n 3 │\u001b[0m animal = { type.name = \"pug\" }\n\n output from parser-cmd (PID 1663022) (stderr):\n 1 │\u001b[0m line 1: invalid value \"{ first = \\\"Tom\\\", last = \\\"Preston-Werner\\\" }\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/inline-table-1\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662998):\n 1 │\u001b[0m [name]\n 2 │\u001b[0m first = \"Tom\"\n 3 │\u001b[0m last = \"Preston-Werner\"\n 4 │\u001b[0m\n 5 │\u001b[0m [point]\n 6 │\u001b[0m x = 1\n 7 │\u001b[0m y = 2\n 8 │\u001b[0m\n 9 │\u001b[0m [animal]\n 10 │\u001b[0m type.name = \"pug\"\n\n output from parser-cmd (PID 1662998) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/inline-table-2\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663029):\n 1 │\u001b[0m [product]\n 2 │\u001b[0m type = { name = \"Nail\" }\n 3 │\u001b[0m # type.edible = false # INVALID\n\n output from parser-cmd (PID 1663029) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/inline-table-3\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1662999):\n 1 │\u001b[0m [product]\n 2 │\u001b[0m type.name = \"Nail\"\n 3 │\u001b[0m # type = { edible = false } # INVALID\n\n output from parser-cmd (PID 1662999) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/integer-0\n Values for key \"int1\" don't match:\n Expected: 99\n Your encoder: +99\n\n input sent to parser-cmd (PID 1663084):\n 1 │\u001b[0m int1 = +99\n 2 │\u001b[0m int2 = 42\n 3 │\u001b[0m int3 = 0\n 4 │\u001b[0m int4 = -17\n\n output from parser-cmd (PID 1663084) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"int1\": {\"type\": \"integer\", \"value\": \"+99\"},\n 3 │\u001b[0m \"int2\": {\"type\": \"integer\", \"value\": \"42\"},\n 4 │\u001b[0m \"int3\": {\"type\": \"integer\", \"value\": \"0\"},\n 5 │\u001b[0m \"int4\": {\"type\": \"integer\", \"value\": \"-17\"}\n 6 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"int1\": {\"type\": \"integer\", \"value\": \"99\"},\n 3 │\u001b[0m \"int2\": {\"type\": \"integer\", \"value\": \"42\"},\n 4 │\u001b[0m \"int3\": {\"type\": \"integer\", \"value\": \"0\"},\n 5 │\u001b[0m \"int4\": {\"type\": \"integer\", \"value\": \"-17\"}\n 6 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/integer-1\n line 1: invalid value \"1_000\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663000):\n 1 │\u001b[0m int5 = 1_000\n 2 │\u001b[0m int6 = 5_349_221\n 3 │\u001b[0m int7 = 53_49_221 # Indian number system grouping\n 4 │\u001b[0m int8 = 1_2_3_4_5 # VALID but discouraged\n\n output from parser-cmd (PID 1663000) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1_000\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/integer-2\n line 2: invalid value \"0xDEADBEEF\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663157):\n 1 │\u001b[0m # hexadecimal with prefix `0x`\n 2 │\u001b[0m hex1 = 0xDEADBEEF\n 3 │\u001b[0m hex2 = 0xdeadbeef\n 4 │\u001b[0m hex3 = 0xdead_beef\n 5 │\u001b[0m\n 6 │\u001b[0m # octal with prefix `0o`\n 7 │\u001b[0m oct1 = 0o01234567\n 8 │\u001b[0m oct2 = 0o755 # useful for Unix file permissions\n 9 │\u001b[0m\n 10 │\u001b[0m # binary with prefix `0b`\n 11 │\u001b[0m bin1 = 0b11010110\n\n output from parser-cmd (PID 1663157) (stderr):\n 1 │\u001b[0m line 2: invalid value \"0xDEADBEEF\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/keys-1\n Could not find key \"127.0.0.1\" in parser output.\n\n input sent to parser-cmd (PID 1663031):\n 1 │\u001b[0m \"127.0.0.1\" = \"value\"\n 2 │\u001b[0m \"character encoding\" = \"value\"\n 3 │\u001b[0m \"ʎǝʞ\" = \"value\"\n 4 │\u001b[0m 'key2' = \"value\"\n 5 │\u001b[0m 'quoted \"value\"' = \"value\"\n\n output from parser-cmd (PID 1663031) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"127.0.0.1\\\"\": {\"type\": \"string\", \"value\": \"value\"},\n 3 │\u001b[0m \"\\\"character encoding\\\"\": {\"type\": \"string\", \"value\": \"value\"},\n 4 │\u001b[0m \"\\\"ʎǝʞ\\\"\": {\"type\": \"string\", \"value\": \"value\"},\n 5 │\u001b[0m \"'key2'\": {\"type\": \"string\", \"value\": \"value\"},\n 6 │\u001b[0m \"'quoted \\\"value\\\"'\": {\"type\": \"string\", \"value\": \"value\"}\n 7 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"127.0.0.1\": {\"type\": \"string\", \"value\": \"value\"},\n 3 │\u001b[0m \"character encoding\": {\"type\": \"string\", \"value\": \"value\"},\n 4 │\u001b[0m \"key2\": {\"type\": \"string\", \"value\": \"value\"},\n 5 │\u001b[0m \"quoted \\\"value\\\"\": {\"type\": \"string\", \"value\": \"value\"},\n 6 │\u001b[0m \"ʎǝʞ\": {\"type\": \"string\", \"value\": \"value\"}\n 7 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/keys-3\n Could not find key \"physical\" in parser output.\n\n input sent to parser-cmd (PID 1663047):\n 1 │\u001b[0m name = \"Orange\"\n 2 │\u001b[0m physical.color = \"orange\"\n 3 │\u001b[0m physical.shape = \"round\"\n 4 │\u001b[0m site.\"google.com\" = true\n\n output from parser-cmd (PID 1663047) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"name\": {\"type\": \"string\", \"value\": \"Orange\"},\n 3 │\u001b[0m \"physical.color\": {\"type\": \"string\", \"value\": \"orange\"},\n 4 │\u001b[0m \"physical.shape\": {\"type\": \"string\", \"value\": \"round\"},\n 5 │\u001b[0m \"site.\\\"google.com\\\"\": {\"type\": \"bool\", \"value\": \"true\"}\n 6 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"name\": {\"type\": \"string\", \"value\": \"Orange\"},\n 3 │\u001b[0m \"physical\": {\n 4 │\u001b[0m \"color\": {\"type\": \"string\", \"value\": \"orange\"},\n 5 │\u001b[0m \"shape\": {\"type\": \"string\", \"value\": \"round\"}\n 6 │\u001b[0m },\n 7 │\u001b[0m \"site\": {\n 8 │\u001b[0m \"google.com\": {\"type\": \"bool\", \"value\": \"true\"}\n 9 │\u001b[0m }\n 10 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/keys-4\n Could not find key \"fruit\" in parser output.\n\n input sent to parser-cmd (PID 1663215):\n 1 │\u001b[0m fruit.name = \"banana\" # this is best practice\n 2 │\u001b[0m fruit. color = \"yellow\" # same as fruit.color\n 3 │\u001b[0m fruit . flavor = \"banana\" # same as fruit.flavor\n\n output from parser-cmd (PID 1663215) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"fruit . flavor\": {\"type\": \"string\", \"value\": \"banana\"},\n 3 │\u001b[0m \"fruit. color\": {\"type\": \"string\", \"value\": \"yellow\"},\n 4 │\u001b[0m \"fruit.name\": {\"type\": \"string\", \"value\": \"banana\"}\n 5 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"fruit\": {\n 3 │\u001b[0m \"color\": {\"type\": \"string\", \"value\": \"yellow\"},\n 4 │\u001b[0m \"flavor\": {\"type\": \"string\", \"value\": \"banana\"},\n 5 │\u001b[0m \"name\": {\"type\": \"string\", \"value\": \"banana\"}\n 6 │\u001b[0m }\n 7 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/keys-5\n Could not find key \"apple\" in parser output.\n\n input sent to parser-cmd (PID 1663077):\n 1 │\u001b[0m # VALID BUT DISCOURAGED\n 2 │\u001b[0m\n 3 │\u001b[0m apple.type = \"fruit\"\n 4 │\u001b[0m orange.type = \"fruit\"\n 5 │\u001b[0m\n 6 │\u001b[0m apple.skin = \"thin\"\n 7 │\u001b[0m orange.skin = \"thick\"\n 8 │\u001b[0m\n 9 │\u001b[0m apple.color = \"red\"\n 10 │\u001b[0m orange.color = \"orange\"\n\n output from parser-cmd (PID 1663077) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"apple.color\": {\"type\": \"string\", \"value\": \"red\"},\n 3 │\u001b[0m \"apple.skin\": {\"type\": \"string\", \"value\": \"thin\"},\n 4 │\u001b[0m \"apple.type\": {\"type\": \"string\", \"value\": \"fruit\"},\n 5 │\u001b[0m \"orange.color\": {\"type\": \"string\", \"value\": \"orange\"},\n 6 │\u001b[0m \"orange.skin\": {\"type\": \"string\", \"value\": \"thick\"},\n 7 │\u001b[0m \"orange.type\": {\"type\": \"string\", \"value\": \"fruit\"}\n 8 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"apple\": {\n 3 │\u001b[0m \"color\": {\"type\": \"string\", \"value\": \"red\"},\n 4 │\u001b[0m \"skin\": {\"type\": \"string\", \"value\": \"thin\"},\n 5 │\u001b[0m \"type\": {\"type\": \"string\", \"value\": \"fruit\"}\n 6 │\u001b[0m },\n 7 │\u001b[0m \"orange\": {\n 8 │\u001b[0m \"color\": {\"type\": \"string\", \"value\": \"orange\"},\n 9 │\u001b[0m \"skin\": {\"type\": \"string\", \"value\": \"thick\"},\n 10 │\u001b[0m \"type\": {\"type\": \"string\", \"value\": \"fruit\"}\n 11 │\u001b[0m }\n 12 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/keys-6\n Could not find key \"apple\" in parser output.\n\n input sent to parser-cmd (PID 1663137):\n 1 │\u001b[0m # RECOMMENDED\n 2 │\u001b[0m\n 3 │\u001b[0m apple.type = \"fruit\"\n 4 │\u001b[0m apple.skin = \"thin\"\n 5 │\u001b[0m apple.color = \"red\"\n 6 │\u001b[0m\n 7 │\u001b[0m orange.type = \"fruit\"\n 8 │\u001b[0m orange.skin = \"thick\"\n 9 │\u001b[0m orange.color = \"orange\"\n\n output from parser-cmd (PID 1663137) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"apple.color\": {\"type\": \"string\", \"value\": \"red\"},\n 3 │\u001b[0m \"apple.skin\": {\"type\": \"string\", \"value\": \"thin\"},\n 4 │\u001b[0m \"apple.type\": {\"type\": \"string\", \"value\": \"fruit\"},\n 5 │\u001b[0m \"orange.color\": {\"type\": \"string\", \"value\": \"orange\"},\n 6 │\u001b[0m \"orange.skin\": {\"type\": \"string\", \"value\": \"thick\"},\n 7 │\u001b[0m \"orange.type\": {\"type\": \"string\", \"value\": \"fruit\"}\n 8 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"apple\": {\n 3 │\u001b[0m \"color\": {\"type\": \"string\", \"value\": \"red\"},\n 4 │\u001b[0m \"skin\": {\"type\": \"string\", \"value\": \"thin\"},\n 5 │\u001b[0m \"type\": {\"type\": \"string\", \"value\": \"fruit\"}\n 6 │\u001b[0m },\n 7 │\u001b[0m \"orange\": {\n 8 │\u001b[0m \"color\": {\"type\": \"string\", \"value\": \"orange\"},\n 9 │\u001b[0m \"skin\": {\"type\": \"string\", \"value\": \"thick\"},\n 10 │\u001b[0m \"type\": {\"type\": \"string\", \"value\": \"fruit\"}\n 11 │\u001b[0m }\n 12 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/keys-7\n Could not find key \"3\" in parser output.\n\n input sent to parser-cmd (PID 1663050):\n 1 │\u001b[0m 3.14159 = \"pi\"\n\n output from parser-cmd (PID 1663050) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"3.14159\": {\"type\": \"string\", \"value\": \"pi\"}\n 3 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"3\": {\n 3 │\u001b[0m \"14159\": {\"type\": \"string\", \"value\": \"pi\"}\n 4 │\u001b[0m }\n 5 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/local-date-0\n line 1: invalid value \"1979-05-27\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663049):\n 1 │\u001b[0m ld1 = 1979-05-27\n\n output from parser-cmd (PID 1663049) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1979-05-27\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/local-date-time-0\n line 1: invalid value \"1979-05-27T07:32:00\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663055):\n 1 │\u001b[0m ldt1 = 1979-05-27T07:32:00\n 2 │\u001b[0m ldt2 = 1979-05-27T00:32:00.999\n\n output from parser-cmd (PID 1663055) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1979-05-27T07:32:00\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/local-time-0\n line 1: invalid value \"07:32:00\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663052):\n 1 │\u001b[0m lt1 = 07:32:00\n 2 │\u001b[0m lt2 = 00:32:00.999\n\n output from parser-cmd (PID 1663052) (stderr):\n 1 │\u001b[0m line 1: invalid value \"07:32:00\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/offset-date-time-0\n line 1: invalid value \"1979-05-27T07:32:00Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663134):\n 1 │\u001b[0m odt1 = 1979-05-27T07:32:00Z\n 2 │\u001b[0m odt2 = 1979-05-27T00:32:00-07:00\n 3 │\u001b[0m odt3 = 1979-05-27T00:32:00.999-07:00\n\n output from parser-cmd (PID 1663134) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1979-05-27T07:32:00Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/offset-date-time-1\n line 1: invalid value \"1979-05-27 07:32:00Z\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663074):\n 1 │\u001b[0m odt4 = 1979-05-27 07:32:00Z\n\n output from parser-cmd (PID 1663074) (stderr):\n 1 │\u001b[0m line 1: invalid value \"1979-05-27 07:32:00Z\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/string-1\n line 1: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663082):\n 1 │\u001b[0m str1 = \"\"\"\n 2 │\u001b[0m Roses are red\n 3 │\u001b[0m Violets are blue\"\"\"\n\n output from parser-cmd (PID 1663082) (stderr):\n 1 │\u001b[0m line 1: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/string-3\n line 4: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663085):\n 1 │\u001b[0m # The following strings are byte-for-byte equivalent:\n 2 │\u001b[0m str1 = \"The quick brown fox jumps over the lazy dog.\"\n 3 │\u001b[0m\n 4 │\u001b[0m str2 = \"\"\"\n 5 │\u001b[0m The quick brown \\\n 6 │\u001b[0m\n 7 │\u001b[0m\n 8 │\u001b[0m fox jumps over \\\n 9 │\u001b[0m the lazy dog.\"\"\"\n 10 │\u001b[0m\n 11 │\u001b[0m str3 = \"\"\"\\\n 12 │\u001b[0m The quick brown \\\n 13 │\u001b[0m fox jumps over \\\n 14 │\u001b[0m the lazy dog.\\\n 15 │\u001b[0m \"\"\"\n\n output from parser-cmd (PID 1663085) (stderr):\n 1 │\u001b[0m line 4: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/string-4\n line 1: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663086):\n 1 │\u001b[0m str4 = \"\"\"Here are two quotation marks: \"\". Simple enough.\"\"\"\n 2 │\u001b[0m # str5 = \"\"\"Here are three quotation marks: \"\"\".\"\"\" # INVALID\n 3 │\u001b[0m str5 = \"\"\"Here are three quotation marks: \"\"\\\".\"\"\"\n 4 │\u001b[0m str6 = \"\"\"Here are fifteen quotation marks: \"\"\\\"\"\"\\\"\"\"\\\"\"\"\\\"\"\"\\\".\"\"\"\n 5 │\u001b[0m\n 6 │\u001b[0m # \"This,\" she said, \"is just a pointless statement.\"\n 7 │\u001b[0m str7 = \"\"\"\"This,\" she said, \"is just a pointless statement.\"\"\"\"\n\n output from parser-cmd (PID 1663086) (stderr):\n 1 │\u001b[0m line 1: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/string-6\n line 3: expected key-value pair\n \n Exit 1\n\n input sent to parser-cmd (PID 1663127):\n 1 │\u001b[0m regex2 = '''I [dw]on't need \\d{2} apples'''\n 2 │\u001b[0m lines = '''\n 3 │\u001b[0m The first newline is\n 4 │\u001b[0m trimmed in raw strings.\n 5 │\u001b[0m All other whitespace\n 6 │\u001b[0m is preserved.\n 7 │\u001b[0m '''\n\n output from parser-cmd (PID 1663127) (stderr):\n 1 │\u001b[0m line 3: expected key-value pair\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/string-7\n Values for key \"quot15\" don't match:\n Expected: Here are fifteen quotation marks: \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n Your encoder: ''Here are fifteen quotation marks: \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"''\n\n input sent to parser-cmd (PID 1663112):\n 1 │\u001b[0m quot15 = '''Here are fifteen quotation marks: \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"'''\n 2 │\u001b[0m\n 3 │\u001b[0m # apos15 = '''Here are fifteen apostrophes: '''''''''''''''''' # INVALID\n 4 │\u001b[0m apos15 = \"Here are fifteen apostrophes: '''''''''''''''\"\n 5 │\u001b[0m\n 6 │\u001b[0m # 'That,' she said, 'is still pointless.'\n 7 │\u001b[0m str = ''''That,' she said, 'is still pointless.''''\n\n output from parser-cmd (PID 1663112) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"apos15\": {\"type\": \"string\", \"value\": \"Here are fifteen apostrophes: '''''''''''''''\"},\n 3 │\u001b[0m \"quot15\": {\"type\": \"string\", \"value\": \"''Here are fifteen quotation marks: \\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"''\"},\n 4 │\u001b[0m \"str\": {\"type\": \"string\", \"value\": \"'''That,' she said, 'is still pointless.'''\"}\n 5 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"apos15\": {\"type\": \"string\", \"value\": \"Here are fifteen apostrophes: '''''''''''''''\"},\n 3 │\u001b[0m \"quot15\": {\"type\": \"string\", \"value\": \"Here are fifteen quotation marks: \\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\"},\n 4 │\u001b[0m \"str\": {\"type\": \"string\", \"value\": \"'That,' she said, 'is still pointless.'\"}\n 5 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/table-0\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663122):\n 1 │\u001b[0m [table]\n\n output from parser-cmd (PID 1663122) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-1\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663117):\n 1 │\u001b[0m [table-1]\n 2 │\u001b[0m key1 = \"some string\"\n 3 │\u001b[0m key2 = 123\n 4 │\u001b[0m\n 5 │\u001b[0m [table-2]\n 6 │\u001b[0m key1 = \"another string\"\n 7 │\u001b[0m key2 = 456\n\n output from parser-cmd (PID 1663117) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-2\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663272):\n 1 │\u001b[0m [dog.\"tater.man\"]\n 2 │\u001b[0m type.name = \"pug\"\n\n output from parser-cmd (PID 1663272) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-3\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663128):\n 1 │\u001b[0m [a.b.c] # this is best practice\n 2 │\u001b[0m [ d.e.f ] # same as [d.e.f]\n 3 │\u001b[0m [ g . h . i ] # same as [g.h.i]\n 4 │\u001b[0m [ j . \"ʞ\" . 'l' ] # same as [j.\"ʞ\".'l']\n\n output from parser-cmd (PID 1663128) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-4\n line 4: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663138):\n 1 │\u001b[0m # [x] you\n 2 │\u001b[0m # [x.y] don't\n 3 │\u001b[0m # [x.y.z] need these\n 4 │\u001b[0m [x.y.z.w] # for this to work\n 5 │\u001b[0m\n 6 │\u001b[0m [x] # defining a super-table afterward is ok\n\n output from parser-cmd (PID 1663138) (stderr):\n 1 │\u001b[0m line 4: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-5\n line 2: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663139):\n 1 │\u001b[0m # VALID BUT DISCOURAGED\n 2 │\u001b[0m [fruit.apple]\n 3 │\u001b[0m [animal]\n 4 │\u001b[0m [fruit.orange]\n\n output from parser-cmd (PID 1663139) (stderr):\n 1 │\u001b[0m line 2: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-6\n line 2: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663275):\n 1 │\u001b[0m # RECOMMENDED\n 2 │\u001b[0m [fruit.apple]\n 3 │\u001b[0m [fruit.orange]\n 4 │\u001b[0m [animal]\n\n output from parser-cmd (PID 1663275) (stderr):\n 1 │\u001b[0m line 2: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-7\n line 6: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663174):\n 1 │\u001b[0m # Top-level table begins.\n 2 │\u001b[0m name = \"Fido\"\n 3 │\u001b[0m breed = \"pug\"\n 4 │\u001b[0m\n 5 │\u001b[0m # Top-level table ends.\n 6 │\u001b[0m [owner]\n 7 │\u001b[0m name = \"Regina Dogman\"\n 8 │\u001b[0m member_since = 1999-08-04\n\n output from parser-cmd (PID 1663174) (stderr):\n 1 │\u001b[0m line 6: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-1.0.0/table-8\n Could not find key \"fruit\" in parser output.\n\n input sent to parser-cmd (PID 1663179):\n 1 │\u001b[0m fruit.apple.color = \"red\"\n 2 │\u001b[0m # Defines a table named fruit\n 3 │\u001b[0m # Defines a table named fruit.apple\n 4 │\u001b[0m\n 5 │\u001b[0m fruit.apple.taste.sweet = true\n 6 │\u001b[0m # Defines a table named fruit.apple.taste\n 7 │\u001b[0m # fruit and fruit.apple were already created\n\n output from parser-cmd (PID 1663179) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"fruit.apple.color\": {\"type\": \"string\", \"value\": \"red\"},\n 3 │\u001b[0m \"fruit.apple.taste.sweet\": {\"type\": \"bool\", \"value\": \"true\"}\n 4 │\u001b[0m }\n\n want:\n 1 │\u001b[0m {\n 2 │\u001b[0m \"fruit\": {\n 3 │\u001b[0m \"apple\": {\n 4 │\u001b[0m \"color\": {\"type\": \"string\", \"value\": \"red\"},\n 5 │\u001b[0m \"taste\": {\n 6 │\u001b[0m \"sweet\": {\"type\": \"bool\", \"value\": \"true\"}\n 7 │\u001b[0m }\n 8 │\u001b[0m }\n 9 │\u001b[0m }\n 10 │\u001b[0m }\n\nFAIL valid/spec-1.0.0/table-9\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663180):\n 1 │\u001b[0m [fruit]\n 2 │\u001b[0m apple.color = \"red\"\n 3 │\u001b[0m apple.taste.sweet = true\n 4 │\u001b[0m\n 5 │\u001b[0m # [fruit.apple] # INVALID\n 6 │\u001b[0m # [fruit.apple.taste] # INVALID\n 7 │\u001b[0m\n 8 │\u001b[0m [fruit.apple.texture] # you can add sub-tables\n 9 │\u001b[0m smooth = true\n\n output from parser-cmd (PID 1663180) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-example-1\n line 5: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663182):\n 1 │\u001b[0m # This is a TOML document. Boom.\n 2 │\u001b[0m\n 3 │\u001b[0m title = \"TOML Example\"\n 4 │\u001b[0m\n 5 │\u001b[0m [owner]\n 6 │\u001b[0m name = \"Lance Uppercut\"\n 7 │\u001b[0m dob = 1979-05-27T07:32:00-08:00 # First class dates? Why not?\n 8 │\u001b[0m\n 9 │\u001b[0m [database]\n 10 │\u001b[0m server = \"192.168.1.1\"\n 11 │\u001b[0m ports = [ 8001, 8001, 8002 ]\n 12 │\u001b[0m connection_max = 5000\n 13 │\u001b[0m enabled = true\n 14 │\u001b[0m\n 15 │\u001b[0m [servers]\n 16 │\u001b[0m\n 17 │\u001b[0m # You can indent as you please. Tabs or spaces. TOML don't care.\n 18 │\u001b[0m [servers.alpha]\n 19 │\u001b[0m ip = \"10.0.0.1\"\n 20 │\u001b[0m dc = \"eqdc10\"\n 21 │\u001b[0m\n 22 │\u001b[0m [servers.beta]\n 23 │\u001b[0m ip = \"10.0.0.2\"\n 24 │\u001b[0m dc = \"eqdc10\"\n 25 │\u001b[0m\n 26 │\u001b[0m [clients]\n 27 │\u001b[0m data = [ [\"gamma\", \"delta\"], [1, 2] ]\n 28 │\u001b[0m\n 29 │\u001b[0m # Line breaks are OK when inside arrays\n 30 │\u001b[0m hosts = [\n 31 │\u001b[0m \"alpha\",\n 32 │\u001b[0m \"omega\"\n 33 │\u001b[0m ]\n\n output from parser-cmd (PID 1663182) (stderr):\n 1 │\u001b[0m line 5: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/spec-example-1-compact\n line 3: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663181):\n 1 │\u001b[0m #Useless spaces eliminated.\n 2 │\u001b[0m title=\"TOML Example\"\n 3 │\u001b[0m [owner]\n 4 │\u001b[0m name=\"Lance Uppercut\"\n 5 │\u001b[0m dob=1979-05-27T07:32:00-08:00#First class dates\n 6 │\u001b[0m [database]\n 7 │\u001b[0m server=\"192.168.1.1\"\n 8 │\u001b[0m ports=[8001,8001,8002]\n 9 │\u001b[0m connection_max=5000\n 10 │\u001b[0m enabled=true\n 11 │\u001b[0m [servers]\n 12 │\u001b[0m [servers.alpha]\n 13 │\u001b[0m ip=\"10.0.0.1\"\n 14 │\u001b[0m dc=\"eqdc10\"\n 15 │\u001b[0m [servers.beta]\n 16 │\u001b[0m ip=\"10.0.0.2\"\n 17 │\u001b[0m dc=\"eqdc10\"\n 18 │\u001b[0m [clients]\n 19 │\u001b[0m data=[[\"gamma\",\"delta\"],[1,2]]\n 20 │\u001b[0m hosts=[\n 21 │\u001b[0m \"alpha\",\n 22 │\u001b[0m \"omega\"\n 23 │\u001b[0m ]\n\n output from parser-cmd (PID 1663181) (stderr):\n 1 │\u001b[0m line 3: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/ends-in-whitespace-escape\n line 1: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663237):\n 1 │\u001b[0m beee = \"\"\"\n 2 │\u001b[0m heeee\n 3 │\u001b[0m geeee\\\n 4 │\u001b[0m\n 5 │\u001b[0m\n 6 │\u001b[0m \"\"\"\n\n output from parser-cmd (PID 1663237) (stderr):\n 1 │\u001b[0m line 1: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/escape-tricky\n line 4: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663221):\n 1 │\u001b[0m end_esc = \"String does not end here\\\" but ends here\\\\\"\n 2 │\u001b[0m lit_end_esc = 'String ends here\\'\n 3 │\u001b[0m\n 4 │\u001b[0m multiline_unicode = \"\"\"\n 5 │\u001b[0m \\u00a0\"\"\"\n 6 │\u001b[0m\n 7 │\u001b[0m multiline_not_unicode = \"\"\"\n 8 │\u001b[0m \\\\u0041\"\"\"\n 9 │\u001b[0m\n 10 │\u001b[0m multiline_end_esc = \"\"\"When will it end? \\\"\"\"...\"\"\\\" should be here\\\"\"\"\"\n 11 │\u001b[0m\n 12 │\u001b[0m lit_multiline_not_unicode = '''\n 13 │\u001b[0m \\u007f'''\n 14 │\u001b[0m\n 15 │\u001b[0m lit_multiline_end = '''There is no escape\\'''\n\n output from parser-cmd (PID 1663221) (stderr):\n 1 │\u001b[0m line 4: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/multibyte\n line 6: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663232):\n 1 │\u001b[0m # Test each multibyte length: 2, 3, and 4 bytes:\n 2 │\u001b[0m # ɑ € 𐫱\n 3 │\u001b[0m\n 4 │\u001b[0m basic = \"ɑ € 𐫱 ɑ€𐫱\"\n 5 │\u001b[0m raw = 'ɑ € 𐫱 ɑ€𐫱'\n 6 │\u001b[0m ml-basic = \"\"\"ɑ € 𐫱 ɑ€𐫱\"\"\"\n 7 │\u001b[0m ml-raw = '''ɑ € 𐫱 ɑ€𐫱'''\n\n output from parser-cmd (PID 1663232) (stderr):\n 1 │\u001b[0m line 6: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/multibyte-escape\n line 5: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663235):\n 1 │\u001b[0m # Test each multibyte length: 2, 3, and 4 bytes:\n 2 │\u001b[0m # ɑ € 𐫱\n 3 │\u001b[0m\n 4 │\u001b[0m basic-1 = \"\\u0251 \\u20ac \\U00010AF1 \\u0251\\u20ac\\U00010AF1\"\n 5 │\u001b[0m ml-basic-1 = \"\"\"\\u0251 \\u20ac \\U00010AF1 \\u0251\\u20ac\\U00010AF1\"\"\"\n 6 │\u001b[0m\n 7 │\u001b[0m # Again, but only using \\U\n 8 │\u001b[0m basic-2 = \"\\U00000251 \\U000020ac \\U00010AF1 \\U00000251\\U000020ac\\U00010AF1\"\n 9 │\u001b[0m ml-basic-2 = \"\"\"\\U00000251 \\U000020ac \\U00010AF1 \\U00000251\\U000020ac\\U00010AF1\"\"\"\n\n output from parser-cmd (PID 1663235) (stderr):\n 1 │\u001b[0m line 5: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/multiline\n line 4: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663266):\n 1 │\u001b[0m # NOTE: this file includes some literal tab characters.\n 2 │\u001b[0m\n 3 │\u001b[0m equivalent_one = \"The quick brown fox jumps over the lazy dog.\"\n 4 │\u001b[0m equivalent_two = \"\"\"\n 5 │\u001b[0m The quick brown \\\n 6 │\u001b[0m\n 7 │\u001b[0m\n 8 │\u001b[0m fox jumps over \\\n 9 │\u001b[0m the lazy dog.\"\"\"\n 10 │\u001b[0m\n 11 │\u001b[0m equivalent_three = \"\"\"\\\n 12 │\u001b[0m The quick brown \\\n 13 │\u001b[0m fox jumps over \\\n 14 │\u001b[0m the lazy dog.\\\n 15 │\u001b[0m \"\"\"\n 16 │\u001b[0m\n 17 │\u001b[0m whitespace-after-bs = \"\"\"\\\n 18 │\u001b[0m The quick brown \\\n 19 │\u001b[0m fox jumps over \\\n 20 │\u001b[0m the lazy dog.\\\n 21 │\u001b[0m \"\"\"\n 22 │\u001b[0m\n 23 │\u001b[0m no-space = \"\"\"a\\\n 24 │\u001b[0m b\"\"\"\n 25 │\u001b[0m\n 26 │\u001b[0m # Has tab character.\n 27 │\u001b[0m keep-ws-before = \"\"\"a \t\\\n 28 │\u001b[0m b\"\"\"\n 29 │\u001b[0m\n 30 │\u001b[0m escape-bs-1 = \"\"\"a \\\\\n 31 │\u001b[0m b\"\"\"\n 32 │\u001b[0m\n 33 │\u001b[0m escape-bs-2 = \"\"\"a \\\\\\\n 34 │\u001b[0m b\"\"\"\n 35 │\u001b[0m\n 36 │\u001b[0m escape-bs-3 = \"\"\"a \\\\\\\\\n 37 │\u001b[0m b\"\"\"\n\n output from parser-cmd (PID 1663266) (stderr):\n 1 │\u001b[0m line 4: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/multiline-empty\n line 1: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663234):\n 1 │\u001b[0m empty-1 = \"\"\"\"\"\"\n 2 │\u001b[0m\n 3 │\u001b[0m # A newline immediately following the opening delimiter will be trimmed.\n 4 │\u001b[0m empty-2 = \"\"\"\n 5 │\u001b[0m \"\"\"\n 6 │\u001b[0m\n 7 │\u001b[0m # \\ at the end of line trims newlines as well; note that last \\ is followed by\n 8 │\u001b[0m # two spaces, which are ignored.\n 9 │\u001b[0m empty-3 = \"\"\"\\\n 10 │\u001b[0m \"\"\"\n 11 │\u001b[0m empty-4 = \"\"\"\\\n 12 │\u001b[0m \\\n 13 │\u001b[0m \\\n 14 │\u001b[0m \"\"\"\n\n output from parser-cmd (PID 1663234) (stderr):\n 1 │\u001b[0m line 1: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/multiline-escaped-crlf\n line 3: invalid value \"\\\"\\\"\\\"\\\\\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663239):\n 1 │\u001b[0m # The following line should be an unescaped backslash followed by a Windows\r\n 2 │\u001b[0m # newline sequence (\"\\r\\n\")\r\n 3 │\u001b[0m 0=\"\"\"\\\r\n 4 │\u001b[0m \"\"\"\r\n\n output from parser-cmd (PID 1663239) (stderr):\n 1 │\u001b[0m line 3: invalid value \"\\\"\\\"\\\"\\\\\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/multiline-quotes\n line 9: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663240):\n 1 │\u001b[0m # Make sure that quotes inside multiline strings are allowed, including right\n 2 │\u001b[0m # after the opening '''/\"\"\" and before the closing '''/\"\"\"\n 3 │\u001b[0m\n 4 │\u001b[0m lit_one = ''''one quote''''\n 5 │\u001b[0m lit_two = '''''two quotes'''''\n 6 │\u001b[0m lit_one_space = ''' 'one quote' '''\n 7 │\u001b[0m lit_two_space = ''' ''two quotes'' '''\n 8 │\u001b[0m\n 9 │\u001b[0m one = \"\"\"\"one quote\"\"\"\"\n 10 │\u001b[0m two = \"\"\"\"\"two quotes\"\"\"\"\"\n 11 │\u001b[0m one_space = \"\"\" \"one quote\" \"\"\"\n 12 │\u001b[0m two_space = \"\"\" \"\"two quotes\"\" \"\"\"\n 13 │\u001b[0m\n 14 │\u001b[0m mismatch1 = \"\"\"aaa'''bbb\"\"\"\n 15 │\u001b[0m mismatch2 = '''aaa\"\"\"bbb'''\n 16 │\u001b[0m\n 17 │\u001b[0m # Three opening \"\"\", then one escaped \", then two \"\" (allowed), and then three\n 18 │\u001b[0m # closing \"\"\"\n 19 │\u001b[0m escaped = \"\"\"lol\\\"\"\"\"\"\"\n 20 │\u001b[0m\n 21 │\u001b[0m five-quotes = \"\"\"\n 22 │\u001b[0m Closing with five quotes\n 23 │\u001b[0m \"\"\"\"\"\n 24 │\u001b[0m four-quotes = \"\"\"\n 25 │\u001b[0m Closing with four quotes\n 26 │\u001b[0m \"\"\"\"\n\n output from parser-cmd (PID 1663240) (stderr):\n 1 │\u001b[0m line 9: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/nl\n line 2: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663267):\n 1 │\u001b[0m nl_mid = \"val\\nue\"\n 2 │\u001b[0m nl_end = \"\"\"value\\n\"\"\"\n 3 │\u001b[0m\n 4 │\u001b[0m lit_nl_end = '''value\\n'''\n 5 │\u001b[0m lit_nl_mid = 'val\\nue'\n 6 │\u001b[0m lit_nl_uni = 'val\\ue'\n\n output from parser-cmd (PID 1663267) (stderr):\n 1 │\u001b[0m line 2: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/raw-multiline\n line 6: expected key-value pair\n \n Exit 1\n\n input sent to parser-cmd (PID 1663276):\n 1 │\u001b[0m # Single ' should be allowed.\n 2 │\u001b[0m oneline = '''This string has a ' quote character.'''\n 3 │\u001b[0m\n 4 │\u001b[0m # A newline immediately following the opening delimiter will be trimmed.\n 5 │\u001b[0m firstnl = '''\n 6 │\u001b[0m This string has a ' quote character.'''\n 7 │\u001b[0m\n 8 │\u001b[0m # All other whitespace and newline characters remain intact.\n 9 │\u001b[0m multiline = '''\n 10 │\u001b[0m This string\n 11 │\u001b[0m has ' a quote character\n 12 │\u001b[0m and more than\n 13 │\u001b[0m one newline\n 14 │\u001b[0m in it.'''\n 15 │\u001b[0m\n 16 │\u001b[0m # Tab character in literal string does not need to be escaped\n 17 │\u001b[0m multiline_with_tab = '''First line\n 18 │\u001b[0m \t Followed by a tab'''\n 19 │\u001b[0m\n 20 │\u001b[0m this-str-has-apostrophes='''' there's one already\n 21 │\u001b[0m '' two more\n 22 │\u001b[0m '''''\n\n output from parser-cmd (PID 1663276) (stderr):\n 1 │\u001b[0m line 6: expected key-value pair\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/start-mb\n line 6: invalid value \"\\\"\\\"\\\"\\\\\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663285):\n 1 │\u001b[0m # Start first line with a multibyte character.\n 2 │\u001b[0m #\n 3 │\u001b[0m # https://github.com/marzer/tomlplusplus/issues/190\n 4 │\u001b[0m s1 = \"§\"\n 5 │\u001b[0m s2 = '§'\n 6 │\u001b[0m s3 = \"\"\"\\\n 7 │\u001b[0m §\"\"\"\n 8 │\u001b[0m s4 = \"\"\"\n 9 │\u001b[0m §\"\"\"\n 10 │\u001b[0m s5 = \"\"\"§\"\"\"\n 11 │\u001b[0m s6 = '''\n 12 │\u001b[0m §'''\n 13 │\u001b[0m s7 = '''§'''\n\n output from parser-cmd (PID 1663285) (stderr):\n 1 │\u001b[0m line 6: invalid value \"\\\"\\\"\\\"\\\\\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/unicode-escape\n line 9: invalid string: invalid syntax\n \n Exit 1\n\n input sent to parser-cmd (PID 1663286):\n 1 │\u001b[0m delta-1 = \"\\u03B4\"\n 2 │\u001b[0m delta-2 = \"\\U000003B4\"\n 3 │\u001b[0m a = \"\\u0061\"\n 4 │\u001b[0m b = \"\\u0062\"\n 5 │\u001b[0m c = \"\\U00000063\"\n 6 │\u001b[0m null-1 = \"\\u0000\"\n 7 │\u001b[0m null-2 = \"\\U00000000\"\n 8 │\u001b[0m\n 9 │\u001b[0m ml-delta-1 = \"\"\"\\u03B4\"\"\"\n 10 │\u001b[0m ml-delta-2 = \"\"\"\\U000003B4\"\"\"\n 11 │\u001b[0m ml-a = \"\"\"\\u0061\"\"\"\n 12 │\u001b[0m ml-b = \"\"\"\\u0062\"\"\"\n 13 │\u001b[0m ml-c = \"\"\"\\U00000063\"\"\"\n 14 │\u001b[0m ml-null-1 = \"\"\"\\u0000\"\"\"\n 15 │\u001b[0m ml-null-2 = \"\"\"\\U00000000\"\"\"\n\n output from parser-cmd (PID 1663286) (stderr):\n 1 │\u001b[0m line 9: invalid string: invalid syntax\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/string/with-pound\n line 1: invalid value \"\\\"We see no\"\n \n Exit 1\n\n input sent to parser-cmd (PID 1663387):\n 1 │\u001b[0m pound = \"We see no # comments here.\"\n 2 │\u001b[0m poundcomment = \"But there are # some comments here.\" # Did I # mess you up?\n\n output from parser-cmd (PID 1663387) (stderr):\n 1 │\u001b[0m line 1: invalid value \"\\\"We see no\"\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-empty\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663315):\n 1 │\u001b[0m [[a]]\n\n output from parser-cmd (PID 1663315) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-empty-name\n line 3: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663385):\n 1 │\u001b[0m # Silly thing to do, but valid.\n 2 │\u001b[0m\n 3 │\u001b[0m [['']]\n 4 │\u001b[0m a = 1\n 5 │\u001b[0m [['']]\n 6 │\u001b[0m a = 2\n\n output from parser-cmd (PID 1663385) (stderr):\n 1 │\u001b[0m line 3: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-implicit\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663391):\n 1 │\u001b[0m [[albums.songs]]\n 2 │\u001b[0m name = \"Glory Days\"\n\n output from parser-cmd (PID 1663391) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-implicit-and-explicit-after\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663390):\n 1 │\u001b[0m [[a.b]]\n 2 │\u001b[0m x = 1\n 3 │\u001b[0m\n 4 │\u001b[0m [a]\n 5 │\u001b[0m y = 2\n\n output from parser-cmd (PID 1663390) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-many\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663389):\n 1 │\u001b[0m [[people]]\n 2 │\u001b[0m first_name = \"Bruce\"\n 3 │\u001b[0m last_name = \"Springsteen\"\n 4 │\u001b[0m\n 5 │\u001b[0m [[people]]\n 6 │\u001b[0m first_name = \"Eric\"\n 7 │\u001b[0m last_name = \"Clapton\"\n 8 │\u001b[0m\n 9 │\u001b[0m [[people]]\n 10 │\u001b[0m first_name = \"Bob\"\n 11 │\u001b[0m last_name = \"Seger\"\n\n output from parser-cmd (PID 1663389) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-nest\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663322):\n 1 │\u001b[0m [[albums]]\n 2 │\u001b[0m name = \"Born to Run\"\n 3 │\u001b[0m\n 4 │\u001b[0m [[albums.songs]]\n 5 │\u001b[0m name = \"Jungleland\"\n 6 │\u001b[0m\n 7 │\u001b[0m [[albums.songs]]\n 8 │\u001b[0m name = \"Meeting Across the River\"\n 9 │\u001b[0m\n 10 │\u001b[0m [[albums]]\n 11 │\u001b[0m name = \"Born in the USA\"\n 12 │\u001b[0m\n 13 │\u001b[0m [[albums.songs]]\n 14 │\u001b[0m name = \"Glory Days\"\n 15 │\u001b[0m\n 16 │\u001b[0m [[albums.songs]]\n 17 │\u001b[0m name = \"Dancing in the Dark\"\n\n output from parser-cmd (PID 1663322) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-one\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663323):\n 1 │\u001b[0m [[people]]\n 2 │\u001b[0m first_name = \"Bruce\"\n 3 │\u001b[0m last_name = \"Springsteen\"\n\n output from parser-cmd (PID 1663323) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-table-array\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663324):\n 1 │\u001b[0m [[a]]\n 2 │\u001b[0m [[a.b]]\n 3 │\u001b[0m [a.b.c]\n 4 │\u001b[0m d = \"val0\"\n 5 │\u001b[0m [[a.b]]\n 6 │\u001b[0m [a.b.c]\n 7 │\u001b[0m d = \"val1\"\n\n output from parser-cmd (PID 1663324) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/array-within-dotted\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663325):\n 1 │\u001b[0m [fruit]\n 2 │\u001b[0m apple.color = \"red\"\n 3 │\u001b[0m\n 4 │\u001b[0m [[fruit.apple.seeds]]\n 5 │\u001b[0m size = 2\n\n output from parser-cmd (PID 1663325) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/empty\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663326):\n 1 │\u001b[0m [a]\n\n output from parser-cmd (PID 1663326) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/empty-name\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663328):\n 1 │\u001b[0m ['']\n 2 │\u001b[0m x = 1\n 3 │\u001b[0m\n 4 │\u001b[0m [\"\".a]\n 5 │\u001b[0m x = 2\n 6 │\u001b[0m\n 7 │\u001b[0m [a.'']\n 8 │\u001b[0m x = 3\n\n output from parser-cmd (PID 1663328) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/keyword\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663362):\n 1 │\u001b[0m [true]\n 2 │\u001b[0m\n 3 │\u001b[0m [false]\n 4 │\u001b[0m\n 5 │\u001b[0m [inf]\n 6 │\u001b[0m\n 7 │\u001b[0m [nan]\n\n output from parser-cmd (PID 1663362) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/keyword-with-values\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663327):\n 1 │\u001b[0m [true]\n 2 │\u001b[0m k = 1\n 3 │\u001b[0m\n 4 │\u001b[0m [false]\n 5 │\u001b[0m k = 2\n 6 │\u001b[0m\n 7 │\u001b[0m [inf]\n 8 │\u001b[0m k = 3\n 9 │\u001b[0m\n 10 │\u001b[0m [nan]\n 11 │\u001b[0m k = 4\n\n output from parser-cmd (PID 1663327) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/names\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663358):\n 1 │\u001b[0m [a.b.c]\n 2 │\u001b[0m [a.\"b.c\"]\n 3 │\u001b[0m [a.'d.e']\n 4 │\u001b[0m [a.' x ']\n 5 │\u001b[0m [ d.e.f ]\n 6 │\u001b[0m [ g . h . i ]\n 7 │\u001b[0m [ j . \"ʞ\" . 'l' ]\n 8 │\u001b[0m\n 9 │\u001b[0m [x.1.2]\n\n output from parser-cmd (PID 1663358) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/names-with-values\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663360):\n 1 │\u001b[0m [a.b.c]\n 2 │\u001b[0m key = 1\n 3 │\u001b[0m\n 4 │\u001b[0m [a.\"b.c\"]\n 5 │\u001b[0m key = 2\n 6 │\u001b[0m\n 7 │\u001b[0m [a.'d.e']\n 8 │\u001b[0m key = 3\n 9 │\u001b[0m\n 10 │\u001b[0m [a.' x ']\n 11 │\u001b[0m key = 4\n 12 │\u001b[0m\n 13 │\u001b[0m [ d.e.f ]\n 14 │\u001b[0m key = 5\n 15 │\u001b[0m\n 16 │\u001b[0m [ g . h . i ]\n 17 │\u001b[0m key = 6\n 18 │\u001b[0m\n 19 │\u001b[0m [ j . \"ʞ\" . 'l' ]\n 20 │\u001b[0m key = 7\n 21 │\u001b[0m\n 22 │\u001b[0m [x.1.2]\n 23 │\u001b[0m key = 8\n\n output from parser-cmd (PID 1663360) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/no-eol\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663378):\n 1 │\u001b[0m [table]\n\n output from parser-cmd (PID 1663378) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/sub\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663382):\n 1 │\u001b[0m [a]\n 2 │\u001b[0m key = 1\n 3 │\u001b[0m\n 4 │\u001b[0m # a.extend is a key inside the \"a\" table.\n 5 │\u001b[0m [a.extend]\n 6 │\u001b[0m key = 2\n 7 │\u001b[0m\n 8 │\u001b[0m [a.extend.more]\n 9 │\u001b[0m key = 3\n\n output from parser-cmd (PID 1663382) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/sub-empty\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663380):\n 1 │\u001b[0m [a]\n 2 │\u001b[0m [a.b]\n\n output from parser-cmd (PID 1663380) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/whitespace\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663388):\n 1 │\u001b[0m [\"valid key\"]\n\n output from parser-cmd (PID 1663388) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/with-literal-string\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663433):\n 1 │\u001b[0m ['a']\n 2 │\u001b[0m [a.'\"b\"']\n 3 │\u001b[0m [a.'\"b\"'.c]\n 4 │\u001b[0m answer = 42\n\n output from parser-cmd (PID 1663433) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/with-pound\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663432):\n 1 │\u001b[0m [\"key#group\"]\n 2 │\u001b[0m answer = 42\n\n output from parser-cmd (PID 1663432) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/with-single-quotes\n line 1: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663470):\n 1 │\u001b[0m ['a']\n 2 │\u001b[0m [a.'b']\n 3 │\u001b[0m [a.'b'.c]\n 4 │\u001b[0m answer = 42\n\n output from parser-cmd (PID 1663470) (stderr):\n 1 │\u001b[0m line 1: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/without-super\n line 4: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663869):\n 1 │\u001b[0m # [x] you\n 2 │\u001b[0m # [x.y] don't\n 3 │\u001b[0m # [x.y.z] need these\n 4 │\u001b[0m [x.y.z.w] # for this to work\n 5 │\u001b[0m [x] # defining a super-table afterwards is ok\n\n output from parser-cmd (PID 1663869) (stderr):\n 1 │\u001b[0m line 4: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL valid/table/without-super-with-values\n line 4: tables are not supported yet\n \n Exit 1\n\n input sent to parser-cmd (PID 1663471):\n 1 │\u001b[0m # [x] you\n 2 │\u001b[0m # [x.y] don't\n 3 │\u001b[0m # [x.y.z] need these\n 4 │\u001b[0m [x.y.z.w] # for this to work\n 5 │\u001b[0m a = 1\n 6 │\u001b[0m b = 2\n 7 │\u001b[0m [x] # defining a super-table afterwards is ok\n 8 │\u001b[0m c = 3\n 9 │\u001b[0m d = 4\n\n output from parser-cmd (PID 1663471) (stderr):\n 1 │\u001b[0m line 4: tables are not supported yet\n 2 │\u001b[0m\n 3 │\u001b[0m Exit 1\n\n want:\n <empty>\n\nFAIL invalid/control/bare-cr\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663703):\n 1 │\u001b[0m # The following line contains a single carriage return control character\r\n 2 │\u001b[0m \r\n\n output from parser-cmd (PID 1663703) (stdout):\n 1 │\u001b[0m {}\n\n want:\n Exit code 1\n\nFAIL invalid/control/comment-cr\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663610):\n 1 │\u001b[0m comment-cr = \"Carriage return in comment\" # \ra=1\n\n output from parser-cmd (PID 1663610) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"comment-cr\": {\"type\": \"string\", \"value\": \"Carriage return in comment\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/comment-del\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663623):\n 1 │\u001b[0m comment-del = \"0x7f\" # \n\n output from parser-cmd (PID 1663623) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"comment-del\": {\"type\": \"string\", \"value\": \"0x7f\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/comment-ff\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663624):\n 1 │\u001b[0m comment-ff = \"0x7f\" # \f\n\n output from parser-cmd (PID 1663624) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"comment-ff\": {\"type\": \"string\", \"value\": \"0x7f\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/comment-lf\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663643):\n 1 │\u001b[0m comment-lf = \"ctrl-P\" # \u0010\n\n output from parser-cmd (PID 1663643) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"comment-lf\": {\"type\": \"string\", \"value\": \"ctrl-P\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/comment-null\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663646):\n 1 │\u001b[0m comment-null = \"null\" # \u0000\n\n output from parser-cmd (PID 1663646) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"comment-null\": {\"type\": \"string\", \"value\": \"null\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/comment-us\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663649):\n 1 │\u001b[0m comment-us = \"ctrl-_\" # \u001f\n\n output from parser-cmd (PID 1663649) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"comment-us\": {\"type\": \"string\", \"value\": \"ctrl-_\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/only-ff\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663669):\n 1 │\u001b[0m \f\n\n output from parser-cmd (PID 1663669) (stdout):\n 1 │\u001b[0m {}\n\n want:\n Exit code 1\n\nFAIL invalid/control/only-vt\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663701):\n 1 │\u001b[0m \u000b\n\n output from parser-cmd (PID 1663701) (stdout):\n 1 │\u001b[0m {}\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawmulti-del\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663698):\n 1 │\u001b[0m rawmulti-del = '''null'''\n\n output from parser-cmd (PID 1663698) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawmulti-del\": {\"type\": \"string\", \"value\": \"''null''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawmulti-lf\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663804):\n 1 │\u001b[0m rawmulti-lf = '''null\u0010'''\n\n output from parser-cmd (PID 1663804) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawmulti-lf\": {\"type\": \"string\", \"value\": \"''null\\u0010''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawmulti-null\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663694):\n 1 │\u001b[0m rawmulti-null = '''null\u0000'''\n\n output from parser-cmd (PID 1663694) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawmulti-null\": {\"type\": \"string\", \"value\": \"''null\\u0000''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawmulti-us\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663699):\n 1 │\u001b[0m rawmulti-us = '''null\u001f'''\n\n output from parser-cmd (PID 1663699) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawmulti-us\": {\"type\": \"string\", \"value\": \"''null\\u001f''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawstring-cr\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663700):\n 1 │\u001b[0m rawstring-cr = 'null\r'\n\n output from parser-cmd (PID 1663700) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawstring-cr\": {\"type\": \"string\", \"value\": \"null\\r\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawstring-del\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663702):\n 1 │\u001b[0m rawstring-del = 'null'\n\n output from parser-cmd (PID 1663702) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawstring-del\": {\"type\": \"string\", \"value\": \"null\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawstring-lf\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663740):\n 1 │\u001b[0m rawstring-lf = 'null\u0010'\n\n output from parser-cmd (PID 1663740) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawstring-lf\": {\"type\": \"string\", \"value\": \"null\\u0010\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawstring-null\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663886):\n 1 │\u001b[0m rawstring-null = 'null\u0000'\n\n output from parser-cmd (PID 1663886) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawstring-null\": {\"type\": \"string\", \"value\": \"null\\u0000\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/rawstring-us\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663741):\n 1 │\u001b[0m rawstring-us = 'null\u001f'\n\n output from parser-cmd (PID 1663741) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"rawstring-us\": {\"type\": \"string\", \"value\": \"null\\u001f\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/string-bs\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663744):\n 1 │\u001b[0m string-bs = \"backspace\b\"\n\n output from parser-cmd (PID 1663744) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"string-bs\": {\"type\": \"string\", \"value\": \"backspace\\b\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/string-cr\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663882):\n 1 │\u001b[0m string-cr = \"null\r\"\n\n output from parser-cmd (PID 1663882) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"string-cr\": {\"type\": \"string\", \"value\": \"null\\r\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/string-del\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663771):\n 1 │\u001b[0m string-del = \"null\"\n\n output from parser-cmd (PID 1663771) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"string-del\": {\"type\": \"string\", \"value\": \"null\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/string-lf\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663776):\n 1 │\u001b[0m string-lf = \"null\u0010\"\n\n output from parser-cmd (PID 1663776) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"string-lf\": {\"type\": \"string\", \"value\": \"null\\u0010\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/string-null\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663775):\n 1 │\u001b[0m string-null = \"null\u0000\"\n\n output from parser-cmd (PID 1663775) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"string-null\": {\"type\": \"string\", \"value\": \"null\\u0000\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/control/string-us\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663777):\n 1 │\u001b[0m string-us = \"null\u001f\"\n\n output from parser-cmd (PID 1663777) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"string-us\": {\"type\": \"string\", \"value\": \"null\\u001f\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/encoding/bad-codepoint\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663982):\n 1 │\u001b[0m # Invalid codepoint U+D800 : ���\n\n output from parser-cmd (PID 1663982) (stdout):\n 1 │\u001b[0m {}\n\n want:\n Exit code 1\n\nFAIL invalid/encoding/bad-utf8-in-comment\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664010):\n 1 │\u001b[0m # �\n\n output from parser-cmd (PID 1664010) (stdout):\n 1 │\u001b[0m {}\n\n want:\n Exit code 1\n\nFAIL invalid/encoding/bad-utf8-in-multiline-literal\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663976):\n 1 │\u001b[0m # The following line contains an invalid UTF-8 sequence.\n 2 │\u001b[0m bad = '''�'''\n\n output from parser-cmd (PID 1663976) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"bad\": {\"type\": \"string\", \"value\": \"''�''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/encoding/bad-utf8-in-string\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664166):\n 1 │\u001b[0m # The following line contains an invalid UTF-8 sequence.\n 2 │\u001b[0m bad = \"�\"\n\n output from parser-cmd (PID 1664166) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"bad\": {\"type\": \"string\", \"value\": \"�\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/encoding/bad-utf8-in-string-literal\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1663980):\n 1 │\u001b[0m # The following line contains an invalid UTF-8 sequence.\n 2 │\u001b[0m bad = '�'\n\n output from parser-cmd (PID 1663980) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"bad\": {\"type\": \"string\", \"value\": \"�\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/encoding/ideographic-space\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664013):\n 1 │\u001b[0m # First on next line is U+3000 IDEOGRAPHIC SPACE\n 2 │\u001b[0m foo = \"bar\"\n\n output from parser-cmd (PID 1664013) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"foo\": {\"type\": \"string\", \"value\": \"bar\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/integer/leading-zero-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664498):\n 1 │\u001b[0m leading-zero-01 = 01\n\n output from parser-cmd (PID 1664498) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"leading-zero-01\": {\"type\": \"integer\", \"value\": \"01\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/integer/leading-zero-02\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664490):\n 1 │\u001b[0m leading-zero-02 = 00\n\n output from parser-cmd (PID 1664490) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"leading-zero-02\": {\"type\": \"integer\", \"value\": \"00\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/integer/leading-zero-sign-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664495):\n 1 │\u001b[0m leading-zero-sign-01 = -01\n\n output from parser-cmd (PID 1664495) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"leading-zero-sign-01\": {\"type\": \"integer\", \"value\": \"-01\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/integer/leading-zero-sign-02\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664499):\n 1 │\u001b[0m leading-zero-sign-02 = +01\n\n output from parser-cmd (PID 1664499) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"leading-zero-sign-02\": {\"type\": \"integer\", \"value\": \"+01\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/bare-invalid-character-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664627):\n 1 │\u001b[0m ! = 123\n\n output from parser-cmd (PID 1664627) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"!\": {\"type\": \"integer\", \"value\": \"123\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/bare-invalid-character-02\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664629):\n 1 │\u001b[0m bare!key = 123\n\n output from parser-cmd (PID 1664629) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"bare!key\": {\"type\": \"integer\", \"value\": \"123\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/dot\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664630):\n 1 │\u001b[0m . = 1\n\n output from parser-cmd (PID 1664630) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \".\": {\"type\": \"integer\", \"value\": \"1\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/dotdot\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664631):\n 1 │\u001b[0m .. = 1\n\n output from parser-cmd (PID 1664631) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"..\": {\"type\": \"integer\", \"value\": \"1\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/dotted-redefine-table-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664632):\n 1 │\u001b[0m a = false\n 2 │\u001b[0m a.b = true\n\n output from parser-cmd (PID 1664632) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"a\": {\"type\": \"bool\", \"value\": \"false\"},\n 3 │\u001b[0m \"a.b\": {\"type\": \"bool\", \"value\": \"true\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/dotted-redefine-table-02\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664633):\n 1 │\u001b[0m # Defined a.b as int\n 2 │\u001b[0m a.b = 1\n 3 │\u001b[0m # Tries to access it as table: error\n 4 │\u001b[0m a.b.c = 2\n\n output from parser-cmd (PID 1664633) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"a.b\": {\"type\": \"integer\", \"value\": \"1\"},\n 3 │\u001b[0m \"a.b.c\": {\"type\": \"integer\", \"value\": \"2\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/duplicate-keys-03\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664869):\n 1 │\u001b[0m spelling = \"favorite\"\n 2 │\u001b[0m \"spelling\" = \"favourite\"\n\n output from parser-cmd (PID 1664869) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"spelling\\\"\": {\"type\": \"string\", \"value\": \"favourite\"},\n 3 │\u001b[0m \"spelling\": {\"type\": \"string\", \"value\": \"favorite\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/duplicate-keys-04\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664664):\n 1 │\u001b[0m spelling = \"favorite\"\n 2 │\u001b[0m 'spelling' = \"favourite\"\n\n output from parser-cmd (PID 1664664) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"'spelling'\": {\"type\": \"string\", \"value\": \"favourite\"},\n 3 │\u001b[0m \"spelling\": {\"type\": \"string\", \"value\": \"favorite\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/duplicate-keys-05\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664666):\n 1 │\u001b[0m a = 1\n 2 │\u001b[0m \"\\u0061\" = 1\n\n output from parser-cmd (PID 1664666) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"\\\\u0061\\\"\": {\"type\": \"integer\", \"value\": \"1\"},\n 3 │\u001b[0m \"a\": {\"type\": \"integer\", \"value\": \"1\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/duplicate-keys-06\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664667):\n 1 │\u001b[0m \"a'b\" = 1\n 2 │\u001b[0m \"a\\u0027b\" = 2\n\n output from parser-cmd (PID 1664667) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"a'b\\\"\": {\"type\": \"integer\", \"value\": \"1\"},\n 3 │\u001b[0m \"\\\"a\\\\u0027b\\\"\": {\"type\": \"integer\", \"value\": \"2\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/escape\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664690):\n 1 │\u001b[0m \\u00c0 = \"latin capital letter A with grave\"\n\n output from parser-cmd (PID 1664690) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\\u00c0\": {\"type\": \"string\", \"value\": \"latin capital letter A with grave\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/multiline-key-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664865):\n 1 │\u001b[0m \"\"\"key\"\"\" = 1\n\n output from parser-cmd (PID 1664865) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"\\\"\\\"\\\"key\\\"\\\"\\\"\": {\"type\": \"integer\", \"value\": \"1\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/multiline-key-02\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664720):\n 1 │\u001b[0m '''key''' = 1\n\n output from parser-cmd (PID 1664720) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"'''key'''\": {\"type\": \"integer\", \"value\": \"1\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/multiline-key-04\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664727):\n 1 │\u001b[0m '''key''' = '''v'''\n\n output from parser-cmd (PID 1664727) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"'''key'''\": {\"type\": \"string\", \"value\": \"''v''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/partial-quoted\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664821):\n 1 │\u001b[0m partial\"quoted\" = 5\n\n output from parser-cmd (PID 1664821) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"partial\\\"quoted\\\"\": {\"type\": \"integer\", \"value\": \"5\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/space\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664811):\n 1 │\u001b[0m a b = 1\n\n output from parser-cmd (PID 1664811) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"a b\": {\"type\": \"integer\", \"value\": \"1\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/special-character\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664817):\n 1 │\u001b[0m μ = \"greek small letter mu\"\n\n output from parser-cmd (PID 1664817) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"μ\": {\"type\": \"string\", \"value\": \"greek small letter mu\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/key/start-dot\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1664846):\n 1 │\u001b[0m .key = 1\n\n output from parser-cmd (PID 1664846) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \".key\": {\"type\": \"integer\", \"value\": \"1\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/string/bad-escape-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1665152):\n 1 │\u001b[0m invalid-escape = \"This string has a bad \\a escape character.\"\n\n output from parser-cmd (PID 1665152) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"invalid-escape\": {\"type\": \"string\", \"value\": \"This string has a bad \\u0007 escape character.\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/string/basic-byte-escapes\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1665257):\n 1 │\u001b[0m answer = \"\\x33\"\n\n output from parser-cmd (PID 1665257) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"answer\": {\"type\": \"string\", \"value\": \"3\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/string/literal-multiline-quotes-01\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1665335):\n 1 │\u001b[0m a = '''6 apostrophes: ''''''\n\n output from parser-cmd (PID 1665335) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"a\": {\"type\": \"string\", \"value\": \"''6 apostrophes: '''''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/string/literal-multiline-quotes-02\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1665426):\n 1 │\u001b[0m a = '''15 apostrophes: ''''''''''''''''''\n\n output from parser-cmd (PID 1665426) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"a\": {\"type\": \"string\", \"value\": \"''15 apostrophes: '''''''''''''''''\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/string/multiline-lit-no-close-02\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1665467):\n 1 │\u001b[0m x='''\n\n output from parser-cmd (PID 1665467) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"x\": {\"type\": \"string\", \"value\": \"'\"}\n 3 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/table/append-with-dotted-keys-05\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1665486):\n 1 │\u001b[0m a.b.c = 1\n 2 │\u001b[0m a.b = 2\n\n output from parser-cmd (PID 1665486) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"a.b\": {\"type\": \"integer\", \"value\": \"2\"},\n 3 │\u001b[0m \"a.b.c\": {\"type\": \"integer\", \"value\": \"1\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\nFAIL invalid/table/append-with-dotted-keys-06\n Expected an error, but no error was reported.\n\n input sent to parser-cmd (PID 1665487):\n 1 │\u001b[0m a = 1\n 2 │\u001b[0m a.b = 2\n\n output from parser-cmd (PID 1665487) (stdout):\n 1 │\u001b[0m {\n 2 │\u001b[0m \"a\": {\"type\": \"integer\", \"value\": \"1\"},\n 3 │\u001b[0m \"a.b\": {\"type\": \"integer\", \"value\": \"2\"}\n 4 │\u001b[0m }\n\n want:\n Exit code 1\n\ntoml-test v2.2.0 [/mnt/c/Users/barlo/projects/drydock/uat/Toml/runs/20260816.121804/build/toml/toml-decoder] [no encoder]\n valid tests: 38 passed, 167 failed\nencoder tests: no encoder command given\ninvalid tests: 415 passed, 59 failed\n","exit_code":1,"status":"failed"}}
{"type":"item.completed","item":{"id":"item_10","type":"agent_message","text":"The decoder-specific gates pass, including both stream/exit cases. The required unfiltered conformance run executes successfully but fails on parser features owned by later stages (arrays, tables, floats, dates, and strict invalid-input rules); its exit status is non-zero, so I will report that honestly rather than claim full conformance."}}
{"type":"item.started","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"printf '%s\\\\n' 'Changed source files:' && rg --files cmd internal | sort && printf '%s\\\\n' 'Formatting:' && test -z \\\"\"'$(gofmt -l cmd internal)\" && echo clean && printf '\"'%s\\\\n' 'Contract smoke:' && printf 'answer = 42\\\\n' | ./toml-decoder && printf '%s\\\\n' 'Invalid status:' && set +e; printf 'answer = [\\\\n' | ./toml-decoder >/tmp/toml-contract-out 2>/tmp/toml-contract-err; status=\"'$?; set -e; test \"$status\" -ne 0 && test ! -s /tmp/toml-contract-out && test -s /tmp/toml-contract-err && echo nonzero-with-stdout-empty-stderr-present'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"printf '%s\\\\n' 'Changed source files:' && rg --files cmd internal | sort && printf '%s\\\\n' 'Formatting:' && test -z \\\"\"'$(gofmt -l cmd internal)\" && echo clean && printf '\"'%s\\\\n' 'Contract smoke:' && printf 'answer = 42\\\\n' | ./toml-decoder && printf '%s\\\\n' 'Invalid status:' && set +e; printf 'answer = [\\\\n' | ./toml-decoder >/tmp/toml-contract-out 2>/tmp/toml-contract-err; status=\"'$?; set -e; test \"$status\" -ne 0 && test ! -s /tmp/toml-contract-out && test -s /tmp/toml-contract-err && echo nonzero-with-stdout-empty-stderr-present'","aggregated_output":"Changed source files:\ncmd/toml-decoder/main.go\ncmd/toml-decoder/main_test.go\ninternal/toml/toml.go\ninternal/toml/toml_test.go\nFormatting:\nclean\nContract smoke:\n{\"answer\":{\"type\":\"integer\",\"value\":\"42\"}}\nInvalid status:\nnonzero-with-stdout-empty-stderr-present\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_12","type":"agent_message","text":"RESULT: FAILED\n\nFILES CHANGED:\n- cmd/toml-decoder/main.go\n- cmd/toml-decoder/main_test.go\n- internal/toml/toml.go\n\nSUMMARY:\nImplemented and verified the decoder stdin, tagged-JSON, stderr diagnostic, and exit-status contract. Decoder and architecture gates pass. Full conformance fails on parser features assigned to later stages.\n\nBLOCKERS:\n- Full suite remains failing: 167 valid and 59 invalid cases failed.\n\nFAILURE_SUMMARY: Full TOML conformance is incomplete\nFAILURE_DETAIL: The current parser only supports basic scalar key/value pairs; later parser stages must implement arrays, tables, floats, datetimes, and strict validation before rerunning the full suite."}}
{"type":"turn.completed","usage":{"input_tokens":316819,"cached_input_tokens":281856,"cache_write_input_tokens":0,"output_tokens":4900,"reasoning_output_tokens":928}}
Run artifact