oeqa: testcase caching


Konrad Weihmann
 

Hi all,

I have a bunch of custom testcases (oeqa/runtime/cases) which are interacting with "d" from the build host - basically fetching some info while executing the test, e.g.

foo = self.tc.td['MY_CUSTOM_VAR']

What I've seen is that these files create python __pycache__ files during parsing of the testimage run.

On the initial run everything is working like expected, but if I now change the variable "MY_CUSTOM_VAR", without modifying the target-filesystem the value inside the test case doesn't get updated.

Did anyone else encountered this?

To me it seems like the value of the var does make it into the pycache files, ignoring the updated value on a second run.

On that note: wouldn't it make sense to disable the cache creation for oeqa test cases? just to mitigate chances of such scenarios?

Or maybe I'm doing something wrong here, so any pointers are highly appreciated.

Regards
Konrad


Richard Purdie
 

On Mon, 2021-01-04 at 11:44 +0100, Konrad Weihmann wrote:
I have a bunch of custom testcases (oeqa/runtime/cases) which are
interacting with "d" from the build host - basically fetching some
info
while executing the test, e.g.

foo = self.tc.td['MY_CUSTOM_VAR']

What I've seen is that these files create python __pycache__ files
during parsing of the testimage run.

On the initial run everything is working like expected, but if I now
change the variable "MY_CUSTOM_VAR", without modifying the
target-filesystem the value inside the test case doesn't get updated.

Did anyone else encountered this?

To me it seems like the value of the var does make it into the
pycache
files, ignoring the updated value on a second run.

On that note: wouldn't it make sense to disable the cache creation
for
oeqa test cases? just to mitigate chances of such scenarios?

Or maybe I'm doing something wrong here, so any pointers are highly
appreciated.
FWIW this doesn't sound right to me. pyc files (in __pycache__) would
cache the code, not data so I don't see how these values would be
preserved there. I don't doubt you're seeing some kind of issue but I
suspect its more likely bitbake's cache or something...

Cheers,

Richard