diff options
| author | onur-ozkan <work@onurozkan.dev> | 2024-02-29 18:18:38 +0300 |
|---|---|---|
| committer | onur-ozkan <work@onurozkan.dev> | 2024-02-29 18:18:38 +0300 |
| commit | c36f4934e03d4a844d0066bb7645760f8636d449 (patch) | |
| tree | 863552ba035a9c3412cd42abd6a621c9d16568cc | |
| parent | 83bbb551e85153b779d5b759c9b4e6bcdbaeee04 (diff) | |
| download | rust-c36f4934e03d4a844d0066bb7645760f8636d449.tar.gz rust-c36f4934e03d4a844d0066bb7645760f8636d449.zip | |
add unit tests on unknown fields
Signed-off-by: onur-ozkan <work@onurozkan.dev>
| -rw-r--r-- | src/bootstrap/src/core/config/config.rs | 2 | ||||
| -rw-r--r-- | src/bootstrap/src/core/config/tests.rs | 19 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs index 24a085ab400..f04857ac2b3 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs @@ -618,7 +618,7 @@ pub(crate) struct TomlConfig { #[derive(Deserialize, Default)] pub(crate) struct ChangeIdWrapper { #[serde(alias = "change-id")] - inner: Option<usize>, + pub(crate) inner: Option<usize>, } /// Describes how to handle conflicts in merging two [`TomlConfig`] diff --git a/src/bootstrap/src/core/config/tests.rs b/src/bootstrap/src/core/config/tests.rs index 6ac573c68df..93ba5f4120a 100644 --- a/src/bootstrap/src/core/config/tests.rs +++ b/src/bootstrap/src/core/config/tests.rs @@ -1,4 +1,4 @@ -use super::{flags::Flags, Config}; +use super::{flags::Flags, ChangeIdWrapper, Config}; use crate::core::config::{LldMode, TomlConfig}; use clap::CommandFactory; @@ -237,3 +237,20 @@ fn rust_lld() { assert!(matches!(parse("rust.use-lld = true").lld_mode, LldMode::External)); assert!(matches!(parse("rust.use-lld = false").lld_mode, LldMode::Unused)); } + +#[test] +#[should_panic] +fn parse_config_with_unknown_field() { + parse("unknown-key = 1"); +} + +#[test] +fn parse_change_id_with_unknown_field() { + let config = r#" + change-id = 3461 + unknown-key = 1 + "#; + + let change_id_wrapper: ChangeIdWrapper = toml::from_str(config).unwrap(); + assert_eq!(change_id_wrapper.inner, Some(3461)); +} |
