diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2010-11-20 15:36:34 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2010-11-20 15:36:34 +0000 |
commit | eb22018c4c91268d4a6a11dc636493082ca33049 (patch) | |
tree | ec129abe37420ae293af6694fecea4fea14574d5 /ld/testsuite/lib | |
parent | f3097f3364542da446c96759eb04abb0d0507bc2 (diff) | |
download | gdb-eb22018c4c91268d4a6a11dc636493082ca33049.zip gdb-eb22018c4c91268d4a6a11dc636493082ca33049.tar.gz gdb-eb22018c4c91268d4a6a11dc636493082ca33049.tar.bz2 |
binutils/testsuite/
* lib/binutils-common.exp (regexp_diff): New procedure.
* lib/utils-lib.exp (regexp_diff): Delete.
gas/testsuite/
* lib/gas-defs.exp (regexp_diff): Delete.
(run_dump_test): Remove final "" argument in call to regexp_diff.
(run_list_test): Likewise.
(run_list_test_stdin): Likewise.
* gas/all/gas.exp (test_cond): Likewise.
* gas/elf/elf.exp (run_elf_list_test): Likewise.
* gas/m68k/all.exp: Likewise.
* gas/mep/complex-relocs.exp (regexp_test): Likewise.
* gas/mt/relocs.exp (regexp_test): Likewise.
* gas/symver/symver.exp (run_error_test): Likewise.
ld/testsuite/
* lib/ld-lib.exp (regexp_diff, simple_diff): Delete.
Diffstat (limited to 'ld/testsuite/lib')
-rw-r--r-- | ld/testsuite/lib/ld-lib.exp | 190 |
1 files changed, 2 insertions, 188 deletions
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index c1e141a..48e9635 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -408,75 +408,6 @@ proc ld_simple_link_defsyms {} { return $flags } -# Compares two files line-by-line. -# Returns differences if exist. -# Returns null if file(s) cannot be opened. -# -proc simple_diff { file_1 file_2 } { - global target - - set eof -1 - set differences 0 - - if [file exists $file_1] then { - set file_a [open $file_1 r] - } else { - warning "$file_1 doesn't exist" - return - } - - if [file exists $file_2] then { - set file_b [open $file_2 r] - } else { - fail "$file_2 doesn't exist" - return - } - - verbose "# Diff'ing: $file_1 $file_2\n" 2 - - while { [gets $file_a line] != $eof } { - if [regexp "^#.*$" $line] then { - continue - } else { - lappend list_a $line - } - } - close $file_a - - while { [gets $file_b line] != $eof } { - if [regexp "^#.*$" $line] then { - continue - } else { - lappend list_b $line - } - } - close $file_b - - for { set i 0 } { $i < [llength $list_a] } { incr i } { - set line_a [lindex $list_a $i] - set line_b [lindex $list_b $i] - - verbose "\t$file_1: $i: $line_a\n" 3 - verbose "\t$file_2: $i: $line_b\n" 3 - if [string compare $line_a $line_b] then { - verbose -log "\t$file_1: $i: $line_a\n" - verbose -log "\t$file_2: $i: $line_b\n" - - fail "Test: $target" - return - } - } - - if { [llength $list_a] != [llength $list_b] } { - fail "Test: $target" - return - } - - if $differences<1 then { - pass "Test: $target" - } -} - # run_dump_test FILE # Copied from gas testsuite, tweaked and further extended. # @@ -577,8 +508,8 @@ proc simple_diff { file_1 file_2 } { # # After the option lines come regexp lines. `run_dump_test' calls # `regexp_diff' to compare the output of the dumping tool against the -# regexps in FILE.d. `regexp_diff' is defined later in this file; see -# further comments there. +# regexps in FILE.d. `regexp_diff' is defined in binutils-common.exp; +# see further comments there. # proc run_dump_test { name } { global subdir srcdir @@ -943,123 +874,6 @@ proc slurp_options { file } { return $opt_array } -# regexp_diff, copied from gas, based on simple_diff above. -# compares two files line-by-line -# file1 contains strings, file2 contains regexps and #-comments -# blank lines are ignored in either file -# returns non-zero if differences exist -# -proc regexp_diff { file_1 file_2 } { - - set eof -1 - set end_1 0 - set end_2 0 - set differences 0 - set diff_pass 0 - set fail_if_match 0 - - if [file exists $file_1] then { - set file_a [open $file_1 r] - } else { - warning "$file_1 doesn't exist" - return 1 - } - - if [file exists $file_2] then { - set file_b [open $file_2 r] - } else { - fail "$file_2 doesn't exist" - close $file_a - return 1 - } - - verbose " Regexp-diff'ing: $file_1 $file_2" 2 - - while { 1 } { - set line_a "" - set line_b "" - while { [string length $line_a] == 0 } { - if { [gets $file_a line_a] == $eof } { - set end_1 1 - break - } - } - while { [string length $line_b] == 0 || [string match "#*" $line_b] } { - if [ string match "#pass" $line_b ] { - set end_2 1 - set diff_pass 1 - break - } elseif [ string match "#failif" $line_b ] { - send_log "fail if no difference\n" - verbose "fail if no difference" 3 - set fail_if_match 1 - } elseif [ string match "#..." $line_b ] { - if { [gets $file_b line_b] == $eof } { - set end_2 1 - set diff_pass 1 - break - } - verbose "looking for \"^$line_b$\"" 3 - while { ![regexp "^$line_b$" "$line_a"] } { - verbose "skipping \"$line_a\"" 3 - if { [gets $file_a line_a] == $eof } { - set end_1 1 - break - } - } - break - } - if { [gets $file_b line_b] == $eof } { - set end_2 1 - break - } - } - - if { $diff_pass } { - break - } elseif { $end_1 && $end_2 } { - break - } elseif { $end_1 } { - send_log "extra regexps in $file_2 starting with \"^$line_b$\"\nEOF from $file_1\n" - verbose "extra regexps in $file_2 starting with \"^$line_b$\"\nEOF from $file_1" 3 - set differences 1 - break - } elseif { $end_2 } { - send_log "extra lines in $file_1 starting with \"^$line_a$\"\nEOF from $file_2\n" - verbose "extra lines in $file_1 starting with \"^$line_a$\"\nEOF from $file_2\n" 3 - set differences 1 - break - } else { - verbose "regexp \"^$line_b$\"\nline \"$line_a\"" 3 - if ![regexp "^$line_b$" "$line_a"] { - verbose "regexp_diff match failure\n" 3 - send_log "regexp_diff match failure\n" - send_log "regexp \"^$line_b$\"\nline \"$line_a\"\n" - set differences 1 - } - } - } - - if { $differences == 0 && !$diff_pass && [eof $file_a] != [eof $file_b] } { - send_log "$file_1 and $file_2 are different lengths\n" - verbose "$file_1 and $file_2 are different lengths" 3 - set differences 1 - } - - if { $fail_if_match } { - if { $differences == 0 } { - set differences 1 - } else { - set differences 0 - } - } - - close $file_a - close $file_b - - return $differences -} - proc file_contents { filename } { set file [open $filename r] set contents [read $file] |