#
# \brief  Noux environment for building the Genode/NOVA demo scenario on Genode
# \author Christian Prochaska
# \date   2012-11-26
#

if {[have_include "power_on/qemu"]} {
	puts "\nAuto test running on Qemu is not recommended.\n"
	exit 0
}

if {[have_spec pistachio] || [have_spec sel4]} {
	puts "Platform is unsupported."
	exit 0
}


set verbose_mode      "no"

set platform_pkgs     ""
set platform_cmds     {
                         make core KERNEL=hw &&
                         exit 234
}
set platform_base_dir   "base-hw"

if {[have_spec arm]} {
	set noux_boot_timeout   350
	set tool_chain_timeout  600

	if {[have_spec panda]}   {
		set platform "panda"
		set tool_chain_timeout  1500
	}
	if {[have_spec arndale]} {
		set platform "arndale"
		set tool_chain_timeout  1500
	}
	if {[have_spec pbxa9]}   { set platform "pbxa9" }

	if {![info exists platform]} {
		puts "\n Run script is not supported on this platform. \n"
		exit 0
	}
}

if {[have_spec x86]} {
	set noux_boot_timeout   100
	set tool_chain_timeout  450
	set platform            "x86_64"

	if {[have_spec foc]} {
		set tool_chain_timeout  850
	}
}

source ${genode_dir}/repos/ports/run/noux_tool_chain.inc

append qemu_args " -m 768 "

# wait until Noux started
run_genode_until {\[init -\> noux\].*--- noux started ---} $noux_boot_timeout
set serial_id [output_spawn_id]

# start the measurement
set time_start [ clock seconds ]
run_genode_until {child /bin/bash exited with exit value 234} $tool_chain_timeout $serial_id

set time_end [ clock seconds ]

# cleanup created tars
foreach pkg $noux_pkgs { exec rm -f bin/$pkg.tar }
exec rm -f bin/genode.tar

# print infos about run
set git_info "unknown"
catch { set git_info [exec git --git-dir=$genode_dir/.git describe ] }

puts "Testing \" [ clock format $time_start -format "%Y-%m-%d %H:%M:%S"], commit: ($git_info)\" in : "
puts "Testing \"all\" in printf.wv:"
puts "! PERF: runtime [expr $time_end - $time_start ] seconds ok"

puts "Test succeeded"