diff options
| author | Laurent Bonnans <laurent.bonnans@here.com> | 2018-05-18 15:49:53 +0200 |
|---|---|---|
| committer | Laurent Bonnans <laurent.bonnans@here.com> | 2018-05-18 15:49:53 +0200 |
| commit | 05b971db716352d346744ebd2dd3f5b1de3f83b8 (patch) | |
| tree | 1b5de20ce437b66e832e7d7e9b612862fb76434f /lib/oeqa/selftest/cases/updater.py | |
| parent | b7cc58bcbcc712d5403572d071c3139cd47d5d4c (diff) | |
| parent | 164e73cd749320ca25477406f409a826fc6ac5b6 (diff) | |
| download | meta-updater-05b971db716352d346744ebd2dd3f5b1de3f83b8.tar.gz | |
Merge remote-tracking branch 'ats/rocko' into sumo-candidate
Diffstat (limited to 'lib/oeqa/selftest/cases/updater.py')
| -rw-r--r-- | lib/oeqa/selftest/cases/updater.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/lib/oeqa/selftest/cases/updater.py b/lib/oeqa/selftest/cases/updater.py index e459ffb..2efef15 100644 --- a/lib/oeqa/selftest/cases/updater.py +++ b/lib/oeqa/selftest/cases/updater.py | |||
| @@ -150,6 +150,8 @@ class AutoProvTests(OESelftestTestCase): | |||
| 150 | self.meta_qemu = None | 150 | self.meta_qemu = None |
| 151 | self.append_config('MACHINE = "qemux86-64"') | 151 | self.append_config('MACHINE = "qemux86-64"') |
| 152 | self.append_config('SOTA_CLIENT_PROV = " aktualizr-auto-prov "') | 152 | self.append_config('SOTA_CLIENT_PROV = " aktualizr-auto-prov "') |
| 153 | # Test aktualizr-example-interface package. | ||
| 154 | self.append_config('IMAGE_INSTALL_append = " aktualizr-examples aktualizr-example-interface "') | ||
| 153 | self.qemu, self.s = qemu_launch(machine='qemux86-64') | 155 | self.qemu, self.s = qemu_launch(machine='qemux86-64') |
| 154 | 156 | ||
| 155 | def tearDownLocal(self): | 157 | def tearDownLocal(self): |
| @@ -174,15 +176,21 @@ class AutoProvTests(OESelftestTestCase): | |||
| 174 | print(value) | 176 | print(value) |
| 175 | print('Checking output of aktualizr-info:') | 177 | print('Checking output of aktualizr-info:') |
| 176 | ran_ok = False | 178 | ran_ok = False |
| 177 | for delay in [0, 1, 2, 5, 10, 15]: | 179 | for delay in [1, 2, 5, 10, 15]: |
| 178 | sleep(delay) | ||
| 179 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') | 180 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') |
| 180 | if retcode == 0 and stderr == b'': | 181 | if retcode == 0 and stderr == b'': |
| 181 | ran_ok = True | 182 | ran_ok = True |
| 182 | break | 183 | break |
| 184 | sleep(delay) | ||
| 183 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) | 185 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) |
| 184 | 186 | ||
| 185 | verifyProvisioned(self, machine) | 187 | verifyProvisioned(self, machine) |
| 188 | # Test aktualizr-example-interface package. | ||
| 189 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') | ||
| 190 | self.assertIn(b'hardware ID: example1', stdout, | ||
| 191 | 'Legacy secondary initialization failed: ' + stderr.decode() + stdout.decode()) | ||
| 192 | self.assertIn(b'hardware ID: example2', stdout, | ||
| 193 | 'Legacy secondary initialization failed: ' + stderr.decode() + stdout.decode()) | ||
| 186 | 194 | ||
| 187 | 195 | ||
| 188 | class RpiTests(OESelftestTestCase): | 196 | class RpiTests(OESelftestTestCase): |
| @@ -312,12 +320,12 @@ class GrubTests(OESelftestTestCase): | |||
| 312 | print(value) | 320 | print(value) |
| 313 | print('Checking output of aktualizr-info:') | 321 | print('Checking output of aktualizr-info:') |
| 314 | ran_ok = False | 322 | ran_ok = False |
| 315 | for delay in [0, 1, 2, 5, 10, 15]: | 323 | for delay in [1, 2, 5, 10, 15]: |
| 316 | sleep(delay) | ||
| 317 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') | 324 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') |
| 318 | if retcode == 0 and stderr == b'': | 325 | if retcode == 0 and stderr == b'': |
| 319 | ran_ok = True | 326 | ran_ok = True |
| 320 | break | 327 | break |
| 328 | sleep(delay) | ||
| 321 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) | 329 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) |
| 322 | 330 | ||
| 323 | verifyProvisioned(self, machine) | 331 | verifyProvisioned(self, machine) |
| @@ -364,11 +372,12 @@ class ImplProvTests(OESelftestTestCase): | |||
| 364 | print(value) | 372 | print(value) |
| 365 | print('Checking output of aktualizr-info:') | 373 | print('Checking output of aktualizr-info:') |
| 366 | ran_ok = False | 374 | ran_ok = False |
| 367 | for delay in [0, 1, 2, 5, 10, 15]: | 375 | for delay in [1, 2, 5, 10, 15]: |
| 368 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') | 376 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') |
| 369 | if retcode == 0 and stderr == b'': | 377 | if retcode == 0 and stderr == b'': |
| 370 | ran_ok = True | 378 | ran_ok = True |
| 371 | break | 379 | break |
| 380 | sleep(delay) | ||
| 372 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) | 381 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) |
| 373 | # Verify that device has NOT yet provisioned. | 382 | # Verify that device has NOT yet provisioned. |
| 374 | self.assertIn(b'Couldn\'t load device ID', stdout, | 383 | self.assertIn(b'Couldn\'t load device ID', stdout, |
| @@ -435,11 +444,12 @@ class HsmTests(OESelftestTestCase): | |||
| 435 | print(value) | 444 | print(value) |
| 436 | print('Checking output of aktualizr-info:') | 445 | print('Checking output of aktualizr-info:') |
| 437 | ran_ok = False | 446 | ran_ok = False |
| 438 | for delay in [0, 1, 2, 5, 10, 15]: | 447 | for delay in [1, 2, 5, 10, 15]: |
| 439 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') | 448 | stdout, stderr, retcode = self.qemu_command('aktualizr-info') |
| 440 | if retcode == 0 and stderr == b'': | 449 | if retcode == 0 and stderr == b'': |
| 441 | ran_ok = True | 450 | ran_ok = True |
| 442 | break | 451 | break |
| 452 | sleep(delay) | ||
| 443 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) | 453 | self.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) |
| 444 | # Verify that device has NOT yet provisioned. | 454 | # Verify that device has NOT yet provisioned. |
| 445 | self.assertIn(b'Couldn\'t load device ID', stdout, | 455 | self.assertIn(b'Couldn\'t load device ID', stdout, |
| @@ -589,6 +599,7 @@ class PrimaryTests(OESelftestTestCase): | |||
| 589 | self.assertEqual(retcode, 0, "Unable to run aktualizr --help") | 599 | self.assertEqual(retcode, 0, "Unable to run aktualizr --help") |
| 590 | self.assertEqual(stderr, b'', 'Error: ' + stderr.decode()) | 600 | self.assertEqual(stderr, b'', 'Error: ' + stderr.decode()) |
| 591 | 601 | ||
| 602 | |||
| 592 | def qemu_launch(efi=False, machine=None, imagename=None): | 603 | def qemu_launch(efi=False, machine=None, imagename=None): |
| 593 | logger = logging.getLogger("selftest") | 604 | logger = logging.getLogger("selftest") |
| 594 | logger.info('Running bitbake to build core-image-minimal') | 605 | logger.info('Running bitbake to build core-image-minimal') |
| @@ -660,12 +671,12 @@ def akt_native_run(testInst, cmd, **kwargs): | |||
| 660 | def verifyProvisioned(testInst, machine): | 671 | def verifyProvisioned(testInst, machine): |
| 661 | # Verify that device HAS provisioned. | 672 | # Verify that device HAS provisioned. |
| 662 | ran_ok = False | 673 | ran_ok = False |
| 663 | for delay in [5, 5, 5, 5, 10]: | 674 | for delay in [5, 5, 5, 5, 10, 10, 10, 10]: |
| 664 | sleep(delay) | ||
| 665 | stdout, stderr, retcode = testInst.qemu_command('aktualizr-info') | 675 | stdout, stderr, retcode = testInst.qemu_command('aktualizr-info') |
| 666 | if retcode == 0 and stderr == b'' and stdout.decode().find('Fetched metadata: yes') >= 0: | 676 | if retcode == 0 and stderr == b'' and stdout.decode().find('Fetched metadata: yes') >= 0: |
| 667 | ran_ok = True | 677 | ran_ok = True |
| 668 | break | 678 | break |
| 679 | sleep(delay) | ||
| 669 | testInst.assertIn(b'Device ID: ', stdout, 'Provisioning failed: ' + stderr.decode() + stdout.decode()) | 680 | testInst.assertIn(b'Device ID: ', stdout, 'Provisioning failed: ' + stderr.decode() + stdout.decode()) |
| 670 | testInst.assertIn(b'Primary ecu hardware ID: ' + machine.encode(), stdout, | 681 | testInst.assertIn(b'Primary ecu hardware ID: ' + machine.encode(), stdout, |
| 671 | 'Provisioning failed: ' + stderr.decode() + stdout.decode()) | 682 | 'Provisioning failed: ' + stderr.decode() + stdout.decode()) |
