I'd like to have scripts available to automate stress testing of the sstate packages to ensure they can be relocated and that each recipe can build against an otherwise complete sstate cache. It would also be useful to run the test build in a different location to the original build and remove the original build directory so that any original files do not exist.
Quote the comments in 2082: I will add the sstate test cases for bug 2082 into QA 1.2 M4 cycle. And we are setting up the regression test server to automate some build feature testing. According to the description for the sstate failure, we could add a case on regression test server to cover the bug. Furthermore, we could add a simple script to automate everything including the testing environment setup and running. I will cook one and send out for review.
We have seen sstate issues with non standard locations of $SHELL. Our release build machine had $SHELL at /usr/bin/bash, which broke subsequent SSTATE_MIRROR builds on other test machines without bash in this location. Perhaps this testcase could "randomize" the location of needed ENV as well.
Corneliu will investigate how to use selftest for the scenarios presented.
The stress case is: a) Run a build in /xxx/buildA b) Save off the sstate and remove the directory /xxx/buildA. It must be removed for the test to have maximal coverage. c) Iterate over a list of recipes where one at a time, a given recipe is removed from the sstate cache and then bitbake'd in /xxx/buildB. It should never fail and all build correctly each time.
Patch on oe-core ML.
Patch merged: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=464c120036011f2d8e5ce5f33a5d449fa0fefc83 Edit: Removed dependency on bug 2082 because that one is more specific than this and also can be done separately.
Verified on master branch. Commit ID: ea90bd054c449a8e19c474c8bfa8c289f692c33f