Skip to content
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

fix(lib/test): stack traces when res.name is Error, not string #532

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Jan 4, 2021

  1. fix(lib/test): stack traces when res.name is Error, not string

    When executing tests, the res.name property
    (as constructed in the ./lib/test.js#_assert method)
    is actually not a string but the error that was thrown.
    This (assuming edge case) combined with
    extra.error and opts.error both being falsy ends up
    producing this situation where feeding res.name into
    the Error constructor makes the original error's stack
    trace disappear and only it's message remains with the
    newly constructed Error instance holding a completely
    generic stack trace that's internal to tape's source code
    (and therefore not much use when a test is failing due to
    some code is throwing exceptions instead of failing an
    assertion).
    
    Signed-off-by: Peter Somogyvari <peter.metz@unarin.com>
    petermetz authored and ljharb committed Jan 4, 2021
    Configuration menu
    Copy the full SHA
    3e8cf85 View commit details
    Browse the repository at this point in the history