Skip to content

Commit

Permalink
Add msg-arg for lang.assert
Browse files Browse the repository at this point in the history
  • Loading branch information
Rafflesiaceae committed May 22, 2022
1 parent 3234dec commit 602df4b
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
15 changes: 11 additions & 4 deletions lang/assert.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,13 @@ func Assert(thread *starlark.Thread, fn *starlark.Builtin, args starlark.Tuple,
// @TODO return an AssertionError that also involves a backtrace
var err error

var x, y starlark.Comparable
var xfail starlark.Bool
var (
msg string
x, y starlark.Comparable
xfail starlark.Bool
)

if err := starlark.UnpackArgs("assert", args, kwargs, "x", &x, "y?", &y, "xfail?", &xfail); err != nil {
if err := starlark.UnpackArgs("assert", args, kwargs, "x", &x, "y?", &y, "msg?", &msg, "xfail?", &xfail); err != nil {
return nil, err
}

Expand All @@ -33,7 +36,11 @@ func Assert(thread *starlark.Thread, fn *starlark.Builtin, args starlark.Tuple,
}

if !truth {
return starlark.None, fmt.Errorf("%s != %s", x, y)
if msg == "" {
return starlark.None, fmt.Errorf("%s != %s", x, y)
} else {
return starlark.None, fmt.Errorf("%s; %s != %s", msg, x, y)
}
}

return starlark.None, nil
Expand Down
3 changes: 3 additions & 0 deletions quicktest.nosh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ assert(7+1, 8)
assert(1, 2, xfail=True)
assert("neurath")
assert(not "")
# test msg-arg
res = run(os.executable(), "-c", 'assert(False, msg="Neurath")', capture=["stderr"], check=False)
assert(res.stderr, "Traceback (most recent call last):\n -c:1:7: in <toplevel>\nError in assert: Neurath; False != True\n")

# TEST starlark features
## @XXX f"...{foo}..." formatting strings don't work yet
Expand Down

0 comments on commit 602df4b

Please sign in to comment.