diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-10-24 10:24:45 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-12-22 11:59:07 +0100 |
| commit | 7a1aa179087a274d6f6b13c2c666043ac9760ea5 (patch) | |
| tree | b9bf5eed53e6a3ff41dee74b6429ef2916dae37a /test cases/rust/32 rust.workspace workspace/meson.build | |
| parent | 9752def1c96eb32dc37c32398a0fe8802392fbc9 (diff) | |
| download | meson-7a1aa179087a274d6f6b13c2c666043ac9760ea5.tar.gz | |
modules: rust: implement workspace.package()
Note that, as shown in the testcase, package() works in the subproject
as well. This means that in the future the Cargo code generator can be
changed to reduce the amount of generated code and instead rely on the
package object.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'test cases/rust/32 rust.workspace workspace/meson.build')
| -rw-r--r-- | test cases/rust/32 rust.workspace workspace/meson.build | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test cases/rust/32 rust.workspace workspace/meson.build b/test cases/rust/32 rust.workspace workspace/meson.build index 2626d3d50..185759413 100644 --- a/test cases/rust/32 rust.workspace workspace/meson.build +++ b/test cases/rust/32 rust.workspace workspace/meson.build @@ -6,6 +6,13 @@ cargo_ws = rust.workspace() # Test workspace.packages() method assert(cargo_ws.packages() == ['answer', 'hello', 'workspace_test']) +main_pkg = cargo_ws.package() +assert(main_pkg.name() == 'workspace_test') +assert(main_pkg.version() == '0.1.0') +assert(main_pkg.api() == '0.1') +assert(main_pkg.all_features() == ['answer', 'default', 'feature1', 'feature2']) +assert(main_pkg.features() == ['default', 'feature1']) + hello_rs = cargo_ws.subproject('hello') assert(hello_rs.name() == 'hello') assert(hello_rs.version() == '1.0.0') @@ -25,6 +32,14 @@ e = executable('workspace-test', 'src/main.rs', ) test('workspace-test', e) +# failure test cases for package() +testcase expect_error('argument to package() cannot be a subproject') + cargo_ws.package('hello') +endtestcase +testcase expect_error('workspace member "nonexistent" not found') + cargo_ws.package('nonexistent') +endtestcase + # failure test cases for dependency() testcase expect_error('package.dependency.*must be one of c, proc-macro, rust.*', how: 're') hello_rs.dependency(rust_abi: 'something else') |
