Hi Ralf, On 03-08-18 11:46, Ralf Treinen wrote: >>> An alternative solution in my use case would be to use the "skippable" >>> restriction, apt-get install the backend in the test and exit 77 when >>> this fails, but this would mean using root access without a good reason. >> >> Ok, so you actually don't want flaky, but you want to make your test >> depends arch aware, (Depends: x y [amd64]), > > no, I do not want to hardcode in my package the list of archtictures on > which my Recommended packages build or do not build. This would be a > maintenance nightmare.
Ack. But let's distinguish solutions between stuff that works now and the final desired situation. My proposals works now, with relatively little effort in the test (the check if it is installed). Maybe, but I am just thinking out load, what we are searching for is a way to say in the test definition: only run on these architectures. One of the ways of saying that would need to be: where packages ((x and y) or z) is available. Well, writing it down matches close to what you want, maybe we want a restriction that says "skippable if dependencies are unsatisfied". That way as the maintainer you are in control, and we don't need to make this the default (as explained, that would be bad). On the other hand, if you have this, it would make that test insensitive to real dependencies issues, but the migration software should handle those anyways. I think, but I can't find it in documentation, is that you can also have this *now*. (You proposed this in your mail from May, except we didn't have the skippable then) Make the test skippable, add an alternative depends in your test that is widely available (e.g. why3 in your case), check if the first alternative is available and if not exit 77. This relies on apt in a way that I can't find documented. I mean, as a human reader I would say the latter alternative is already (going to be) installed, so why bother installing the first. We would need to test if apt behaves as we suspect, otherwise, depend on something unrelated. >> in your test check if your >> dependency is installed and if not, exit 0 (or 77 with skippable). > > This works only if the testbed will install as many of my *alternative* > Recommends as possible. Why? > If I understand correctly, apt-get will just install > the first of these alternatives if possible, which means that all the other > tests are useless because their test-dependency will not be satisfied. Also this I don't get. Maybe you are not understanding what I meant (or the opposite, I am not understanding you). If you had test A, which depends on why3 and cvc4 [amd64], you run the test on i386, then cvc4 would not be installed, but installation is OK. Then before anything else you test if cvc4 is installed and on i386, you would exit 77. >> Please, don't use apt-get if you don't want to be testing apt. > > yes, we agree here. Thanks for that, one worry down. Paul
signature.asc
Description: OpenPGP digital signature