Rename to util-defs.exp and turn into generic procedures.
authorRob Savoye <rob@cygnus>
Thu, 8 Apr 1993 05:26:10 +0000 (05:26 +0000)
committerRob Savoye <rob@cygnus>
Thu, 8 Apr 1993 05:26:10 +0000 (05:26 +0000)
binutils/testsuite/lib/nm-defs.exp [deleted file]
binutils/testsuite/lib/util-defs.exp [new file with mode: 0755]

diff --git a/binutils/testsuite/lib/nm-defs.exp b/binutils/testsuite/lib/nm-defs.exp
deleted file mode 100644 (file)
index 733612c..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-#   Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
-
-# This file was written by Rob Savoye. (rob@cygnus.com)
-
-#
-# nm_test -- run nm and test the result.
-#             Takes four parameters.
-#             Parameters:
-#                First one is the command line arguments
-#                Second one is the file name
-#                Third one is the regexp style pattern to match for a PASS,
-#                Fourth one is an optional message to be printed. If this
-#                  a null string "", then the pass/fail messages are not printed.
-#             Returns:
-#                1 if the test failed,
-#                0 if the test passes,
-#               -1 if there was an internal error.
-#
-proc nm_test { args } {
-    global verbose
-    global comp_output
-    global NM
-    global NMFLAGS
-
-    # get the parameters
-    set cmd_arg [lindex $args 0]
-    set file    [lindex $args 1]
-    set pattern [lindex $args 2]
-
-    if [llength $args]==4 then {
-       set message [lindex $args 3]
-    } else {
-       set message "$arg option"
-    }
-
-    if $verbose>2 then {
-       send_user "Looking to match \"$pattern\"\n"
-       send_user "Message is \"$message\"\n"
-    }
-
-    if ![file exists $file] then {
-        error "$file doesn't exist"
-        return -1
-    }
-
-#
-# run nm and analyze the results
-#
-    set nm_flags_orig $NMFLAGS
-    append NMFLAGS " $cmd_arg"
-    nm_start $file
-
-    if [string match "" $comp_output] then {
-       fail "$message"
-       warning "Got no output."
-       set NMFLAGS $nm_flags_orig
-       return 1
-    }
-
-    if [regexp "$pattern" $comp_output] then {
-       pass "$message"
-       set NMFLAGS $nm_flags_orig
-       return 0
-    }
-
-    fail "$message"
-    set NMFLAGS $nm_flags_orig
-    return 1
-}
-
-# since nm is purely host based, all the init module use these
-# same procedures
-
-#
-# default_nm_version -- extract and print the version number of nm
-#
-proc default_nm_version {} {
-    global NM
-    set tmp [exec $NM +version]
-    regexp " \[0-9\.\]+" $tmp version
-    clone_output "[which $NM] version $version\n"
-    unset tmp
-    unset version
-}
-
-#
-# default_nm_load -- loads the program. For nm, we just execute it
-#
-proc default_nm_load { arg } {
-    global verbose
-    global exec_output
-    if ![file exists $args] then {
-        error $args does not exist"
-        return -1
-    }
-    set status [catch "exec $arg" exec_output]
-    if $verbose>1 then {
-       send_user "Executed $arg\n"
-    }
-    return $status
-}
-
-#
-# default_nm_exit -- just a stub for nm
-#
-proc default_nm_exit {} {
-}
-
-#
-# nm_start -- start GDB running
-#
-proc default_nm_start { arg } {
-    global verbose
-    global NM
-    global NMFLAGS
-    global comp_output
-
-    if $verbose>1 then {
-       send_user "Spawning \"$NM $NMFLAGS $arg\"\n"
-    }
-    catch "exec $NM $NMFLAGS $arg" comp_output
-    if ![string match "" $comp_output] then {
-        send_log "$comp_output\n"
-        if $verbose>3 then {
-            send_user "$comp_output\n"
-        }
-    }
-}
-
-#
-# add some basic error trapping. These mostly catch programming error's
-# within the tests themselves
-#
-expect_before {
-    buffer_full                   { error "Internal buffer is full" }
-    "can't open 'nmtest'" { error "Can't open test file" }
-}
-
-
diff --git a/binutils/testsuite/lib/util-defs.exp b/binutils/testsuite/lib/util-defs.exp
new file mode 100755 (executable)
index 0000000..4a2f013
--- /dev/null
@@ -0,0 +1,112 @@
+#   Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@prep.ai.mit.edu
+
+# This file was written by Rob Savoye. (rob@cygnus.com)
+
+#
+# util_test -- run a utility and test the result.
+#             Takes four parameters.
+#             Parameters:
+#                First one is the command line arguments
+#                Second one is the file name
+#                Third one is the regexp style pattern to match for a PASS,
+#                Fourth one is an optional message to be printed. If this
+#                  a null string "", then the pass/fail messages are not printed.
+#             Returns:
+#                1 if the test failed,
+#                0 if the test passes,
+#               -1 if there was an internal error.
+#
+proc util_test { args } {
+    global verbose
+
+    # get the parameters
+    set cmd    [lindex $args 0]
+    verbose    "Utility to execute is $cmd" 2
+    set cmd_arg [lindex $args 1]
+    verbose    "Command line arguments are $cmd_arg" 2
+    set file    [lindex $args 2]
+    verbose    "The file name to use is $file" 2
+    set pattern [lindex $args 3]
+    verbose    "The pattern to match is \"$pattern\"" 2
+
+    if [llength $args]==5 then {
+       set message [lindex $args 4]
+    } else {
+       set message "$arg option"
+    }
+
+    verbose "Looking to match \"$pattern\"\nMessage is \"$message\"" 1
+
+    if ![file exists $file] then {
+        error "$file doesn't exist"
+        return -1
+    }
+
+#
+# run the utility to be tested and analyze the results
+#
+    set comp_output [util_start $cmd $cmd_arg $file]
+
+    if [regexp "$pattern" $comp_output] then {
+       pass "$message"
+       return 0
+    }
+
+    if [string match "" $comp_output] then {
+       warning "Got no output."
+       return 1
+    }
+
+    fail "$message"
+    return 1
+}
+
+# util_start -- run the utility.
+#               return NULL or the output
+#
+proc util_start { args } {
+    set cmd    [lindex $args 0]
+    set cmd_arg [lindex $args 1]
+    set file    [lindex $args 2]
+
+    if {[which $cmd] == 0} then {
+        error "Can't find $cmd"
+       return ""
+    }
+
+    verbose "Spawning \"$cmd $cmd_arg $file\"" 1
+    catch "exec $cmd $cmd_arg $file" comp_output
+    if ![string match "" $comp_output] then {  
+        send_log "$comp_output\n"
+        verbose "$comp_output" 1
+    }
+    return $comp_output
+}
+
+#
+# add some basic error trapping. These mostly catch programming error's
+# within the tests themselves
+#
+expect_before {
+    buffer_full                   { error "Internal buffer is full" }
+    "can't open 'nmtest'" { error "Can't open test file" }
+}
+
+