libc/winsup/testsuite/winsup.api/cygload.exp

41 lines
1.1 KiB
Plaintext

source "site.exp"
if { ! [isnative] } {
verbose "skipping cygload because it's not native \"$target_triplet\" != \"$build_triplet\""
return
}
proc ws_spawn {cmd args} {
global rv
verbose "running $cmd\n"
set rv {}
# First item in rv is the return code, second item is the message
lappend rv [catch "exec $cmd" message] $message
verbose send "catchCode = $rv\n"
}
ws_spawn "gcc -mno-cygwin $srcdir/$subdir/cygload.cc -o mingw-cygload.exe -lstdc++ -Wl,-e,_cygloadCRTStartup@0"
if { $rv != {0 {}} } {
verbose -log "$rv"
fail "cygload (compile)"
} else {
if { $verbose } {
set redirect_output "./mingw-cygwin.log"
} else {
set redirect_output /dev/null
}
set windows_runtime_root [exec cygpath -m $runtime_root]
ws_spawn "./mingw-cygload.exe -cygwin $windows_runtime_root/cygwin0.dll > $redirect_output"
if { $rv != {0 {}} } {
verbose -log "cygload: $rv"
fail "cygload (execute)"
} else {
pass "cygload"
}
catch { file delete "mingw-cygload.exe" } err
if { $err != "" } {
note "error deleting mingw-cygload.exe: $err"
}
}