From e771a3e354691bf62d696da0c0c28c1776d4c077 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Tue, 5 Nov 2013 10:23:18 +0100 Subject: [PATCH] Fix warnings when invoked with no script --- novaboot | 29 +++++++++++++++++------------ tests/novaboot.wv | 3 +++ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/novaboot b/novaboot index feec04c..9a1b92b 100755 --- a/novaboot +++ b/novaboot @@ -462,12 +462,15 @@ if (defined $off_opt && defined $target_power_off) { exit; } -$builddir ||= dirname(File::Spec->rel2abs( ${$scripts[0]}{filename})); -chdir($builddir) or die "Can't change directory to $builddir: $!"; -print "novaboot: Entering directory `$builddir'\n"; +$builddir ||= dirname(File::Spec->rel2abs( ${$scripts[0]}{filename})) if scalar @scripts; +if (defined $builddir) { + chdir($builddir) or die "Can't change directory to $builddir: $!"; + print "novaboot: Entering directory `$builddir'\n"; +} ## File generation phase -my (%files_iso, $menu_iso, $config_name, $filename); +my (%files_iso, $menu_iso, $filename); +my $config_name = ''; foreach my $script (@scripts) { $filename = $$script{filename}; @@ -602,15 +605,17 @@ if (!(defined $dhcp_tftp || defined $serial || defined $iprelay || defined $serv foreach (@$modules) {s/,/+/g;} generate_configs("", $generated, $filename); - my ($kbin, $kcmd) = split(' ', shift(@$modules), 2); - $kcmd = '' if !defined $kcmd; - my $dtb; - @$modules = map { if (/\.dtb$/) { $dtb=$_; (); } else { $_ } } @$modules; - my $initrd = join ",", @$modules; + if (scalar @$modules) { + my ($kbin, $kcmd) = split(' ', shift(@$modules), 2); + $kcmd = '' if !defined $kcmd; + my $dtb; + @$modules = map { if (/\.dtb$/) { $dtb=$_; (); } else { $_ } } @$modules; + my $initrd = join ",", @$modules; - push(@qemu_flags, ('-kernel', $kbin, '-append', $kcmd)); - push(@qemu_flags, ('-initrd', $initrd)) if $initrd; - push(@qemu_flags, ('-dtb', $dtb)) if $dtb; + push(@qemu_flags, ('-kernel', $kbin, '-append', $kcmd)); + push(@qemu_flags, ('-initrd', $initrd)) if $initrd; + push(@qemu_flags, ('-dtb', $dtb)) if $dtb; + } } push(@qemu_flags, qw(-serial stdio)); # Redirect serial output (for collecting test restuls) unshift(@qemu_flags, ('-name', $config_name)); diff --git a/tests/novaboot.wv b/tests/novaboot.wv index 52dac0c..0220f25 100755 --- a/tests/novaboot.wv +++ b/tests/novaboot.wv @@ -20,6 +20,9 @@ EOF touch file } +WVSTART Invoke with no script +WVPASS novaboot < /dev/null + WVSTART Invoke as script create_dummy WVPASS ./script --gen-only -- 2.39.2