]> rtime.felk.cvut.cz Git - novaboot.git/commitdiff
Fix warnings when invoked with no script
authorMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 5 Nov 2013 09:23:18 +0000 (10:23 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 5 Nov 2013 09:53:43 +0000 (10:53 +0100)
novaboot
tests/novaboot.wv

index feec04c36495505788d33dbf2d732627a2313333..9a1b92b74757e2f2217ff8c8a25420bec9fdaf12 100755 (executable)
--- 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));
index 52dac0c3b9ee305eee66ca74c2077a858d3bb277..0220f256534e20dac8f373889047ce7872acc730 100755 (executable)
@@ -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