diff options
| -rw-r--r-- | meta/lib/oeqa/sdk/cases/rust.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/lib/oeqa/sdk/cases/rust.py b/meta/lib/oeqa/sdk/cases/rust.py index 31036f0f14..f5d437bb19 100644 --- a/meta/lib/oeqa/sdk/cases/rust.py +++ b/meta/lib/oeqa/sdk/cases/rust.py | |||
| @@ -33,3 +33,25 @@ class RustCompileTest(OESDKTestCase): | |||
| 33 | 33 | ||
| 34 | def test_cargo_build(self): | 34 | def test_cargo_build(self): |
| 35 | self._run('cd %s/hello; cargo build' % self.tc.sdk_dir) | 35 | self._run('cd %s/hello; cargo build' % self.tc.sdk_dir) |
| 36 | |||
| 37 | class RustHostCompileTest(OESDKTestCase): | ||
| 38 | td_vars = ['MACHINE', 'SDK_SYS'] | ||
| 39 | |||
| 40 | @classmethod | ||
| 41 | def setUpClass(self): | ||
| 42 | targetdir = os.path.join(self.tc.sdk_dir, "hello") | ||
| 43 | try: | ||
| 44 | shutil.rmtree(targetdir) | ||
| 45 | except FileNotFoundError: | ||
| 46 | pass | ||
| 47 | shutil.copytree(os.path.join(self.tc.sdk_files_dir, "rust/hello"), targetdir) | ||
| 48 | |||
| 49 | def setUp(self): | ||
| 50 | machine = self.td.get("MACHINE") | ||
| 51 | if not self.tc.hasHostPackage("packagegroup-rust-cross-canadian-%s" % machine): | ||
| 52 | raise unittest.SkipTest("RustCompileTest class: SDK doesn't contain a Rust cross-canadian toolchain") | ||
| 53 | |||
| 54 | def test_cargo_build(self): | ||
| 55 | sdksys = self.td.get("SDK_SYS") | ||
| 56 | self._run('cd %s/hello; cargo build --target %s-gnu' % (self.tc.sdk_dir, sdksys)) | ||
| 57 | self._run('cd %s/hello; cargo run --target %s-gnu' % (self.tc.sdk_dir, sdksys)) | ||
