[pbs-devel] [PATCH proxmox] schema: removed excessive newlines in error messages
    Thomas Lamprecht 
    t.lamprecht at proxmox.com
       
    Wed Oct 18 19:22:21 CEST 2023
    
    
  
nit: s/removed/remove/, commit message should describe what they
change in the commit itself, so they make most sense if written in
the imperative.
Am 01/09/2023 um 10:12 schrieb Gabriel Goller:
> The output does not look good on console/task view when there is an
> empty line after the first error and trailing newlines after
> the last error. Removed the newlines.
I mean, as there are explicitly two newlines in a literal before
you patch it seems like somebody though it looks better that way
;-)
But sure, being more concise and providing less output, while keeping
a good readability, has definitively its merits!
The double occurrence of "error" is also something we could try to
avoid.
> Signed-off-by: Gabriel Goller <g.goller at proxmox.com>
> ---
>  proxmox-schema/src/schema.rs | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/proxmox-schema/src/schema.rs b/proxmox-schema/src/schema.rs
> index f087706..596adee 100644
> --- a/proxmox-schema/src/schema.rs
> +++ b/proxmox-schema/src/schema.rs
> @@ -101,14 +101,14 @@ impl fmt::Display for ParameterError {
>          let mut msg = String::new();
>  
>          if !self.is_empty() {
> -            msg.push_str("parameter verification errors\n\n");
> +            msg.push_str("parameter verification errors\n");
This is debatable, maybe we could do the following:
1. If there's exactly one parameter error collapse it to a single line, e.g.:
```
Error: parameter verification failed - 'file-name': value does not match the regex pattern
```
Or even more condensed:
```
Error: parameter 'file-name' - value does not match the regex pattern
```
2. if there are more than one error use a line by error but also use
bulletin point to keep a higher readability, e.g.:
```
Error: parameter verification failed:
- 'file-name': value does not match the regex pattern
- 'some-number': value is not in range X to Y
- 'foo-bar': value is to common
```
The only thing, from top of my head, speaking against doing 1. at all would
be that it's making parsing a bit harder, but tbh., we never guaranteed
error message stability, and if one depends on such stuff they should use
the API – so not seeing that as a blocker.
What do you think?
>          }
>  
>          for (name, err) in self.error_list.iter() {
>              let _ = writeln!(msg, "parameter '{}': {}", name, err);
>          }
>  
> -        write!(f, "{}", msg)
> +        write!(f, "{}", msg.trim())
this I'm fine with doing unconditionally.
>      }
>  }
>  
    
    
More information about the pbs-devel
mailing list