From a51e683ef1ed5596e858925677d543946c92bff2 Mon Sep 17 00:00:00 2001 From: Clemens Famulla-Conrad Date: Wed, 17 Jul 2019 15:58:14 +0200 Subject: [PATCH] Use perl for sha1sum --- lib/serial_terminal.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/serial_terminal.pm b/lib/serial_terminal.pm index 78e279f3d795..229688135c7d 100644 --- a/lib/serial_terminal.pm +++ b/lib/serial_terminal.pm @@ -17,6 +17,7 @@ use Exporter; use bmwqemu (); use version_utils qw(is_sle is_leap); use Mojo::Util qw(b64_encode b64_decode sha1_sum trim); +use Mojo::File 'path'; use File::Basename; use File::Temp 'tempfile'; @@ -101,6 +102,11 @@ sub serial_term_prompt { return $serial_term_prompt; } +sub local_sha1sum { + my $filename = shift; + + return sha1_sum(path($filename)->slurp()); +} =head2 download_file @@ -149,7 +155,7 @@ sub download_file { } close($fh); my $sha1_remote = script_output("sha1sum $result_file | cut -d ' ' -f 1", undef, quiet => 1); - my $sha1 = trim(`sha1sum $src | cut -d ' ' -f 1`); + my $sha1 = file_sha1sum($src); die("Failed to transfer file $src - final checksum mismatch") if ($sha1_remote ne $sha1); assert_script_run("mv $result_file '$dst'", quiet => 1); assert_script_run("rmdir $tmpdir", quiet => 1); @@ -193,8 +199,7 @@ sub upload_file { } while ($sha1 ne $sha1_remote); print $fh b64_decode($b64); } - my $sha1 = trim(`sha1sum $tmpfilename 2>&1 | cut -d ' ' -f 1`); - croak ("Failed to run sha1sum on $tmpfilename\noutput:$sha1") if ($?); + my $sha1 = file_sha1sum($tmpfilename); my $sha1_remote = script_output("sha1sum $src | cut -d ' ' -f 1", undef, quiet => 1); die("Failed to upload file $src - final checksum mismatch") if ($sha1_remote ne $sha1); system('mkdir -p ulogs/') == 0 or die('Failed to create ulogs/ directory');