diff --git a/repos/ports/run/vbox5_ubuntu_14_04_32.run b/repos/ports/run/vbox5_ubuntu_14_04_32.run index 1ec0cadda..e0c2d5075 100644 --- a/repos/ports/run/vbox5_ubuntu_14_04_32.run +++ b/repos/ports/run/vbox5_ubuntu_14_04_32.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_ubuntu_14_04_64.run b/repos/ports/run/vbox5_ubuntu_14_04_64.run index 5e2107eb4..49ad38a83 100644 --- a/repos/ports/run/vbox5_ubuntu_14_04_64.run +++ b/repos/ports/run/vbox5_ubuntu_14_04_64.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_ubuntu_16_04_32.run b/repos/ports/run/vbox5_ubuntu_16_04_32.run index 9791e4576..1dc8b06ca 100644 --- a/repos/ports/run/vbox5_ubuntu_16_04_32.run +++ b/repos/ports/run/vbox5_ubuntu_16_04_32.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_ubuntu_16_04_64.run b/repos/ports/run/vbox5_ubuntu_16_04_64.run index 377d61d98..8d9a0f2f0 100644 --- a/repos/ports/run/vbox5_ubuntu_16_04_64.run +++ b/repos/ports/run/vbox5_ubuntu_16_04_64.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_vm_ubuntu_16_04_32.run b/repos/ports/run/vbox5_vm_ubuntu_16_04_32.run index ca8f11638..19c9109b0 100644 --- a/repos/ports/run/vbox5_vm_ubuntu_16_04_32.run +++ b/repos/ports/run/vbox5_vm_ubuntu_16_04_32.run @@ -24,6 +24,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_vm_ubuntu_16_04_64.run b/repos/ports/run/vbox5_vm_ubuntu_16_04_64.run index 59257429b..f75b260da 100644 --- a/repos/ports/run/vbox5_vm_ubuntu_16_04_64.run +++ b/repos/ports/run/vbox5_vm_ubuntu_16_04_64.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_vm_win10_64.run b/repos/ports/run/vbox5_vm_win10_64.run index 9bdae2c9e..37991ed74 100644 --- a/repos/ports/run/vbox5_vm_win10_64.run +++ b/repos/ports/run/vbox5_vm_win10_64.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_vm_win7_32.run b/repos/ports/run/vbox5_vm_win7_32.run index 1c6ce0f34..021560c48 100644 --- a/repos/ports/run/vbox5_vm_win7_32.run +++ b/repos/ports/run/vbox5_vm_win7_32.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_vm_win7_64.run b/repos/ports/run/vbox5_vm_win7_64.run index 21773b5ef..c456225f6 100644 --- a/repos/ports/run/vbox5_vm_win7_64.run +++ b/repos/ports/run/vbox5_vm_win7_64.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_win10_64.run b/repos/ports/run/vbox5_win10_64.run index ba723c63c..9ccadbf2d 100644 --- a/repos/ports/run/vbox5_win10_64.run +++ b/repos/ports/run/vbox5_win10_64.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_win7_32.run b/repos/ports/run/vbox5_win7_32.run index a0aab8973..2af915da1 100644 --- a/repos/ports/run/vbox5_win7_32.run +++ b/repos/ports/run/vbox5_win7_32.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_win7_64.run b/repos/ports/run/vbox5_win7_64.run index ebf0a506d..15c9b30d7 100644 --- a/repos/ports/run/vbox5_win7_64.run +++ b/repos/ports/run/vbox5_win7_64.run @@ -16,6 +16,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_win7_64_multiple.run b/repos/ports/run/vbox5_win7_64_multiple.run index 7820bdab2..4b27908e8 100644 --- a/repos/ports/run/vbox5_win7_64_multiple.run +++ b/repos/ports/run/vbox5_win7_64_multiple.run @@ -27,6 +27,8 @@ set use_ram_fs 1 # However read initial overlay from disk set use_overlay_from_disk 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_win7_64_raw.run b/repos/ports/run/vbox5_win7_64_raw.run index d1128b155..b4ec180b3 100644 --- a/repos/ports/run/vbox5_win7_64_raw.run +++ b/repos/ports/run/vbox5_win7_64_raw.run @@ -15,6 +15,8 @@ set use_rumpfs 0 set use_ram_fs 0 set use_overlay_from_disk 0 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox5_win7_64_share.run b/repos/ports/run/vbox5_win7_64_share.run index 3ad3a6a34..eca5d8bcd 100644 --- a/repos/ports/run/vbox5_win7_64_share.run +++ b/repos/ports/run/vbox5_win7_64_share.run @@ -13,6 +13,8 @@ set use_overlay_from_disk 1 set overlay_image "overlay_${flavor}.vdi" set use_rumpfs 1 +set use_serial 0 + set use_usb 1 set use_ps2 [have_spec ps2] diff --git a/repos/ports/run/vbox_win.inc b/repos/ports/run/vbox_win.inc index 2c4cd088a..2ac14230c 100644 --- a/repos/ports/run/vbox_win.inc +++ b/repos/ports/run/vbox_win.inc @@ -234,6 +234,8 @@ for { set i 1} { $i <= $use_vms } { incr i} { } + append_if [expr $use_serial] config_of_app { } + append_if [expr !$use_rumpfs] config_of_app { } append config_of_app { @@ -280,6 +282,10 @@ source ${genode_dir}/repos/ports/run/virtualbox_auto.inc # copy vbox configuration to bin directory exec cp ${genode_dir}/repos/ports/run/${vbox_file} bin/. +if {[info exists use_vcpus]} { + exec sed -i "s/CPU count=\".*\"/CPU count=\"${use_vcpus}\"/g" bin/${vbox_file} +} + if {!$use_rumpfs} { exec cp ${genode_dir}/repos/ports/run/${raw_image} bin/. } @@ -292,27 +298,29 @@ build_boot_image $boot_modules set wait_timeout 70 if {[have_spec foc]} { set wait_timeout 120 } -run_genode_until {\[init -\> vbox.*].*Guest Additions capability report:.*seamless: no, hostWindowMapping: no, graphics: no} $wait_timeout +if {!$use_serial} { + run_genode_until {\[init -\> vbox.*].*Guest Additions capability report:.*seamless: no, hostWindowMapping: no, graphics: no} $wait_timeout -# run_genode_until forever 0 [output_spawn_id] + # run_genode_until forever 0 [output_spawn_id] -if {$use_rumpfs} { - set wait_timeout 170 - for { set i 1 } { $i <= $use_vms } { incr i } { - if { [string match "ubuntu*" $flavor] || [string match "win10*" $flavor] } { - run_genode_until {\[init -\> vbox.*].*Guest Additions capability report:.*seamless: yes, hostWindowMapping: no, graphics: no} $wait_timeout [output_spawn_id] - } else { - run_genode_until {\[init -\> vbox.*].*Guest Additions capability report:.*seamless: yes, hostWindowMapping: no, graphics: yes} $wait_timeout [output_spawn_id] + if {$use_rumpfs} { + set wait_timeout 170 + for { set i 1 } { $i <= $use_vms } { incr i } { + if { [string match "ubuntu*" $flavor] || [string match "win10*" $flavor] } { + run_genode_until {\[init -\> vbox.*].*Guest Additions capability report:.*seamless: yes, hostWindowMapping: no, graphics: no} $wait_timeout [output_spawn_id] + } else { + run_genode_until {\[init -\> vbox.*].*Guest Additions capability report:.*seamless: yes, hostWindowMapping: no, graphics: yes} $wait_timeout [output_spawn_id] + } } + } else { + run_genode_until {\[init\] child "vbox1" exited with exit value 0} 60 [output_spawn_id] + # give block driver bit time to write data to disk + sleep 5 } -} else { - run_genode_until {\[init\] child "vbox1" exited with exit value 0} 60 [output_spawn_id] - # give block driver bit time to write data to disk - sleep 5 -} -# cleanup bin directory - remove vbox file -exec rm bin/${vbox_file} -if {!$use_rumpfs} { - exec rm bin/${raw_image} + # cleanup bin directory - remove vbox file + exec rm bin/${vbox_file} + if {!$use_rumpfs} { + exec rm bin/${raw_image} + } } diff --git a/repos/ports/run/virtualbox_auto.inc b/repos/ports/run/virtualbox_auto.inc index d1ce42dd7..c5bd99671 100644 --- a/repos/ports/run/virtualbox_auto.inc +++ b/repos/ports/run/virtualbox_auto.inc @@ -36,6 +36,7 @@ append build_components { drivers/framebuffer } +lappend_if [expr $use_serial] build_components server/log_terminal lappend_if [expr $use_rumpfs] build_components lib/vfs/rump lappend_if [expr $use_rumpfs] build_components server/vfs lappend_if [expr $use_vbox5] build_components virtualbox5 @@ -57,6 +58,12 @@ append_platform_drv_build_components build $build_components +if {$use_rumpfs && !$use_ram_fs} { + set rump_writable true +} else { + set rump_writable false +} + set config { } @@ -142,7 +149,7 @@ append_if [expr $use_rumpfs] config { append_if [expr $use_rumpfs && $use_ram_fs && $use_overlay_from_disk] config { } append_if [expr $use_rumpfs] config { - + @@ -350,6 +357,14 @@ append_if [have_spec x86] config { } +append_if [expr $use_serial] config { + + + + + + } + append config $config_of_app append config { @@ -370,6 +385,7 @@ lappend_if [expr $use_rumpfs] boot_modules rump.lib.so lappend_if [expr $use_rumpfs] boot_modules rump_fs.lib.so lappend_if [expr $use_rumpfs] boot_modules vfs_rump.lib.so lappend_if [expr $use_rumpfs] boot_modules vfs +lappend_if [expr $use_serial] boot_modules log_terminal lappend_if [expr $use_vbox5] boot_modules $virtualbox5_binary lappend_if [expr $use_ram_fs || $use_usb] boot_modules ram_fs lappend_if [expr $use_ram_fs && !$use_overlay_from_disk] boot_modules $overlay_image diff --git a/repos/ports/run/vm_stress_32.vbox b/repos/ports/run/vm_stress_32.vbox new file mode 100644 index 000000000..347760b54 --- /dev/null +++ b/repos/ports/run/vm_stress_32.vbox @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repos/ports/run/vm_stress_64.vbox b/repos/ports/run/vm_stress_64.vbox new file mode 100644 index 000000000..e9de3ccd9 --- /dev/null +++ b/repos/ports/run/vm_stress_64.vbox @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repos/ports/run/vm_stress_vbox5-debian32.run b/repos/ports/run/vm_stress_vbox5-debian32.run new file mode 100644 index 000000000..6b4c5715a --- /dev/null +++ b/repos/ports/run/vm_stress_vbox5-debian32.run @@ -0,0 +1,99 @@ +# +# Debian 32bit VM cloning Genode git sources, preparing and building pieces +# + +assert_spec x86 +assert_spec nova + +set flavor "stress_32" +set vm_ram "1280M" + +set use_vbox5 1 + +set use_rumpfs 1 +set use_ram_fs 1 +set use_overlay_from_disk 1 + +set use_serial 1 + +set use_usb 0 +set use_ps2 [have_spec ps2] + +set use_vms 1 +set use_cpu_load 0 + +set output_host "" +set output_host_extra "" +set results_expected { } +set boottime_expected { } + +set match_guest_log "\[init -\> log_terminal\]" +set match_boot_string "\[init -\> vbox.*\].*Using VMX virtualization extension" +#set match_guest_down + +# use generic vbox5 VMM version +set use_vbox5_nova 0 +set vmm_name "vbox5_gen" + +set use_vcpus 1 +lappend results_expected 1 13 41 80 +lappend boottime_expected 21 +source ${genode_dir}/repos/ports/run/vbox_win.inc +source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc +kill_spawned [output_spawn_id] + +# set use_vcpus 2 +# lappend results_expected 2 10 42 50 +# lappend boottime_expected 21 +# source ${genode_dir}/repos/ports/run/vbox_win.inc +# source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc +# kill_spawned [output_spawn_id] + +if {[have_spec nova]} { + # use non-generic vbox5 VMM version + set use_vbox5_nova 1 + set vmm_name "vbox5_nova" + + set use_vcpus 1 + lappend results_expected 1 13 36 78 + lappend boottime_expected 26 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] + + set use_vcpus 2 + lappend results_expected 2 11 35 48 + lappend boottime_expected 25 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] + + set use_vcpus 3 + lappend results_expected 3 9 39 39 + lappend boottime_expected 26 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] + + set use_vcpus 4 + lappend results_expected 4 10 41 34 + lappend boottime_expected 27 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] +} + +# +# Dump aggregated output of the several runs above +# +grep_output "$match_guest_log.*cpus=" + +puts $output + +set merge_host_output [split $output_host "\n"] +set merge_host_extra [split $output_host_extra "\n"] +for { set i 0 } { $i < [llength $merge_host_output] } { incr i} { + puts "[lindex $merge_host_output $i] [lindex $merge_host_extra $i]" +} + +evaluate_stress diff --git a/repos/ports/run/vm_stress_vbox5-debian64.run b/repos/ports/run/vm_stress_vbox5-debian64.run new file mode 100644 index 000000000..6155c875a --- /dev/null +++ b/repos/ports/run/vm_stress_vbox5-debian64.run @@ -0,0 +1,99 @@ +# +# Debian 64bit VM cloning Genode git sources, preparing and building pieces +# + +assert_spec x86 +assert_spec nova + +set flavor "stress_64" +set vm_ram "1280M" + +set use_vbox5 1 + +set use_rumpfs 1 +set use_ram_fs 1 +set use_overlay_from_disk 1 + +set use_serial 1 + +set use_usb 0 +set use_ps2 [have_spec ps2] + +set use_vms 1 +set use_cpu_load 0 + +set output_host "" +set output_host_extra "" +set results_expected { } +set boottime_expected { } + +set match_guest_log "\[init -\> log_terminal\]" +set match_boot_string "\[init -\> vbox.*\].*Using VMX virtualization extension" +#set match_guest_down + +# use generic vbox5 VMM version +set use_vbox5_nova 0 +set vmm_name "vbox5_gen" + +set use_vcpus 1 +lappend results_expected 1 12 50 79 +lappend boottime_expected 21 +source ${genode_dir}/repos/ports/run/vbox_win.inc +source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc +kill_spawned [output_spawn_id] + +# set use_vcpus 2 +# lappend results_expected 0 0 0 0 +# lappend boottime_expected 35 +# source ${genode_dir}/repos/ports/run/vbox_win.inc +# source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc +# kill_spawned [output_spawn_id] + +if {[have_spec nova]} { + # use non-generic vbox5 VMM version + set use_vbox5_nova 1 + set vmm_name "vbox5_nova" + + set use_vcpus 1 + lappend results_expected 1 13 42 76 + lappend boottime_expected 25 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] + + set use_vcpus 2 + lappend results_expected 2 10 37 47 + lappend boottime_expected 25 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] + + set use_vcpus 3 + lappend results_expected 3 10 36 40 + lappend boottime_expected 25 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] + + set use_vcpus 4 + lappend results_expected 4 10 38 35 + lappend boottime_expected 26 + source ${genode_dir}/repos/ports/run/vbox_win.inc + source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc + kill_spawned [output_spawn_id] +} + +# +# Dump aggregated output of the several runs above +# +grep_output "$match_guest_log.*cpus=" + +puts $output + +set merge_host_output [split $output_host "\n"] +set merge_host_extra [split $output_host_extra "\n"] +for { set i 0 } { $i < [llength $merge_host_output] } { incr i} { + puts "[lindex $merge_host_output $i] [lindex $merge_host_extra $i]" +} + +evaluate_stress diff --git a/repos/ports/run/vmm_vm_stress.inc b/repos/ports/run/vmm_vm_stress.inc new file mode 100644 index 000000000..0f5b316dc --- /dev/null +++ b/repos/ports/run/vmm_vm_stress.inc @@ -0,0 +1,119 @@ +#!/usr/bin/expect + +set current_date [clock format [clock seconds] -format %a] +if {[get_cmd_switch --autopilot] && $current_date != "Sat" && $current_date != "Sun" } { + puts "\n Run script is not supported today on this platform. \n"; + exit 0 +} + +run_genode_until $match_boot_string 40 + +set t_vm_boot_start [clock seconds] +run_genode_until "$match_guest_log.*git clone" 70 [output_spawn_id] +set t_vm_git_clone [clock seconds] +run_genode_until "$match_guest_log.*prepare ports" 70 [output_spawn_id] +set t_vm_prepare_ports [clock seconds] +run_genode_until "$match_guest_log.*make -j" 200 [output_spawn_id] +set t_vm_make_j [clock seconds] +run_genode_until "$match_guest_log.*make done" 500 [output_spawn_id] +set t_vm_make_done [clock seconds] + +run_genode_until "$match_guest_log.*cpus=" 20 [output_spawn_id] +run_genode_until "$match_guest_log.*Done stress.sh" 10 [output_spawn_id] + +set t_clone [expr $t_vm_prepare_ports - $t_vm_git_clone] +set t_prepare_ports [expr $t_vm_make_j - $t_vm_prepare_ports] +set t_make [expr $t_vm_make_done - $t_vm_make_j] + +set results_end [llength $results_expected] +set result_make [lindex $results_expected [expr $results_end - 1]] +set result_prepare [lindex $results_expected [expr $results_end - 2]] +set result_clone [lindex $results_expected [expr $results_end - 3]] + +set output_result "(host-tcl) cpus=$use_vcpus - clone=$t_clone - prepare_port=$t_prepare_ports - make=$t_make" +set output_result_ci "(host) cpus=$use_vcpus - clone=$t_clone,$result_clone - prepare_port=$t_prepare_ports,$result_prepare - make=$t_make,$result_make" + +set output_extra "boottimeVM=[expr $t_vm_git_clone - $t_vm_boot_start]" + +puts "\n$output_result_ci - $output_extra - $vmm_name\n" +append output_host "$output_result\n" +append output_host_extra "$output_extra\n" + + +## +# Evaluate results of stress test +# +proc evaluate_stress { } { + + global output_host_extra + global output_host + global output + global results_expected + global boottime_expected + + set results_boottime [regexp -all -inline {[0-9]+} $output_host_extra] + set results_host [regexp -all -inline {[0-9]+} $output_host] + set results_guest [regexp -all -inline {[0-9]+} $output] + set results_len [llength $results_host] + + puts "host results $results_host" + puts "guest results $results_guest" + puts "expected results $results_expected" + puts "boottime host $results_boottime" + puts "boottime expect $boottime_expected" + + # + # Sanity check + # + if {$results_len != [llength $results_expected] || + $results_len != [llength $results_guest] || + [llength $boottime_expected] != [llength $results_boottime]} { + puts "Result length not as expected" + exit -1 + } + + set result_miss 0 + + for { set i 0 } { $i < $results_len } { incr i} { + set res_h [lindex $results_host $i] + set res_g [lindex $results_guest $i] + set res_e [lindex $results_expected $i] + if {$res_h != $res_e || $res_g != $res_e} { + set diff_abs_h [expr abs($res_h - $res_e)] + set diff_abs_g [expr abs($res_g - $res_e)] + + switch [expr $i % 4] { + 0 { + # the cpu number count must be identical + incr result_miss + } + 1 { + # give clone numbers 5s diff + if { $diff_abs_h > 5 || $diff_abs_g > 5 } { incr result_miss } + } + 2 { + # give prepare ports 10s diff + if { $diff_abs_h > 10 || $diff_abs_g > 10 } { incr result_miss } + } + 3 { + if { $diff_abs_h > 1 || $diff_abs_g > 1 } { incr result_miss } + } + } + } + } + + for { set i 0} { $i < $results_len } { incr i} { + set res_h [lindex $results_boottime $i] + set res_e [lindex $boottime_expected $i] + + if {$res_h != $res_e} { + set diff_abs [expr abs($res_h - $res_e)] + + if { $diff_abs > 1 } { incr result_miss } + } + } + + if {$result_miss} { + puts "$result_miss results deviate too much" + } +} diff --git a/tool/autopilot.list b/tool/autopilot.list index 15480cf42..cf25885ff 100644 --- a/tool/autopilot.list +++ b/tool/autopilot.list @@ -78,6 +78,8 @@ vbox5_win7_64 vbox5_win7_64_multiple vbox5_win7_64_raw vbox5_win7_64_share +vm_stress_vbox5-debian32 +vm_stress_vbox5-debian64 verify vfs_import vmm_arm