Screwtapello on Nostr: Sometimes, when I write a little tool, I am responsible enough to write some tests. ...
Sometimes, when I write a little tool, I am responsible enough to write some tests. When it's a Python tool, I can use Python's excellent built-in test harness (`python -m unittest`), but when I'm using some other language — or worse, a combination of languages — it would be nice to have a similar tool available.
I've discovered Perl's `prove` command - it looks for executable scripts matching `t/*.t`, it runs them (possibly in parallel), interprets their output according to a very straight-forward plain-text protocol (
https://testanything.org/ ), and shows a summary of the results. Very nice!
Unfortunately, when a test fails, it doesn't actually tell you *which* test failed. You can run `prove -f` which runs the tests again and prints the name of failing tests, but *only* the name. If they printed out some helpful diagnostics or logging, it's lost. You can also add verbose mode with `prove -f -v` to print all the diagnostics tests produce - but it shows *all* the diagnostics, even the ones from passing tests, not just the failed tests.
This seems... suboptimal.
#perl #tap
Published at
2026-04-18 09:16:36 UTCEvent JSON
{
"id": "6fee9be55b585d49793ebc2067983265f764d0f4aa824e3ce0f66c5df981bd79",
"pubkey": "3e72d9584922100ef82e9049379b123bb77d54f76bf67b6dd5e0f0a994a4dbd1",
"created_at": 1776503796,
"kind": 1,
"tags": [
[
"t",
"perl"
],
[
"proxy",
"https://teh.entar.net/@Screwtapello/116424952785994547",
"web"
],
[
"t",
"tap"
],
[
"proxy",
"https://teh.entar.net/users/Screwtapello/statuses/116424952785994547",
"activitypub"
],
[
"L",
"pink.momostr"
],
[
"l",
"pink.momostr.activitypub:https://teh.entar.net/users/Screwtapello/statuses/116424952785994547",
"pink.momostr"
],
[
"-"
]
],
"content": "Sometimes, when I write a little tool, I am responsible enough to write some tests. When it's a Python tool, I can use Python's excellent built-in test harness (`python -m unittest`), but when I'm using some other language — or worse, a combination of languages — it would be nice to have a similar tool available.\n\nI've discovered Perl's `prove` command - it looks for executable scripts matching `t/*.t`, it runs them (possibly in parallel), interprets their output according to a very straight-forward plain-text protocol ( https://testanything.org/ ), and shows a summary of the results. Very nice!\n\nUnfortunately, when a test fails, it doesn't actually tell you *which* test failed. You can run `prove -f` which runs the tests again and prints the name of failing tests, but *only* the name. If they printed out some helpful diagnostics or logging, it's lost. You can also add verbose mode with `prove -f -v` to print all the diagnostics tests produce - but it shows *all* the diagnostics, even the ones from passing tests, not just the failed tests.\n\nThis seems... suboptimal.\n\n#perl #tap",
"sig": "4ddbd6359bd7e3b3aa22105bca542f3e986af810f8885be5846b63bf3085b0cd742f6bc90882bc052a5465fd530ce304c0317fd8f85aeca04026a1675a5485be"
}