Show the ninja string that failed to parse in errors

So that it's easier to debug what the problem is.

Test: m nothing
Change-Id: I97e81f98f0365e981d34c6b8bec8528de1b7e514
This commit is contained in:
Cole Faust 2023-01-19 14:23:04 -08:00
parent a405cf7f6a
commit c5baf11a2d
2 changed files with 4 additions and 4 deletions

View file

@ -118,7 +118,7 @@ func parseNinjaString(scope scope, str string) (ninjaString, error) {
r := rune(str[i]) r := rune(str[i])
state, err = state(parseState, i, r) state, err = state(parseState, i, r)
if err != nil { if err != nil {
return nil, err return nil, fmt.Errorf("error parsing ninja string %q: %s", str, err)
} }
} }

View file

@ -87,7 +87,7 @@ var ninjaParseTestCases = []struct {
strs: []string{"$ ", " "}, strs: []string{"$ ", " "},
}, { }, {
input: "foo $ bar", input: "foo $ bar",
err: "invalid character after '$' at byte offset 5", err: `error parsing ninja string "foo $ bar": invalid character after '$' at byte offset 5`,
}, },
{ {
input: "foo $", input: "foo $",
@ -95,11 +95,11 @@ var ninjaParseTestCases = []struct {
}, },
{ {
input: "foo ${} bar", input: "foo ${} bar",
err: "empty variable name at byte offset 6", err: `error parsing ninja string "foo ${} bar": empty variable name at byte offset 6`,
}, },
{ {
input: "foo ${abc!} bar", input: "foo ${abc!} bar",
err: "invalid character in variable name at byte offset 9", err: `error parsing ninja string "foo ${abc!} bar": invalid character in variable name at byte offset 9`,
}, },
{ {
input: "foo ${abc", input: "foo ${abc",