then put the paths yourself into PERL5LIB. Then you don't need to cd to any directory at all. Nor do you need to run "./Build" or make or any other harness.
Why would the caller need to know anything about the internals of the script to run it? Again, this is not a solution.
Compensating for the hardcoded @INC by putting "use lib" all over test scripts raises separation of concern issues.
No, you don't need to add any use lib for it to work. Saying it 5 times doesn't make it true.
M:B manages to provide a 100% portable way to put such files in a distro subdir of the distro-writer's choosing.
So does M::M. The same mechanism, in fact.
propose a solution that [...] ensures that files meant for build/test but not runtime never leave the distro.
I didn't know that was a problem.
propose a solution that uses ExtUtils::MakeMaker to run make file commands, doesn't interfere with M:B, is 100% portable, respects separation of concerns (no confusing operational code with the configuration needs of a specific environment), and ensures that files meant for build/test but not runtime never leave the distro.
Quite demanding from someone who states that it's ok to require intimate knowledge of the distro's file layout to run a test script.