Blob Blame History Raw
From c589991e8000785e4e3a433ac99422f2bd5688c8 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Mon, 20 Jun 2022 16:45:35 -0700
Subject: [PATCH] Fix perl 5.36 warnings on use of @_ in functions with
 signature

As with os-autoinst, building openQA with perl 5.36 results in
test failures due to several cases of subs with signatures using
`@_`, which they are not supposed to do. Fortunately the fixes
are fairly straightforward here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
 lib/OpenQA/Log.pm                       | 16 ++++++++--------
 lib/OpenQA/Worker/Engines/isotovideo.pm |  9 +++++++--
 script/openqa-dump-templates            |  2 +-
 t/api/04-jobs.t                         |  3 +--
 4 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/lib/OpenQA/Log.pm b/lib/OpenQA/Log.pm
index 403f0dd09..ebd3f8535 100644
--- a/lib/OpenQA/Log.pm
+++ b/lib/OpenQA/Log.pm
@@ -41,23 +41,23 @@ my %LOG_DEFAULTS = (LOG_TO_STANDARD_CHANNEL => 1, CHANNELS => []);
 #  log_debug("message");
 #  log_debug("message", channels=>'channel1')
 #  log_debug("message", channels=>'channel1', standard=>0)
-sub log_debug (@) { _log_msg('debug', @_); }
+sub log_debug (@args) { _log_msg('debug', @args); }
 
 # log_trace("message"[, param1=>val1, param2=>val2]);
-sub log_trace (@) { _log_msg('trace', @_); }
+sub log_trace (@args) { _log_msg('trace', @args); }
 
 # log_info("message"[, param1=>val1, param2=>val2]);
-sub log_info (@) { _log_msg('info', @_); }
+sub log_info (@args) { _log_msg('info', @args); }
 
 # log_warning("message"[, param1=>val1, param2=>val2]);
-sub log_warning (@) { _log_msg('warn', @_); }
+sub log_warning (@args) { _log_msg('warn', @args); }
 
 # log_error("message"[, param1=>val1, param2=>val2]);
-sub log_error (@) { _log_msg('error', @_); }
+sub log_error (@args) { _log_msg('error', @args); }
 # log_fatal("message"[, param1=>val1, param2=>val2]);
-sub log_fatal (@) {
-    _log_msg('fatal', @_);
-    croak $_[0];
+sub log_fatal (@args) {
+    _log_msg('fatal', @args);
+    croak $args[0];
 }
 
 sub _current_log_level () {
diff --git a/lib/OpenQA/Worker/Engines/isotovideo.pm b/lib/OpenQA/Worker/Engines/isotovideo.pm
index eae022fb3..7a0e9eaa9 100644
--- a/lib/OpenQA/Worker/Engines/isotovideo.pm
+++ b/lib/OpenQA/Worker/Engines/isotovideo.pm
@@ -98,11 +98,16 @@ sub _poll_cache_service ($job, $cache_client, $request, $delay, $callback) {
 
 sub cache_assets ($cache_client, $job, $vars, $assets_to_cache, $assetkeys, $webui_host, $pooldir, $callback) {
     return $callback->(undef) unless my $this_asset = shift @$assets_to_cache;
-    return cache_assets(@_) unless my $asset_value = $vars->{$this_asset};
+    my $asset_value = $vars->{$this_asset};
+    unless ($asset_value) {
+        return cache_assets($cache_client, $job, $vars, $assets_to_cache, $assetkeys, $webui_host, $pooldir, $callback);
+    }
 
     my $asset_uri = trim($asset_value);
     # skip UEFI_PFLASH_VARS asset if the job won't use UEFI
-    return cache_assets(@_) if $this_asset eq 'UEFI_PFLASH_VARS' && !$vars->{UEFI};
+    if ($this_asset eq 'UEFI_PFLASH_VARS' && !$vars->{UEFI}) {
+        return cache_assets($cache_client, $job, $vars, $assets_to_cache, $assetkeys, $webui_host, $pooldir, $callback);
+    }
     # check cache availability
     my $error = $cache_client->info->availability_error;
     return $callback->({error => $error}) if $error;
diff --git a/script/openqa-dump-templates b/script/openqa-dump-templates
index 1064abeed..3a8f7bf37 100755
--- a/script/openqa-dump-templates
+++ b/script/openqa-dump-templates
@@ -115,7 +115,7 @@ my %options;
 sub usage ($r) {
     eval "use Pod::Usage; pod2usage($r);";
     die "cannot display help, install perl(Pod::Usage)\n" if $@;
-    exit $_[0];
+    exit $r;
 }
 
 GetOptions(
diff --git a/t/api/04-jobs.t b/t/api/04-jobs.t
index 1924b694b..e98eea251 100644
--- a/t/api/04-jobs.t
+++ b/t/api/04-jobs.t
@@ -49,8 +49,7 @@ my $chunk_size = 10000000;
 
 my $io_loop_mock = mock_io_loop(subprocess => 1);
 
-sub calculate_file_md5($) {
-    my ($file) = @_;
+sub calculate_file_md5($file) {
     my $c = path($file)->slurp;
     my $md5 = Digest::MD5->new;
     $md5->add($c);
-- 
2.37.0.rc1