On Wed, 8 Apr 2020, Petr Pisar wrote:
>>> Is there a recommended way for detecting when a package
is being
>>> built under mock? I have a package where some tests fail due to
>>> various things not being present in a mock container, e.g, /dev/log
>>> doesn't exist. I can just disable these tests downstream, but
>>> upstream might take a change if I can wrap them in a "if !mock"
>>> condition.
>>
>> Why not test for the presence of /dev/log before running such tests?
>
> Well, in the particular case of that test, checking whether /dev/log exists
> *is* the test.
>
Then it's a bug in the test. Since when /dev/log must exist on a system? You
can have various environments that are missing the socket. Mock is jist one of
them.
It's a test for a piece of code that identifies a file as a socket. So
basically upstream is using /dev/log as a well-known place to find a
socket file. I suppose they could/should just be creating their own.
Anyway, to answer my own question, I found that the environment variable
'container' is set in mock, so that seems to be a possible way to identify
a mock or container environment.
Scott