TL;DR^WABSTRACT: - Is it safe to bundle Test::TempDir::Tiny or similar in EUMs t/tlib? - I would really like it and it would make such testing cleanly much better, wow.
--- I'm just going to scratch this together here since the varied discussions on IRC probably haven't seen the right people and this is contributing to the stall. First and foremost: ExtUtils::Manifest has an ungainly unmaintainable test suite. It does a lot of IO, and every test ( of which there are a few hundred ) relies on the exit condition of the one before it. This makes doing any useful changes problematic in a plethora of ways. In an ideal situation, tests should be grouped in atomic batches, state created, the test performed, and the state destroyed. Naturally, File::Temp and friends are desired. But here, this creates a potential defect when a test fails, because the state becomes lost in closure. Which is why I seek to perform something similar to Test::TempDir::Tiny, where failure state is preserved on failure in the temporary directory. I also seek to split the test suite into multiple test files, each with batches of atomic logic. This, naturally, also requires a TempDir of some description, because simply splitting the current tests across several files creates guaranteed race conditions. However, the problem(s) at present with that approach is the dependencies. TTDT is all core-deps, but some of them might require XS ( Not sure what Cwd requires ). I'm glad to see it no longer uses Time::HiRes though, which greatly pleases me. -- Kent KENTNL - https://metacpan.org/author/KENTNL