rm -f $@-log; \
prefix=`if test "$(@D)" = "regexp"; then echo regexp-test; else dirname $(@D); fi`; \
test "$${prefix}" != "." || prefix="$(@D)"; \
- if $(srcdir)/testsuite/gotest --dejagnu=$(use_dejagnu) --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" >>$@-log 2>&1; then \
- echo "PASS: $(@D)"; \
+ if test "$(use_dejagnu)" = "yes"; then \
+ $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)"; \
else \
- echo "FAIL: $(@D)"; \
- cat $@-log; \
- exit 1; \
+ if $(srcdir)/testsuite/gotest --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" >>$@-log 2>&1; then \
+ echo "PASS: $(@D)"; \
+ else \
+ echo "FAIL: $(@D)"; \
+ cat $@-log; \
+ exit 1; \
+ fi; \
fi
# Build all packages before checking any.
rm -f $@-log; \
prefix=`if test "$(@D)" = "regexp"; then echo regexp-test; else dirname $(@D); fi`; \
test "$${prefix}" != "." || prefix="$(@D)"; \
- if $(srcdir)/testsuite/gotest --dejagnu=$(use_dejagnu) --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" >>$@-log 2>&1; then \
- echo "PASS: $(@D)"; \
+ if test "$(use_dejagnu)" = "yes"; then \
+ $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)"; \
else \
- echo "FAIL: $(@D)"; \
- cat $@-log; \
- exit 1; \
+ if $(srcdir)/testsuite/gotest --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" >>$@-log 2>&1; then \
+ echo "PASS: $(@D)"; \
+ else \
+ echo "FAIL: $(@D)"; \
+ cat $@-log; \
+ exit 1; \
+ fi; \
fi
./a.out "$@"
;;
xyes)
- # This is the only file which is optionally made.
- # All others are overwritten on copying/building,
- # but this may remain and cause conflicts if not
- # deleted.
- rm -rf ../testsuite/_xtest_.o
- cp *.o _testmain.go ../testsuite
+ rm -rf ../testsuite/*.o
+ files=`echo *`
+ for f in $files; do
+ if test "$f" = "_obj" || test "$f" = "_test"; then
+ continue
+ fi
+ rm -rf ../testsuite/$f
+ if test -f $f; then
+ cp $f ../testsuite/
+ else
+ ln -s ../$DIR/$f ../testsuite/
+ fi
+ done
cd ../testsuite
+ rm -rf _obj _test
+ mkdir _obj _test
$MAKE check RUNTESTFLAGS="$RUNTESTFLAGS GOTEST_TMPDIR=$DIR"
# Useful when using make check-target-libgo
cat libgo.log >> libgo-all.log
cat libgo.sum >> libgo-all.sum
+ rm -rf $files
;;
esac
if {$gccdir != ""} {
set gccdir [file dirname $gccdir]
}
-set GO_UNDER_TEST "$gccdir/gccgo -B$gccdir/"
+set GOC_UNDER_TEST "$gccdir/gccgo -B$gccdir/"
set TESTING_IN_BUILD_TREE 1
proc go_maybe_build_wrapper { args } {
load_lib libgo.exp
lappend options "additional_flags=-I. -w -g"
-lappend ld_options "ldflags=-lgotesting"
if [istarget "*-*-rtems*"] {
global options
}
set object_files [glob -nocomplain "*.o"]
-regsub $gluefile $object_files "" object_files
-
-lappend options $ld_options
+if [info exists gluefile] {
+ regsub $gluefile $object_files "" object_files
+}
set comp_output [go_target_compile "$object_files _testmain.go" \
"./a.exe" "executable" $options]
exit 1
}
-libgo_load "./a.exe" "" ""
+set result [libgo_load "./a.exe" "" ""]
+
+set status [lindex $result 0]
+$status go