]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libjava/testsuite/libjava.mauve/mauve.exp
Imported gcc-4.4.3
[msp430-gcc.git] / libjava / testsuite / libjava.mauve / mauve.exp
diff --git a/libjava/testsuite/libjava.mauve/mauve.exp b/libjava/testsuite/libjava.mauve/mauve.exp
deleted file mode 100644 (file)
index 4a26b27..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-# Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation.
-# Written by Tom Tromey <tromey@cygnus.com>.
-# Incorporate Mauve into libjava's DejaGNU test suite framework.
-
-# FIXME: should be able to compile from source as well as from .class.
-
-
-# Compute list of files to compile.  Returns list of all files
-# representing classes that must be tested.  Result parameter `uses'
-# maps source file names onto list of objects required for link.
-proc mauve_compute_uses {aName} {
-  upvar $aName uses
-  global env runtests
-
-  set fd [open classes r]
-  set line [read $fd]
-  close $fd
-
-  foreach item [split $line] {
-    if {$item == ""} then {
-      continue
-    }
-    set item [join [split $item .] /].java
-
-    # User might have specified "mauve.exp=something.java".
-    if {! [runtest_file_p $runtests $item]} {
-      continue
-    }
-
-    # Look for Uses line in source file.
-    set fd [open $env(MAUVEDIR)/$item r]
-    set ufiles [list $item]
-    set dir [file dirname $item]
-    while {[gets $fd sline] != -1} {
-      if {[regsub -- {^// Uses:} $sline {} sline]} then {
-       foreach uf [split $sline] {
-         if {$uf != ""} then {
-           lappend ufiles $dir/$uf
-         }
-       }
-      }
-    }
-    close $fd
-
-    set uses($item) {}
-    foreach file $ufiles {
-      set file [file rootname $file].o
-      lappend uses($item) $file
-    }
-  }
-
-  return [lsort [array names uses]]
-}
-
-# Run all the Mauve tests.  Return 1 on success, 0 on any failure.  If
-# the tests are skipped, that is treated like success.
-proc test_mauve {} {
-  global srcdir objdir subdir env
-
-  if {! [info exists env(MAUVEDIR)]} then {
-    verbose "MAUVEDIR not set; not running Mauve tests"
-    return 1
-  }
-
-  # Run in subdir so we don't overwrite our own Makefile.
-  catch {system "rm -rf mauve-build"}
-  file mkdir mauve-build
-  # Some weirdness to set srcdir correctly.
-  set here [pwd]
-  cd $srcdir
-  set full_srcdir [pwd]
-  cd $here/mauve-build
-
-    global env
-    global GCJ_UNDER_TEST
-    global TOOL_EXECUTABLE
-
-    if ![info exists GCJ_UNDER_TEST] {
-       if [info exists TOOL_EXECUTABLE] {
-           set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
-       } else {
-           if [info exists env(GCJ)] {
-               set GCJ_UNDER_TEST env(GCJ)
-           } else {
-               set GCJ_UNDER_TEST "[find_gcj]"
-           }
-       }
-    }
-
-    # Append -B and -I so that libgcj.spec and libgcj.zip are found
-    # before they're installed.
-    set env(GCJ) "$GCJ_UNDER_TEST -B$objdir/../ -I$objdir/../libgcj.jar"
-
-  if {[catch {
-    system "$env(MAUVEDIR)/configure --with-gcj 2>&1"
-  } msg]} then {
-    fail "Mauve configure"
-    verbose "configure failed with $msg"
-    return 0
-  }
-  pass "Mauve configure"
-
-  # Copy appropriate tags file locally.
-  set fd [open $full_srcdir/../mauve-libgcj r]
-  set c [read $fd]
-  close $fd
-  set fd [open mauve-libgcj w]
-  puts -nonewline $fd $c
-  close $fd
-
-  catch {system "ln -s $full_srcdir/libjava.mauve/xfails xfails"}
-
-  if {[catch {
-    system "make KEYS=libgcj classes.stamp 2>&1"
-  } msg]} then {
-    fail "Mauve build"
-    verbose "build failed with $msg"
-    return 0
-  }
-  pass "Mauve build"
-
-  set srcfile $full_srcdir/$subdir/DejaGNUTestHarness.java
-  if {! [bytecompile_file $srcfile [pwd] $env(MAUVEDIR):[pwd]]} then {
-    fail "Compile DejaGNUTestHarness.java"
-    return 0
-  }
-  pass "Compile DejaGNUTestHarness.java"
-
-  # Compute list of files to test, and also all files to build.
-  set choices [mauve_compute_uses uses]
-
-  # Compute flags to use to do the build.
-  set compile_args [libjava_arguments]
-  set link_args [concat [libjava_arguments link] \
-                  [list "additional_flags=--main=DejaGNUTestHarness"]]
-
-  set ok 1
-  set objlist {}
-  foreach base {DejaGNUTestHarness gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException gnu/testlet/config} {
-    set file $base.class
-    set obj $base.o
-    set x [prune_warnings \
-            [target_compile [pwd]/$file $obj object $compile_args]]
-    if {$x != ""} then {
-      fail "Compile $obj"
-      set ok 0
-    } else {
-      pass "Compile $obj"
-    }
-    lappend objlist $obj
-  }
-  if {! $ok} then {
-    return 0
-  }
-
-  set proc_ok 1
-  set Executable DejaGNUTestHarness
-  foreach file $choices {
-    # Turn `java/lang/Foo.java' into `java.lang.Foo'.
-    set class [file rootname $file]
-    regsub -all -- / $class . class
-
-    set ok 1
-    foreach obj $uses($file) {
-      if {! [file exists $obj]} then {
-       verbose "compiling $obj for test of $class"
-       set srcfile [file rootname $obj].class
-       set x [prune_warnings \
-                [target_compile [pwd]/$srcfile $obj object $compile_args]]
-       if {$x != ""} then {
-         fail "Compile $obj for $class"
-         set ok 0
-         break
-       }
-       pass "Compile $obj for $class"
-      }
-    }
-    if {! $ok} then {
-      set proc_ok 0
-      continue
-    }
-
-    set x [prune_warnings [target_compile [concat $uses($file) $objlist] \
-                            $Executable executable $link_args]]
-    if {$x != ""} then {
-      set proc_ok 0
-      fail "Link for $class"
-      continue
-    }
-    pass "Link for $class"
-
-    set result [libjava_load [pwd]/DejaGNUTestHarness \
-                 "$env(MAUVEDIR) $class" ""]
-
-    # Extract pass/failure info from output.
-    foreach line [split [lindex $result 1] \n] {
-      if {[regexp -- {^(PASS|FAIL|XFAIL|XPASS): (.*)$} $line ignore what msg]} then {
-       if {$what == "XFAIL" || $what == "XPASS"} then {
-         setup_xfail *-*-*
-       }
-       if {$what == "PASS" || $what == "XPASS"} then {
-         pass $msg
-       } else {
-         set proc_ok 0
-         fail $msg
-       }
-      }
-    }
-  }
-
-  return $proc_ok
-}
-
-# Run all the Mauve tests in a sim environment.  In this case, the
-# program cannot use argv[] because there's no way to pass in the
-# command line, so tha name of the class to test is substituted by
-# patching the source of the DejaGNUTestHarness.  Return 1 on success,
-# 0 on any failure.  If the tests are skipped, that is treated like
-# success.
-proc test_mauve_sim {} {
-  global srcdir subdir env
-
-  if {! [info exists env(MAUVEDIR)]} then {
-    verbose "MAUVEDIR not set; not running Mauve tests"
-    return 1
-  }
-
-  # Run in subdir so we don't overwrite our own Makefile.
-  catch {system "rm -rf mauve-build"}
-  file mkdir mauve-build
-  # Some weirdness to set srcdir correctly.
-  set here [pwd]
-  cd $srcdir
-  set full_srcdir [pwd]
-  cd $here/mauve-build
-
-  if {[catch {
-    system "$env(MAUVEDIR)/configure --with-gcj 2>&1"
-  } msg]} then {
-    fail "Mauve configure"
-    verbose "configure failed with $msg"
-    return 0
-  }
-  pass "Mauve configure"
-
-  # Copy appropriate tags file locally.
-  set fd [open $full_srcdir/../mauve-libgcj r]
-  set c [read $fd]
-  close $fd
-  set fd [open mauve-libgcj w]
-  puts -nonewline $fd $c
-  close $fd
-
-  catch {system "ln -s $full_srcdir/libjava.mauve/xfails xfails"}
-
-  if {[catch {
-    system "make KEYS=libgcj classes.stamp 2>&1"
-  } msg]} then {
-    fail "Mauve build"
-    verbose "build failed with $msg"
-    return 0
-  }
-  pass "Mauve build"
-
-  # Compute list of files to test, and also all files to build.
-  set choices [mauve_compute_uses uses]
-
-  # Compute flags to use to do the build.
-  set compile_args [libjava_arguments]
-  set link_args [concat [libjava_arguments link] \
-                  [list "additional_flags=--main=DejaGNUTestHarness"]]
-
-  set ok 1
-  set objlist {}
-  foreach base {gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness \
-                 gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException \
-                 gnu/testlet/config} {
-    set file $base.class
-    set obj $base.o
-    set x [prune_warnings \
-            [target_compile [pwd]/$file $obj object $compile_args]]
-    if {$x != ""} then {
-      fail "Compile $obj"
-      set ok 0
-    } else {
-      pass "Compile $obj"
-    }
-    lappend objlist $obj
-  }
-  if {! $ok} then {
-    return 0
-  }
-
-  lappend objlist gnu/testlet/DejaGNUTestHarness.o
-
-  set proc_ok 1
-  set Executable DejaGNUTestHarness
-  foreach file $choices {
-    # Turn `java/lang/Foo.java' into `java.lang.Foo'.
-    
-    set class [file rootname $file]
-    regsub -all -- / $class . class
-
-    set ok 1
-    foreach obj $uses($file) {
-      if {! [file exists $obj]} then {
-       verbose "compiling $obj for test of $class"
-       set srcfile [file rootname $obj].class
-       set x [prune_warnings \
-                [target_compile [pwd]/$srcfile $obj object $compile_args]]
-       if {$x != ""} then {
-         fail "Compile $obj for $class"
-         set ok 0
-         break
-       }
-       pass "Compile $obj for $class"
-      }
-    }
-    if {! $ok} then {
-      set proc_ok 0
-      continue
-    }
-
-    set infile $full_srcdir/$subdir/DejaGNUTestHarness.java
-    set srcfile DejaGNUTestHarness.java
-    set f [open $infile r]
-    set d [open gnu/testlet/$srcfile w]
-    while {[gets $f line] >= 0} {
-       if [regexp {harness\.runtest \(args\[1\]\)} $line] then {
-           regsub {args\[1\]} $line "\"$class\"" out
-       } else {
-           set out $line
-       }
-       puts $d $out
-    }
-    close $f
-    close $d
-
-    if {! [bytecompile_file [pwd]/gnu/testlet/$srcfile [pwd]/gnu/testlet \
-              $env(MAUVEDIR):[pwd]]} then {
-       fail "Compile DejaGNUTestHarness.java"
-       return 0
-    }
-
-    set x [prune_warnings \
-            [target_compile gnu/testlet/DejaGNUTestHarness.class \
-               gnu/testlet/DejaGNUTestHarness.o object $compile_args]]
-    if {$x != ""} then {
-       fail "Compile DejaGNUTestHarness.java"
-        set proc_ok 0
-       continue
-    }
-
-    set x [prune_warnings [target_compile [concat $uses($file) $objlist] \
-                            $Executable executable $link_args]]
-    if {$x != ""} then {
-      set proc_ok 0
-      fail "Link for $class"
-      continue
-    }
-    pass "Link for $class"
-
-    set result [libjava_load [pwd]/DejaGNUTestHarness \
-                 "$env(MAUVEDIR) $class" ""]
-
-    # Extract pass/failure info from output.
-    foreach line [split [lindex $result 1] \n] {
-      if {[regexp -- {^(PASS|FAIL|XFAIL|XPASS): (.*)$} $line ignore what msg]} then {
-       if {$what == "XFAIL" || $what == "XPASS"} then {
-         setup_xfail *-*-*
-       }
-       if {$what == "PASS" || $what == "XPASS"} then {
-         pass $msg
-       } else {
-         set proc_ok 0
-         fail $msg
-       }
-      }
-    }
-  }
-
-  return $proc_ok
-}
-
-proc gcj_run_mauve_tests {} {
-  # The test_mauve* procs will change the current directory.  It's
-  # simpler to fix this up here than to keep track of this in the
-  # procs.
-  set here [pwd]
-  if { [board_info target exists is_simulator] } {
-    set r [test_mauve_sim]
-  } else {
-    set r [test_mauve]
-  }
-  cd $here
-
-  if {$r} {
-    # No need to keep the build around.  FIXME: this knows how the
-    # tests work.  This whole file could use a rewrite.
-    system "rm -rf mauve-build"
-  }
-}
-
-gcj_run_mauve_tests