From a5b21af4884c322be173b045ec2fad57ef76e98e Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 5 May 2020 15:01:14 +0200 Subject: testsdkext/devtool: initialize the test component's git repo Devtool is relying on externalsrc class, which, in order to determine if a rebuild is needed, relies on git to checksum files (if the component tree is a git repo), or sets a flag to always rebuild if the component tree is not a git repo. This is problematic in testsdkext scenario, where the test component is inside a build directory, which itself is inside the poky repo checkout, and listed in .gitignore. What happens is that git walks up the tree and uses the index of the poky repo. This works okay with older versions of git, but git 2.26 complains that we're inside a directory that is ignored, and returns an error. To fix the issue, the git repository is initialized directly in the component directory, just prior to running the tests. Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/lib/oeqa/sdkext/cases/devtool.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/lib/oeqa/sdkext/cases/devtool.py b/meta/lib/oeqa/sdkext/cases/devtool.py index 8e92bf8064..a5c6a76e02 100644 --- a/meta/lib/oeqa/sdkext/cases/devtool.py +++ b/meta/lib/oeqa/sdkext/cases/devtool.py @@ -20,10 +20,16 @@ class DevtoolTest(OESDKExtTestCase): myapp_src = os.path.join(cls.tc.esdk_files_dir, "myapp") cls.myapp_dst = os.path.join(cls.tc.sdk_dir, "myapp") shutil.copytree(myapp_src, cls.myapp_dst) + subprocess.check_output(['git', 'init', '.'], cwd=cls.myapp_dst) + subprocess.check_output(['git', 'add', '.'], cwd=cls.myapp_dst) + subprocess.check_output(['git', 'commit', '-m', "'test commit'"], cwd=cls.myapp_dst) myapp_cmake_src = os.path.join(cls.tc.esdk_files_dir, "myapp_cmake") cls.myapp_cmake_dst = os.path.join(cls.tc.sdk_dir, "myapp_cmake") shutil.copytree(myapp_cmake_src, cls.myapp_cmake_dst) + subprocess.check_output(['git', 'init', '.'], cwd=cls.myapp_cmake_dst) + subprocess.check_output(['git', 'add', '.'], cwd=cls.myapp_cmake_dst) + subprocess.check_output(['git', 'commit', '-m', "'test commit'"], cwd=cls.myapp_cmake_dst) @classmethod def tearDownClass(cls): -- cgit 1.2.3-korg