[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#749729: autopkgtest: cannot make tests executable in read only directory

Hi Nicolas!

<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/[0].

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.

[0] This is one of my (not yet uploaded) packages:
$ echo . debian/tests | xargs -n1 du -sh
242M    .
20K     debian/tests

Jakub Wilk

Reply to: