diff options
| author | Xavier Claessens <xclaessens@netflix.com> | 2025-10-16 18:04:56 -0400 |
|---|---|---|
| committer | Xavier Claessens <xclaesse@gmail.com> | 2025-10-22 15:43:06 -0400 |
| commit | b011f69bfe5943afdfdf4e381653204445614d9f (patch) | |
| tree | 825c4e8927345c904030f8b2641764e1f3d315c9 /unittests | |
| parent | f4fbb17301d87e4c774ed50a449051511a3982c2 (diff) | |
| download | meson-b011f69bfe5943afdfdf4e381653204445614d9f.tar.gz | |
cargo: Move all conversions in _raw_to_dataclass()
This allows keeping the manifest unmodified which is better practice for
a parser. Previously some places had e.g. raw.setdefault().
It also fix some values:
- BuildTarget.doc_scrape_examples is removed. It seems to be some
experimental cargo feature, but I haven't found documentation that
says it should be part of the manifest. It was also missing from raw
manifest.
- BuildTarget.edition does not default to 2015, it default to package's
edition, which itself default to 2015.
- bench value defaults to False for tests.
- Dependency.path must be relative to its Cargo.toml location. If the
value comes from the package it can be used as-is, but if it comes
from workspace it must be made relative.
- Library.name default to its package name with dash replaced with
underscores.
Diffstat (limited to 'unittests')
| -rw-r--r-- | unittests/cargotests.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/unittests/cargotests.py b/unittests/cargotests.py index 89b360512..22d77b35f 100644 --- a/unittests/cargotests.py +++ b/unittests/cargotests.py @@ -416,29 +416,28 @@ class CargoTomlTest(unittest.TestCase): self.assertEqual(manifest.lib.name, 'pango') self.assertEqual(manifest.lib.crate_type, ['lib']) - self.assertEqual(manifest.lib.path, os.path.join('src', 'lib.rs')) + self.assertEqual(manifest.lib.path, 'src/lib.rs') self.assertEqual(manifest.lib.test, True) self.assertEqual(manifest.lib.doctest, True) self.assertEqual(manifest.lib.bench, True) self.assertEqual(manifest.lib.doc, True) self.assertEqual(manifest.lib.harness, True) - self.assertEqual(manifest.lib.edition, '2015') + self.assertEqual(manifest.lib.edition, '2021') self.assertEqual(manifest.lib.required_features, []) self.assertEqual(manifest.lib.plugin, False) self.assertEqual(manifest.lib.proc_macro, False) - self.assertEqual(manifest.lib.doc_scrape_examples, True) self.assertEqual(len(manifest.test), 1) self.assertEqual(manifest.test[0].name, 'check_gir') self.assertEqual(manifest.test[0].crate_type, ['bin']) self.assertEqual(manifest.test[0].path, 'tests/check_gir.rs') - self.assertEqual(manifest.lib.path, os.path.join('src', 'lib.rs')) + self.assertEqual(manifest.lib.path, 'src/lib.rs') self.assertEqual(manifest.test[0].test, True) - self.assertEqual(manifest.test[0].doctest, False) - self.assertEqual(manifest.test[0].bench, True) + self.assertEqual(manifest.test[0].doctest, True) + self.assertEqual(manifest.test[0].bench, False) self.assertEqual(manifest.test[0].doc, False) self.assertEqual(manifest.test[0].harness, True) - self.assertEqual(manifest.test[0].edition, '2015') + self.assertEqual(manifest.test[0].edition, '2021') self.assertEqual(manifest.test[0].required_features, []) self.assertEqual(manifest.test[0].plugin, False) |
