From 7f171997f4283257b41cf78d23f0364ebbf1936b Mon Sep 17 00:00:00 2001 From: Luca Della Vedova Date: Mon, 9 Dec 2024 18:19:23 +0800 Subject: [PATCH] Add tests for package augmentation Signed-off-by: Luca Della Vedova --- test/rust-pure-library/Cargo.toml | 3 ++- test/rust-sample-package/Cargo.toml | 1 + test/test_build.py | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/test/rust-pure-library/Cargo.toml b/test/rust-pure-library/Cargo.toml index e5b077f..539716c 100644 --- a/test/rust-pure-library/Cargo.toml +++ b/test/rust-pure-library/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "rust-pure-library" version = "0.1.0" -authors = ["Luca Della Vedova"] +authors = ["Test"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +either = "1.13.0" diff --git a/test/rust-sample-package/Cargo.toml b/test/rust-sample-package/Cargo.toml index 273b638..2da201e 100644 --- a/test/rust-sample-package/Cargo.toml +++ b/test/rust-sample-package/Cargo.toml @@ -7,3 +7,4 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +either = "1.13.0" diff --git a/test/test_build.py b/test/test_build.py index 51993dd..6a654f8 100644 --- a/test/test_build.py +++ b/test/test_build.py @@ -9,6 +9,7 @@ from types import SimpleNamespace import xml.etree.ElementTree as eTree +from colcon_cargo.package_augmentation.cargo import CargoPackageAugmentation from colcon_cargo.package_identification.cargo import CargoPackageIdentification # noqa: E501 from colcon_cargo.task.cargo.build import CargoBuildTask from colcon_cargo.task.cargo.test import CargoTestTask @@ -43,6 +44,21 @@ def test_package_identification(): assert desc.name == TEST_PACKAGE_NAME +def test_package_augmentation(): + cpi = CargoPackageIdentification() + aug = CargoPackageAugmentation() + desc = PackageDescriptor(pure_library_path) + cpi.identify(desc) + aug.augment_package(desc) + print(desc) + assert desc.metadata['version'] == '0.1.0' + assert len(desc.metadata['maintainers']) == 1 + assert desc.metadata['maintainers'][0] == 'Test' + assert len(desc.dependencies['build']) == 1 + assert 'either' in desc.dependencies['build'] + assert desc.dependencies['run'] == desc.dependencies['build'] + + @pytest.mark.skipif( not shutil.which('cargo'), reason='Rust must be installed to run this test')