[OE-core] nondeterministic -c testimage (python3 from hosttools vs recipe-sysroot-native)

André Draszik git at andred.net
Tue Feb 4 08:43:19 UTC 2020


Hi,

I have some OEQA image tests where external python3 scripts are invoked by the OEQA
test case.

Those external scripts use #!/usr/bin/env python3 as shebang.

Now it appears that if rm-work is enabled, those are run using python3 from the
tmp/hosttools/python3 symlink and without rm-work, they run using python3 from the
recipe-sysroot-native (which all makes sense).

But the whole testing becomes a bit nondeterministic... In particular, those external
python3 script import modules that
are not available in the recipe-sysroot-native (but
they are in the host's python3 installation).


What is the correct solution here - considering that
a) OEQA test cases themselves are run using hosttools' python3, and also considering
b) that additional hosttools symlinks are added if testimage is enabled (via
bitbake.conf)



1) Should testimage remove the recipe-sysroot-native from PATH (for the duration of the
test) so that everything runs in the same environment? Or 
2) should my image update TESTIMAGEDEPENDS and depend on python3-native and all the extra
python3 native module recipes from OE.


I'm inclined to send a patch to update PATH for the testimage run, but wanted to gauge
opinions first?


What is the correct approach here?



Cheers,
Andre'




More information about the Openembedded-core mailing list