Bug#749729: autopkgtest: cannot make tests executable in read only directory
<hat type="sadt maintainer">
* Nicolas Boulenguez <nicolas at debian.org>, 2014-05-29, 15:16:
>Hello. doc/README.package-tests states:
> The cwd of each test is guaranteed to be the root of the source
> package. [...] Tests may not modify the source tree [...].
> If the file to be executed has no execute bits set, chmod a+x is
> applied to it. [...]
>Adt-run uses a temporary copy of the tests, while sadt uses the
>original ones from the source directory. Both call chown, and the
>latter will fail if ever used in a read-only source directory.
Yeah, sadt won't let you run non-executable tests in a read-only
directory. That's one of many limitations of sadt. It wasn't designed to
be comprehensive, but to be lightweight.
If you have a realistic use case, we may of course discuss lifting this
>These statements should be clarified to avoid contradictory
>interpretations before sadt is considered buggy.
I'm not sure what is unclear about the current wording.
>I would appreciate a solution keeping both benefits, by requiring the
>tests to be copied in a temp dir for example.
You would have to copy the whole source package, which can be orders of
magnitude bigger than just debian/tests/.
Anyway, README.package-tests should only define what the package
maintainers can do (e.g., they can stop worrying about tests
permissions), and what they can't do (e.g., the tests can't write to
cwd). It shouldn't dictate how a test runner is implemented.
 This is one of my (not yet uploaded) packages:
$ echo . debian/tests | xargs -n1 du -sh