[pve-devel] [PATCH v8 common 2/2] tools: download_file_from_url: adapt error messages to start at new line

Lorenz Stechauner l.stechauner at proxmox.com
Wed Jun 16 10:46:14 CEST 2021


On 15.06.21 16:23, Thomas Lamprecht wrote:
> On 15.06.21 16:08, Lorenz Stechauner wrote:
>> the front end expects the error message to be the first part of the
>> last line.
>> ---
>>   src/PVE/Tools.pm | 10 ++++++----
>>   1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm
>> index c90810c..c02c259 100644
>> --- a/src/PVE/Tools.pm
>> +++ b/src/PVE/Tools.pm
>> @@ -1869,11 +1869,12 @@ sub download_file_from_url {
>>   	    my $checksum_got = get_file_hash($checksum_algorithm, $dest);
>>   
>>   	    if (lc($checksum_got) eq lc($checksum_expected)) {
>> -		print "OK, got correct file already, no need to download\n";
>> +		print " OK, got correct file already, no need to download\n";
> this was done by design, as there's a ".." before that
>
>>   		return;
>>   	    } else {
>> +		print "\n";
>>   		# we could re-download, but may not be safe so just abort for now..
>> -		die "mismatch (got '$checksum_got' != expect '$checksum_expected'), aborting\n";
>> +		die "checksum mismatch: got '$checksum_got' != expect '$checksum_expected', aborting\n";
> ok, slightly nicer
>
>>   	    }
>>   	}
>>   
>> @@ -1906,9 +1907,10 @@ sub download_file_from_url {
>>   	    my $checksum_got = get_file_hash($checksum_algorithm, $tmpdest);
>>   
>>   	    if (lc($checksum_got) eq lc($checksum_expected)) {
>> -		print "OK, checksum verified\n";
>> +		print " OK, checksum verified\n";
> as above, the previous print has a ".." at the end so I left any whitespace out.
>
>>   	    } else {
>> -		die "ERROR, checksum mismatch: got '$checksum_got' != expect '$checksum_expected'\n";
>> +		print "\n";
> If, we could just include the "\n" in the start of the die, but we do not really
> add such newlines for separating errors in general in task logs, so I'd rather
> leave this one out.

The new line at the beginning of die does not work either :(

calculating checksum of existing file...TASK ERROR:  checksum mismatch: 
got '73e74eef3d998d522f92295016d92fdc' != expect 'asdf', aborting

The new line was converted to an additional space and the message was 
prefixed with "TASK ERROR: "

The only way I can come up with to make this work for the frontend, is 
to use a print statement before the die...

>
>> +		die "checksum mismatch: got '$checksum_got' != expect '$checksum_expected'\n";
>
>
>>   	    }
>>   	}
>>   
>>





More information about the pve-devel mailing list