Skip to content

Report line number in active file handle for test failures #901

@dboehmer

Description

@dboehmer

I often use the DATA block for storing test data and process that in a loop. I just realized that warn() and die() report the line number of the current file handle but tests don’t. But that would be very handy for test statements repeated in a loop.

I think it should be possible to do so. Do you agree it’s desirable?

use Test2::V0;

is <DATA> => 'foo';
warn 'warns';
die 'dies';

__DATA__
bar
$ perl test.t
# Seeded srand with seed '20221020' from local date.
not ok 1
# Failed test at test.t line 3.
# +-------+----+-------+
# | GOT   | OP | CHECK |
# +-------+----+-------+
# | bar\n | eq | foo   |
# +-------+----+-------+
warns at test.t line 4, <DATA> line 1.
dies at test.t line 5, <DATA> line 1.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 after test #1.

I suggest the output should look like:

not ok 1
# Failed test at test.t line 3, <DATA> line 1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions