diff options
Diffstat (limited to 'bitbake/lib/bb/tests/runqueue.py')
-rw-r--r-- | bitbake/lib/bb/tests/runqueue.py | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/bitbake/lib/bb/tests/runqueue.py b/bitbake/lib/bb/tests/runqueue.py index cb4d526f13..01b992c47c 100644 --- a/bitbake/lib/bb/tests/runqueue.py +++ b/bitbake/lib/bb/tests/runqueue.py | |||
@@ -312,92 +312,3 @@ class RunQueueTests(unittest.TestCase): | |||
312 | else: | 312 | else: |
313 | self.assertEqual(tasks.count(i), 1, "%s not in task list once" % i) | 313 | self.assertEqual(tasks.count(i), 1, "%s not in task list once" % i) |
314 | 314 | ||
315 | @unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required') | ||
316 | def test_hashserv_partial_match(self): | ||
317 | # e1:do_package matches initial built but not second hash value | ||
318 | with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: | ||
319 | extraenv = { | ||
320 | "BB_HASHSERVE" : "auto", | ||
321 | "BB_SIGNATURE_HANDLER" : "TestEquivHash" | ||
322 | } | ||
323 | cmd = ["bitbake", "a1", "b1"] | ||
324 | setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', | ||
325 | 'populate_sysroot_setscene', 'package_qa_setscene'] | ||
326 | sstatevalid = "" | ||
327 | tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) | ||
328 | expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] | ||
329 | self.assertEqual(set(tasks), set(expected)) | ||
330 | with open(tempdir + "/stamps/a1.do_install.taint", "w") as f: | ||
331 | f.write("d460a29e-903f-4b76-a96b-3bcc22a65994") | ||
332 | with open(tempdir + "/stamps/b1.do_install.taint", "w") as f: | ||
333 | f.write("ed36d46a-2977-458a-b3de-eef885bc1817") | ||
334 | cmd = ["bitbake", "e1"] | ||
335 | sstatevalid = "e1:do_package:685e69a026b2f029483fdefe6a11e1e06641dd2a0f6f86e27b9b550f8f21229d" | ||
336 | tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) | ||
337 | expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', | ||
338 | 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', | ||
339 | 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene', | ||
340 | 'e1:package_setscene'] + ['e1:' + x for x in self.alltasks] | ||
341 | expected.remove('e1:package') | ||
342 | self.assertEqual(set(tasks), set(expected)) | ||
343 | |||
344 | @unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required') | ||
345 | def test_hashserv_partial_match2(self): | ||
346 | # e1:do_package + e1:do_populate_sysroot matches initial built but not second hash value | ||
347 | with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: | ||
348 | extraenv = { | ||
349 | "BB_HASHSERVE" : "auto", | ||
350 | "BB_SIGNATURE_HANDLER" : "TestEquivHash" | ||
351 | } | ||
352 | cmd = ["bitbake", "a1", "b1"] | ||
353 | setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', | ||
354 | 'populate_sysroot_setscene', 'package_qa_setscene'] | ||
355 | sstatevalid = "" | ||
356 | tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) | ||
357 | expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] | ||
358 | self.assertEqual(set(tasks), set(expected)) | ||
359 | with open(tempdir + "/stamps/a1.do_install.taint", "w") as f: | ||
360 | f.write("d460a29e-903f-4b76-a96b-3bcc22a65994") | ||
361 | with open(tempdir + "/stamps/b1.do_install.taint", "w") as f: | ||
362 | f.write("ed36d46a-2977-458a-b3de-eef885bc1817") | ||
363 | cmd = ["bitbake", "e1"] | ||
364 | sstatevalid = "e1:do_package:685e69a026b2f029483fdefe6a11e1e06641dd2a0f6f86e27b9b550f8f21229d e1:do_populate_sysroot:ef7dc0e2dd55d0534e75cba50731ff42f949818b6f29a65d72bc05856e56711d" | ||
365 | tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) | ||
366 | expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', | ||
367 | 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', | ||
368 | 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene', | ||
369 | 'e1:package_setscene', 'e1:populate_sysroot_setscene', 'e1:build', 'e1:package_qa', 'e1:package_write_rpm', 'e1:package_write_ipk', 'e1:packagedata'] | ||
370 | self.assertEqual(set(tasks), set(expected)) | ||
371 | |||
372 | @unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required') | ||
373 | def test_hashserv_partial_match3(self): | ||
374 | # e1:do_package is valid for a1 but not after b1 | ||
375 | # In former buggy code, this triggered e1:do_fetch, then e1:do_populate_sysroot to run | ||
376 | # with none of the intermediate tasks which is a serious bug | ||
377 | with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir: | ||
378 | extraenv = { | ||
379 | "BB_HASHSERVE" : "auto", | ||
380 | "BB_SIGNATURE_HANDLER" : "TestEquivHash" | ||
381 | } | ||
382 | cmd = ["bitbake", "a1", "b1"] | ||
383 | setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene', | ||
384 | 'populate_sysroot_setscene', 'package_qa_setscene'] | ||
385 | sstatevalid = "" | ||
386 | tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True) | ||
387 | expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] | ||
388 | self.assertEqual(set(tasks), set(expected)) | ||
389 | with open(tempdir + "/stamps/a1.do_install.taint", "w") as f: | ||
390 | f.write("d460a29e-903f-4b76-a96b-3bcc22a65994") | ||
391 | with open(tempdir + "/stamps/b1.do_install.taint", "w") as f: | ||
392 | f.write("ed36d46a-2977-458a-b3de-eef885bc1817") | ||
393 | cmd = ["bitbake", "e1", "-DD"] | ||
394 | sstatevalid = "e1:do_package:af056eae12a733a6a8c4f4da8c6757e588e13565852c94e2aad4d953a3989c13 e1:do_package:a3677703db82b22d28d57c1820a47851dd780104580863f5bd32e66e003a779d" | ||
395 | tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True, slowtasks="e1:fetch b1:install") | ||
396 | expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot', | ||
397 | 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene', | ||
398 | 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene', | ||
399 | 'e1:package_setscene'] + ['e1:' + x for x in self.alltasks] | ||
400 | expected.remove('e1:package') | ||
401 | self.assertEqual(set(tasks), set(expected)) | ||
402 | |||
403 | |||