diff options
-rw-r--r-- | bitbake/lib/bb/tests/fetch.py | 73 |
1 files changed, 27 insertions, 46 deletions
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index 5cccdf6ef4..b1ff2c005f 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py | |||
@@ -393,6 +393,15 @@ class FetcherTest(unittest.TestCase): | |||
393 | bb.process.run('chmod u+rw -R %s' % self.tempdir) | 393 | bb.process.run('chmod u+rw -R %s' % self.tempdir) |
394 | bb.utils.prunedir(self.tempdir) | 394 | bb.utils.prunedir(self.tempdir) |
395 | 395 | ||
396 | def git(self, cmd, cwd=None): | ||
397 | if isinstance(cmd, str): | ||
398 | cmd = 'git ' + cmd | ||
399 | else: | ||
400 | cmd = ['git'] + cmd | ||
401 | if cwd is None: | ||
402 | cwd = self.gitdir | ||
403 | return bb.process.run(cmd, cwd=cwd)[0] | ||
404 | |||
396 | class MirrorUriTest(FetcherTest): | 405 | class MirrorUriTest(FetcherTest): |
397 | 406 | ||
398 | replaceuris = { | 407 | replaceuris = { |
@@ -699,28 +708,24 @@ class FetcherLocalTest(FetcherTest): | |||
699 | # Create dummy local Git repo | 708 | # Create dummy local Git repo |
700 | src_dir = tempfile.mkdtemp(dir=self.tempdir, | 709 | src_dir = tempfile.mkdtemp(dir=self.tempdir, |
701 | prefix='gitfetch_localusehead_') | 710 | prefix='gitfetch_localusehead_') |
702 | src_dir = os.path.abspath(src_dir) | 711 | self.gitdir = os.path.abspath(src_dir) |
703 | bb.process.run("git init", cwd=src_dir) | 712 | self.git('init') |
704 | bb.process.run("git config user.email 'you@example.com'", cwd=src_dir) | 713 | self.git('config user.email "you@example.com"') |
705 | bb.process.run("git config user.name 'Your Name'", cwd=src_dir) | 714 | self.git('config user.name "Your Name"') |
706 | bb.process.run("git commit --allow-empty -m'Dummy commit'", | 715 | self.git(['commit', '--allow-empty', '-m', 'Dummy commit']) |
707 | cwd=src_dir) | ||
708 | # Use other branch than master | 716 | # Use other branch than master |
709 | bb.process.run("git checkout -b my-devel", cwd=src_dir) | 717 | self.git(['checkout', '-b', 'my-devel']) |
710 | bb.process.run("git commit --allow-empty -m'Dummy commit 2'", | 718 | self.git(['commit', '--allow-empty', '-m', 'Dummy commit 2']) |
711 | cwd=src_dir) | 719 | orig_rev = self.git(['rev-parse', 'HEAD']).strip() |
712 | stdout = bb.process.run("git rev-parse HEAD", cwd=src_dir) | ||
713 | orig_rev = stdout[0].strip() | ||
714 | 720 | ||
715 | # Fetch and check revision | 721 | # Fetch and check revision |
716 | self.d.setVar("SRCREV", "AUTOINC") | 722 | self.d.setVar("SRCREV", "AUTOINC") |
717 | url = "git://" + src_dir + ";protocol=file;" + suffix | 723 | url = "git://" + self.gitdir + ";protocol=file;" + suffix |
718 | fetcher = bb.fetch.Fetch([url], self.d) | 724 | fetcher = bb.fetch.Fetch([url], self.d) |
719 | fetcher.download() | 725 | fetcher.download() |
720 | fetcher.unpack(self.unpackdir) | 726 | fetcher.unpack(self.unpackdir) |
721 | stdout = bb.process.run("git rev-parse HEAD", | 727 | unpack_rev = self.git(['rev-parse', 'HEAD'], |
722 | cwd=os.path.join(self.unpackdir, 'git')) | 728 | cwd=os.path.join(self.unpackdir, 'git')).strip() |
723 | unpack_rev = stdout[0].strip() | ||
724 | self.assertEqual(orig_rev, unpack_rev) | 729 | self.assertEqual(orig_rev, unpack_rev) |
725 | 730 | ||
726 | def test_local_gitfetch_usehead(self): | 731 | def test_local_gitfetch_usehead(self): |
@@ -920,7 +925,8 @@ class FetcherNetworkTest(FetcherTest): | |||
920 | def gitfetcher(self, url1, url2): | 925 | def gitfetcher(self, url1, url2): |
921 | def checkrevision(self, fetcher): | 926 | def checkrevision(self, fetcher): |
922 | fetcher.unpack(self.unpackdir) | 927 | fetcher.unpack(self.unpackdir) |
923 | revision = bb.process.run("git rev-parse HEAD", shell=True, cwd=self.unpackdir + "/git")[0].strip() | 928 | revision = self.git(['rev-parse', 'HEAD'], |
929 | cwd=os.path.join(self.unpackdir, 'git')).strip() | ||
924 | self.assertEqual(revision, "270a05b0b4ba0959fe0624d2a4885d7b70426da5") | 930 | self.assertEqual(revision, "270a05b0b4ba0959fe0624d2a4885d7b70426da5") |
925 | 931 | ||
926 | self.d.setVar("BB_GENERATE_MIRROR_TARBALLS", "1") | 932 | self.d.setVar("BB_GENERATE_MIRROR_TARBALLS", "1") |
@@ -996,7 +1002,7 @@ class FetcherNetworkTest(FetcherTest): | |||
996 | recipeurl = "git://someserver.org/bitbake" | 1002 | recipeurl = "git://someserver.org/bitbake" |
997 | self.sourcedir = self.unpackdir.replace("unpacked", "sourcemirror.git") | 1003 | self.sourcedir = self.unpackdir.replace("unpacked", "sourcemirror.git") |
998 | os.chdir(self.tempdir) | 1004 | os.chdir(self.tempdir) |
999 | bb.process.run("git clone %s %s 2> /dev/null" % (realurl, self.sourcedir), shell=True) | 1005 | self.git(['clone', realurl, self.sourcedir], cwd=self.tempdir) |
1000 | self.d.setVar("PREMIRRORS", "%s git://%s;protocol=file" % (recipeurl, self.sourcedir)) | 1006 | self.d.setVar("PREMIRRORS", "%s git://%s;protocol=file" % (recipeurl, self.sourcedir)) |
1001 | self.gitfetcher(recipeurl, recipeurl) | 1007 | self.gitfetcher(recipeurl, recipeurl) |
1002 | 1008 | ||
@@ -1437,9 +1443,9 @@ class GitMakeShallowTest(FetcherTest): | |||
1437 | FetcherTest.setUp(self) | 1443 | FetcherTest.setUp(self) |
1438 | self.gitdir = os.path.join(self.tempdir, 'gitshallow') | 1444 | self.gitdir = os.path.join(self.tempdir, 'gitshallow') |
1439 | bb.utils.mkdirhier(self.gitdir) | 1445 | bb.utils.mkdirhier(self.gitdir) |
1440 | bb.process.run('git init', cwd=self.gitdir) | 1446 | self.git('init') |
1441 | bb.process.run('git config user.email "you@example.com"', cwd=self.gitdir) | 1447 | self.git('config user.email "you@example.com"') |
1442 | bb.process.run('git config user.name "Your Name"', cwd=self.gitdir) | 1448 | self.git('config user.name "Your Name"') |
1443 | 1449 | ||
1444 | def assertRefs(self, expected_refs): | 1450 | def assertRefs(self, expected_refs): |
1445 | actual_refs = self.git(['for-each-ref', '--format=%(refname)']).splitlines() | 1451 | actual_refs = self.git(['for-each-ref', '--format=%(refname)']).splitlines() |
@@ -1453,13 +1459,6 @@ class GitMakeShallowTest(FetcherTest): | |||
1453 | actual_count = len(revs.splitlines()) | 1459 | actual_count = len(revs.splitlines()) |
1454 | self.assertEqual(expected_count, actual_count, msg='Object count `%d` is not the expected `%d`' % (actual_count, expected_count)) | 1460 | self.assertEqual(expected_count, actual_count, msg='Object count `%d` is not the expected `%d`' % (actual_count, expected_count)) |
1455 | 1461 | ||
1456 | def git(self, cmd): | ||
1457 | if isinstance(cmd, str): | ||
1458 | cmd = 'git ' + cmd | ||
1459 | else: | ||
1460 | cmd = ['git'] + cmd | ||
1461 | return bb.process.run(cmd, cwd=self.gitdir)[0] | ||
1462 | |||
1463 | def make_shallow(self, args=None): | 1462 | def make_shallow(self, args=None): |
1464 | if args is None: | 1463 | if args is None: |
1465 | args = ['HEAD'] | 1464 | args = ['HEAD'] |
@@ -1595,15 +1594,6 @@ class GitShallowTest(FetcherTest): | |||
1595 | actual_count = len(revs.splitlines()) | 1594 | actual_count = len(revs.splitlines()) |
1596 | self.assertEqual(expected_count, actual_count, msg='Object count `%d` is not the expected `%d`' % (actual_count, expected_count)) | 1595 | self.assertEqual(expected_count, actual_count, msg='Object count `%d` is not the expected `%d`' % (actual_count, expected_count)) |
1597 | 1596 | ||
1598 | def git(self, cmd, cwd=None): | ||
1599 | if isinstance(cmd, str): | ||
1600 | cmd = 'git ' + cmd | ||
1601 | else: | ||
1602 | cmd = ['git'] + cmd | ||
1603 | if cwd is None: | ||
1604 | cwd = self.gitdir | ||
1605 | return bb.process.run(cmd, cwd=cwd)[0] | ||
1606 | |||
1607 | def add_empty_file(self, path, cwd=None, msg=None): | 1597 | def add_empty_file(self, path, cwd=None, msg=None): |
1608 | if msg is None: | 1598 | if msg is None: |
1609 | msg = path | 1599 | msg = path |
@@ -2140,7 +2130,7 @@ class GitLfsTest(FetcherTest): | |||
2140 | 2130 | ||
2141 | self.gitdir = os.path.join(self.tempdir, 'git') | 2131 | self.gitdir = os.path.join(self.tempdir, 'git') |
2142 | self.srcdir = os.path.join(self.tempdir, 'gitsource') | 2132 | self.srcdir = os.path.join(self.tempdir, 'gitsource') |
2143 | 2133 | ||
2144 | self.d.setVar('WORKDIR', self.tempdir) | 2134 | self.d.setVar('WORKDIR', self.tempdir) |
2145 | self.d.setVar('S', self.gitdir) | 2135 | self.d.setVar('S', self.gitdir) |
2146 | self.d.delVar('PREMIRRORS') | 2136 | self.d.delVar('PREMIRRORS') |
@@ -2158,15 +2148,6 @@ class GitLfsTest(FetcherTest): | |||
2158 | self.git(['add', '.gitattributes'], cwd=self.srcdir) | 2148 | self.git(['add', '.gitattributes'], cwd=self.srcdir) |
2159 | self.git(['commit', '-m', "attributes", '.gitattributes'], cwd=self.srcdir) | 2149 | self.git(['commit', '-m', "attributes", '.gitattributes'], cwd=self.srcdir) |
2160 | 2150 | ||
2161 | def git(self, cmd, cwd=None): | ||
2162 | if isinstance(cmd, str): | ||
2163 | cmd = 'git ' + cmd | ||
2164 | else: | ||
2165 | cmd = ['git'] + cmd | ||
2166 | if cwd is None: | ||
2167 | cwd = self.gitdir | ||
2168 | return bb.process.run(cmd, cwd=cwd)[0] | ||
2169 | |||
2170 | def fetch(self, uri=None, download=True): | 2151 | def fetch(self, uri=None, download=True): |
2171 | uris = self.d.getVar('SRC_URI').split() | 2152 | uris = self.d.getVar('SRC_URI').split() |
2172 | uri = uris[0] | 2153 | uri = uris[0] |