[OE-core] [PATCH] oeqa/bbtests: Fix race over DL_DIR and SSTATE_DIR

Richard Purdie richard.purdie at linuxfoundation.org
Tue Jul 7 12:22:15 UTC 2015


Running "-c cleanall" on shared DL_DIR and SSTATE_DIR is antisocial.
It leads to hard to debug races where we wonder why files disappear
and reappear from those directories.

Fix this by using a specific set of directories for these tests. This
avoids a long standing bug on the autobuilder where aspell and man
sources would disappear.

[YOCTO #6276]

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

diff --git a/meta/lib/oeqa/selftest/bbtests.py b/meta/lib/oeqa/selftest/bbtests.py
index 9bd34ee..ffe0ea5 100644
--- a/meta/lib/oeqa/selftest/bbtests.py
+++ b/meta/lib/oeqa/selftest/bbtests.py
@@ -98,6 +98,8 @@ class BitbakeTests(oeSelfTest):
     def test_invalid_recipe_src_uri(self):
         data = 'SRC_URI = "file://invalid"'
         self.write_recipeinc('man', data)
+        self.write_config("DL_DIR = \"${TOPDIR}/download-selftest\"")
+        self.write_config("SSTATE_DIR = \"${TOPDIR}/download-selftest\"")
         bitbake('-ccleanall man')
         result = bitbake('-c fetch man', ignore_status=True)
         bitbake('-ccleanall man')
@@ -108,6 +110,8 @@ class BitbakeTests(oeSelfTest):
 
     @testcase(171)
     def test_rename_downloaded_file(self):
+        self.write_config("DL_DIR = \"${TOPDIR}/download-selftest\"")
+        self.write_config("SSTATE_DIR = \"${TOPDIR}/download-selftest\"")
         data = 'SRC_URI_append = ";downloadfilename=test-aspell.tar.gz"'
         self.write_recipeinc('aspell', data)
         bitbake('-ccleanall aspell')
@@ -170,6 +174,8 @@ class BitbakeTests(oeSelfTest):
 
     @testcase(1035)
     def test_continue(self):
+        self.write_config("DL_DIR = \"${TOPDIR}/download-selftest\"")
+        self.write_config("SSTATE_DIR = \"${TOPDIR}/download-selftest\"")
         self.write_recipeinc('man',"\ndo_fail_task () {\nexit 1 \n}\n\naddtask do_fail_task before do_fetch\n" )
         runCmd('bitbake -c cleanall man xcursor-transparent-theme')
         result = runCmd('bitbake man xcursor-transparent-theme -k', ignore_status=True)





More information about the Openembedded-core mailing list