-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
assert: display better error message for assertion #15883
Conversation
This commit makes understanding assertion failures easier by displaying the values that failed the assertion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. It might be even better to remove the message entirely and use the default message from assert.strictEqual()
.
This commit makes understanding assertion failures easier by displaying the values that failed the assertion. PR-URL: nodejs#15883 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
Landed in beb2357. |
@@ -150,5 +150,5 @@ const gunz = zlib.createGunzip(); | |||
inp.pipe(gzip).pipe(gunz).pipe(out); | |||
|
|||
out.on('data', common.mustCall((c) => { | |||
assert.strictEqual(c, inp._hash, 'hashes should match'); | |||
assert.strictEqual(c, inp._hash, `Hash '${c}' equals '${inp._hash}'.`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually not quite correct (although it was equally wrong before 😁 ). The message is displayed if the assert fails, which only happens when the two values are not equal to each other.
@SgtPooki if you could push a commit that just removes the message altogether (making it assert.strictEqual(c, inp._hash);
that would be really helpful.
I can, but assertion errors are typically worded similarly to commit messages: active present voice. The error message says "assertion error: msg" the error is that hashes should equal. The default message shows "assertion error: Val1 === val2" which is the same thing but without context. I decided to go with the custom message because I thought that mentioning they should be hashes was more helpful than the default. |
This commit makes understanding assertion failures easier by displaying the values that failed the assertion. PR-URL: #15883 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit makes understanding assertion failures easier by displaying the values that failed the assertion. PR-URL: nodejs/node#15883 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit makes understanding assertion failures easier by displaying the values that failed the assertion. PR-URL: #15883 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit makes understanding assertion failures easier by displaying the values that failed the assertion. PR-URL: #15883 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit makes understanding assertion failures easier by displaying the values that failed the assertion. PR-URL: #15883 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit makes understanding assertion failures easier by
displaying the values that failed the assertion.
Changes the error message from
to
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)