Subject: | Tests always fail use_strict and has_abstract_in_pod if utf8 appears anywhere in the source files path. |
There is a problem where, utf8 doesn't need to be in the dist, merely in the filesystem path the dist is located at when the test is running, and that is sufficient to cause failure.
However, there is one important part to triggering the issue:
Meta.YML must have a provides index.
In the shown code, `prove -lvr xt/releases/kwalitee.t` will pass if the containing folder is ASCII
However, it will fail if the containing folder is UTF8 ( for instance, I was using /tmp/perl/fail_02♭ , which contains U+266d as its last character ).
It appears to be doing some mojibaking in paths somewhere, because `strace` reports as following.
strace -e trace=open,stat perl -Ilib xt/release/kwalitee.t |& grep tmp | grep ENOENT | grep Example
open("/tmp/perl/fail_02\303\242\302\231\302\255/lib/Example.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/tmp/perl/fail_02\303\242\302\231\302\255/lib/Example.pm", 0x82a9c0) = -1 ENOENT (No such file or directory)
All the successful reads used the path
stat("/tmp/perl/fail_02\342\231\255" ....
See attached image of reversal of those byte sequences.
Subject: | sn41.jpg |
Subject: | source-dump.txt |