TAP parsing + Buffered subtests seems to have a flaw
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- perl
- Domain
- testing-qa
Research direction
Start by running the reproduction in demo/tap/tap.t and tracing how TAP parsing handles buffered subtests and their event log entries. The fix is complete when the buffered subtest is displayed once and its nested events appear once in both the output and event log.
Written by the indexing model from the issue text.
Description
# HARNESS-NO-STREAM
use Test2::V0;
use Test2::Tools::Subtest qw/subtest_streamed subtest_buffered/;
ok(1, "An ok");
diag "A Diag";
note "A Note";
subtest_streamed streamed => sub {
ok(1, "streamed ok");
};
subtest_buffered buffered => sub {
ok(1, "buffered ok");
};
done_testing;
( LAUNCH ) job 1 demo/tap/tap.t
( NOTE ) job 1 Seeded srand with seed '20210309' from local date.
[ PASS ] job 1 + An ok
( NOTE ) job 1 A Note
( NOTE ) job 1 Subtest: streamed
[ PASS ] job 1 +~Subtest: streamed
[ PASS ] job 1 + streamed ok
[ PLAN ] job 1 | Expected assertions: 1
job 1 ^
[ PASS ] job 1 +~buffered
[ PASS ] job 1 +~buffered
[ PLAN ] job 1 Expected assertions: 3
( NOTE ) job 1 rss: 22732kB
( NOTE ) job 1 size: 31124kB
( NOTE ) job 1 peak: 31124kB
( DIAG ) job 1 A Diag
( PASSED ) job 1 demo/tap/tap.t
( TIME ) job 1 Startup: 0.01399s | Events: 0.00000s | Cleanup: 0.02992s | Total: 0.04391s
Notice that 'buffered' is displayed twice, and the nested events are not seen. The event log also has 'buffered' twice.
- Dominant language
- Perl
- Stars
- 28
- Forks
- 30
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Test-More/Test2-Harness
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
Test-More/Test2-Harness#457 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 52/100
Test-More/Test2-Harness#450 ·
-
Yath tests don't forward @INC to system commandsMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 3/5 1-2 days Newbie friendliness 48/100
Test-More/Test2-Harness#296 ·
-
The `t/integration/preload.t` test is broken on riscv64-linux (1.000155)May be free again A pull request for this issue was closed without being merged. Open
Difficulty 4/5 3-5 days Newbie friendliness 42/100
Test-More/Test2-Harness#290 · 3 comments · 2 reactions ·
-
yath displays arbitrary filenames without escapingMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 3/5 1-2 days Newbie friendliness 45/100
Test-More/Test2-Harness#286 · 1 comment ·
All issues in Test-More/Test2-Harness
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
bug help wanted
Difficulty 2/5 Under an hour Newbie friendliness 70/100
bioepic-data/bervo#145 · 1 comment ·
Maintainers usually reply within 1 day
-
Type: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
inverse-inc/packetfence#9413 ·
Maintainers usually reply within 1 day
-
Ubuntu .deb packages ship all files owned by uid/gid 1001 (CI user runner) instead of root:rootOpen
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Help-Wanted Needs-Triage Package-Update
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
microsoft/winget-pkgs#448814 · 1 comment ·
Maintainers usually reply within 1 day