summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/fetch2/crate.py4
-rw-r--r--bitbake/lib/bb/tests/fetch.py25
2 files changed, 27 insertions, 2 deletions
diff --git a/bitbake/lib/bb/fetch2/crate.py b/bitbake/lib/bb/fetch2/crate.py
index 2b8b6bc7a1..3310ed0050 100644
--- a/bitbake/lib/bb/fetch2/crate.py
+++ b/bitbake/lib/bb/fetch2/crate.py
@@ -98,8 +98,8 @@ class Crate(Wget):
98 save_cwd = os.getcwd() 98 save_cwd = os.getcwd()
99 os.chdir(rootdir) 99 os.chdir(rootdir)
100 100
101 pn = d.getVar('BPN') 101 bp = d.getVar('BP')
102 if pn == ud.parm.get('name'): 102 if bp == ud.parm.get('name'):
103 cmd = "tar -xz --no-same-owner -f %s" % thefile 103 cmd = "tar -xz --no-same-owner -f %s" % thefile
104 else: 104 else:
105 cargo_bitbake = self._cargo_bitbake_path(rootdir) 105 cargo_bitbake = self._cargo_bitbake_path(rootdir)
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
index 532adb9414..256f0fb788 100644
--- a/bitbake/lib/bb/tests/fetch.py
+++ b/bitbake/lib/bb/tests/fetch.py
@@ -2392,6 +2392,31 @@ class CrateTest(FetcherTest):
2392 self.assertTrue(os.path.exists(self.tempdir + "/cargo_home/bitbake/glob-0.2.11/src/lib.rs")) 2392 self.assertTrue(os.path.exists(self.tempdir + "/cargo_home/bitbake/glob-0.2.11/src/lib.rs"))
2393 2393
2394 @skipIfNoNetwork() 2394 @skipIfNoNetwork()
2395 def test_crate_url_matching_recipe(self):
2396
2397 self.d.setVar('BP', 'glob-0.2.11')
2398
2399 uri = "crate://crates.io/glob/0.2.11"
2400 self.d.setVar('SRC_URI', uri)
2401
2402 uris = self.d.getVar('SRC_URI').split()
2403 d = self.d
2404
2405 fetcher = bb.fetch2.Fetch(uris, self.d)
2406 ud = fetcher.ud[fetcher.urls[0]]
2407
2408 self.assertIn("name", ud.parm)
2409 self.assertEqual(ud.parm["name"], "glob-0.2.11")
2410 self.assertIn("downloadfilename", ud.parm)
2411 self.assertEqual(ud.parm["downloadfilename"], "glob-0.2.11.crate")
2412
2413 fetcher.download()
2414 fetcher.unpack(self.tempdir)
2415 self.assertEqual(sorted(os.listdir(self.tempdir)), ['download', 'glob-0.2.11', 'unpacked'])
2416 self.assertEqual(sorted(os.listdir(self.tempdir + "/download")), ['glob-0.2.11.crate', 'glob-0.2.11.crate.done'])
2417 self.assertTrue(os.path.exists(self.tempdir + "/glob-0.2.11/src/lib.rs"))
2418
2419 @skipIfNoNetwork()
2395 def test_crate_url_params(self): 2420 def test_crate_url_params(self):
2396 2421
2397 uri = "crate://crates.io/aho-corasick/0.7.20;name=aho-corasick-renamed" 2422 uri = "crate://crates.io/aho-corasick/0.7.20;name=aho-corasick-renamed"