summaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorXavier Claessens <xclaessens@netflix.com>2025-10-16 18:04:56 -0400
committerXavier Claessens <xclaesse@gmail.com>2025-10-22 15:43:06 -0400
commitb011f69bfe5943afdfdf4e381653204445614d9f (patch)
tree825c4e8927345c904030f8b2641764e1f3d315c9 /unittests
parentf4fbb17301d87e4c774ed50a449051511a3982c2 (diff)
downloadmeson-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.py13
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)