[OE-core] [PATCH v2 2/2] oeqa/selftest: new tests for devtool upgrage feature

Leonardo Sandoval leonardo.sandoval.gonzalez at linux.intel.com
Wed Aug 26 16:51:27 UTC 2015



On 08/26/2015 11:47 AM, Paul Eggleton wrote:
> On Wednesday 26 August 2015 11:29:37 Leonardo Sandoval wrote:
>> On 08/26/2015 11:15 AM, Aníbal Limón wrote:
>>> Comments below.
>>>
>>> On 26/08/15 02:43, leonardo.sandoval.gonzalez at linux.intel.com wrote:
>>>> From: Leonardo Sandoval <leonardo.sandoval.gonzalez at linux.intel.com>
>>>>
>>>> Basic tests for the devtool's upgrade feature, including:
>>>>         * Parameter check
>>>>         * Upgrading a real recipe (e2fsprogrs) without patching and
>>>>
>>>>             checing its output
>>>>
>>>>         * Devtool status after upgrade
>>>>
>>>> Signed-off-by: Leonardo Sandoval
>>>> <leonardo.sandoval.gonzalez at linux.intel.com>
>>>> ---
>>>>
>>>>    meta/lib/oeqa/selftest/devtool.py | 36
>>>>
>>>> ++++++++++++++++++++++++++++++++++++
>>>>
>>>>    1 file changed, 36 insertions(+)
>>>>
>>>> diff --git a/meta/lib/oeqa/selftest/devtool.py
>>>> b/meta/lib/oeqa/selftest/devtool.py
>>>> index b59db15..f72e010 100644
>>>> --- a/meta/lib/oeqa/selftest/devtool.py
>>>> +++ b/meta/lib/oeqa/selftest/devtool.py
>>>>
>>>> @@ -857,3 +857,39 @@ class DevtoolTests(DevtoolBase):
>>>>                result = runCmd('devtool undeploy-target -c %s root@%s'
>>>>
>>>> % (testrecipe, qemu.ip))
>>>>
>>>>                result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip,
>>>>
>>>> testcommand), ignore_status=True)
>>>>
>>>>                self.assertNotEqual(result, 0, 'undeploy-target did not
>>>>
>>>> remove command as it should have')
>>>> +
>>>> +    def test_devtool_upgrade(self):
>>>> +        # Check preconditions
>>>> +        workspacedir = os.path.join(self.builddir, 'workspace')
>>>> +        self.assertTrue(not os.path.exists(workspacedir), 'This test
>>>> cannot be run with a workspace directory under the build directory')
>>>> +        # Check parameters
>>>> +        result = runCmd('devtool upgrade -h')
>>>> +        for param in 'recipename srctree --version -V --branch -b
>>>> --keep-temp --no-patch'.split():
>>>> +            self.assertIn(param, result.output)
>>>> +        # For the moment, we are using a real recipe.
>>>> +        recipe='e2fsprogs'
>>>> +        version='1.42.13'
>>>
>>> Isn't a guarantee that this version will be newer ever (i.e. if someone
>>> upgrade e2fsprogs to 1.42.13) what happen in this case?
>>
>> Good question. In fact, the code will fail just in case current and
>> upgrade version are the same. The tool can also do downgrades, so at the
>> end it does not matter what the version is. I will correct this point
>> and send a v3.
>>
>> As mentioned by Paul in a previous message, we need 'upgradable' recipes
>> which whenever the test is done, it can be upgrade. The only point here
>> is that we need a tarball somewhere, so the URL is always live. Not sure
>> if poky repository is a good place for the latter, any suggestion?
>
> This is what we have meta-selftest for. We can put a recipe (or multiple
> recipes) in there that's named specially so as not to overlap with one in OE-
> Core and is a known old version.

Good. I will add a new recipe there and a tarball. Sending a V3 today.

>
> Cheers,
> Paul
>



More information about the Openembedded-core mailing list