Add tests for PR gas/9966 and PR gas/11356.
2010-03-08 H.J. Lu <hongjiu.lu@intel.com> PR gas/9966 PR gas/11356 * gas/i386/list-1.l: New. * gas/i386/list-1.s: Likewise. * gas/i386/list-2.l: Likewise. * gas/i386/list-2.s: Likewise. * gas/i386/list-3.l: Likewise. * gas/i386/list-3.s: Likewise. * gas/i386/i386.exp: Run list-1, list-2 and list-3. * lib/gas-defs.exp (gas_run_stdin): New. (run_list_test_stdin): Likewise.
This commit is contained in:
parent
4199fe1239
commit
cea1040956
9 changed files with 145 additions and 0 deletions
|
@ -1,3 +1,19 @@
|
|||
2010-03-08 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR gas/9966
|
||||
PR gas/11356
|
||||
* gas/i386/list-1.l: New.
|
||||
* gas/i386/list-1.s: Likewise.
|
||||
* gas/i386/list-2.l: Likewise.
|
||||
* gas/i386/list-2.s: Likewise.
|
||||
* gas/i386/list-3.l: Likewise.
|
||||
* gas/i386/list-3.s: Likewise.
|
||||
|
||||
* gas/i386/i386.exp: Run list-1, list-2 and list-3.
|
||||
|
||||
* lib/gas-defs.exp (gas_run_stdin): New.
|
||||
(run_list_test_stdin): Likewise.
|
||||
|
||||
2010-02-26 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* gas/mep/allinsn.be.d: Renamed from allinsn.d. Pass -EB.
|
||||
|
|
|
@ -223,6 +223,9 @@ if [expr [istarget "i*86-*-*"] || [istarget "x86_64-*-*"]] then {
|
|||
run_dump_test "string-ok"
|
||||
run_list_test "string-bad" ""
|
||||
run_list_test "space1" "-al"
|
||||
run_list_test_stdin "list-1" "-al"
|
||||
run_list_test_stdin "list-2" "-al"
|
||||
run_list_test_stdin "list-3" "-al"
|
||||
}
|
||||
|
||||
if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] then {
|
||||
|
|
14
gas/testsuite/gas/i386/list-1.l
Normal file
14
gas/testsuite/gas/i386/list-1.l
Normal file
|
@ -0,0 +1,14 @@
|
|||
GAS LISTING .*
|
||||
|
||||
|
||||
[ ]*1[ ]+\.section \.rodata
|
||||
[ ]*2[ ]+\.LC0:
|
||||
[ ]*3[ ]+0000 68616861 \.string "haha %x\\n"
|
||||
[ ]*3[ ]+2025780A
|
||||
[ ]*3[ ]+00
|
||||
[ ]*4[ ]+\.text
|
||||
[ ]*5[ ]+\.globl hex
|
||||
[ ]*6[ ]+\.type hex,@function
|
||||
[ ]*7[ ]+hex:
|
||||
[ ]*8[ ]+0000 C9 leave
|
||||
[ ]*9[ ]+0001 C3 ret
|
9
gas/testsuite/gas/i386/list-1.s
Normal file
9
gas/testsuite/gas/i386/list-1.s
Normal file
|
@ -0,0 +1,9 @@
|
|||
.section .rodata
|
||||
.LC0:
|
||||
.string "haha %x\n"
|
||||
.text
|
||||
.globl hex
|
||||
.type hex, @function
|
||||
hex:
|
||||
leave
|
||||
ret
|
18
gas/testsuite/gas/i386/list-2.l
Normal file
18
gas/testsuite/gas/i386/list-2.l
Normal file
|
@ -0,0 +1,18 @@
|
|||
GAS LISTING .*
|
||||
|
||||
|
||||
[ ]*1[ ]+
|
||||
[ ]*2[ ]+\.L1:
|
||||
[ ]*3[ ]+0000 615C00 \.string "a\\\\"
|
||||
[ ]*4[ ]+0:
|
||||
[ ]*5[ ]+0003 6200 \.string "b"
|
||||
[ ]*6[ ]+1:
|
||||
[ ]*7[ ]+2:
|
||||
[ ]*8[ ]+3:
|
||||
[ ]*9[ ]+4:
|
||||
[ ]*10[ ]+5:
|
||||
[ ]*11[ ]+6:
|
||||
[ ]*12[ ]+7:
|
||||
[ ]*13[ ]+8:
|
||||
[ ]*14[ ]+9:
|
||||
[ ]*15[ ]+10:
|
15
gas/testsuite/gas/i386/list-2.s
Normal file
15
gas/testsuite/gas/i386/list-2.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
|
||||
.L1:
|
||||
.string "a\\"
|
||||
0:
|
||||
.string "b"
|
||||
1:
|
||||
2:
|
||||
3:
|
||||
4:
|
||||
5:
|
||||
6:
|
||||
7:
|
||||
8:
|
||||
9:
|
||||
10:
|
18
gas/testsuite/gas/i386/list-3.l
Normal file
18
gas/testsuite/gas/i386/list-3.l
Normal file
|
@ -0,0 +1,18 @@
|
|||
GAS LISTING .*
|
||||
|
||||
|
||||
[ ]*1[ ]+
|
||||
[ ]*2[ ]+\.L1:
|
||||
[ ]*3[ ]+0000 612200 \.string "a\\""
|
||||
[ ]*4[ ]+0:
|
||||
[ ]*5[ ]+0003 6200 \.string "b"
|
||||
[ ]*6[ ]+1:
|
||||
[ ]*7[ ]+2:
|
||||
[ ]*8[ ]+3:
|
||||
[ ]*9[ ]+4:
|
||||
[ ]*10[ ]+5:
|
||||
[ ]*11[ ]+6:
|
||||
[ ]*12[ ]+7:
|
||||
[ ]*13[ ]+8:
|
||||
[ ]*14[ ]+9:
|
||||
[ ]*15[ ]+10:
|
15
gas/testsuite/gas/i386/list-3.s
Normal file
15
gas/testsuite/gas/i386/list-3.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
|
||||
.L1:
|
||||
.string "a\""
|
||||
0:
|
||||
.string "b"
|
||||
1:
|
||||
2:
|
||||
3:
|
||||
4:
|
||||
5:
|
||||
6:
|
||||
7:
|
||||
8:
|
||||
9:
|
||||
10:
|
|
@ -116,6 +116,24 @@ proc gas_run { prog as_opts redir } {
|
|||
return [list $comp_output ""]
|
||||
}
|
||||
|
||||
proc gas_run_stdin { prog as_opts redir } {
|
||||
global AS
|
||||
global ASFLAGS
|
||||
global comp_output
|
||||
global srcdir
|
||||
global subdir
|
||||
global host_triplet
|
||||
|
||||
set status [gas_host_run "$AS $ASFLAGS $as_opts < $srcdir/$subdir/$prog" "$redir"]
|
||||
set comp_output [lindex $status 1]
|
||||
if { [lindex $status 0] != 0 && [regexp "2>.*" $redir] } then {
|
||||
append comp_output "child process exited abnormally"
|
||||
}
|
||||
set comp_output [prune_warnings $comp_output]
|
||||
verbose "output was $comp_output"
|
||||
return [list $comp_output ""]
|
||||
}
|
||||
|
||||
proc all_ones { args } {
|
||||
foreach x $args { if [expr $x!=1] { return 0 } }
|
||||
return 1
|
||||
|
@ -990,3 +1008,22 @@ proc run_list_test { name {opts {}} {testname {}} } {
|
|||
}
|
||||
pass $testname
|
||||
}
|
||||
|
||||
# run_list_test_stdin NAME (optional): OPTS TESTNAME
|
||||
#
|
||||
# Similar to run_list_test, but use stdin as input.
|
||||
|
||||
proc run_list_test_stdin { name {opts {}} {testname {}} } {
|
||||
global srcdir subdir
|
||||
if { [string length $testname] == 0 } then {
|
||||
set testname "[file tail $subdir] $name"
|
||||
}
|
||||
set file $srcdir/$subdir/$name
|
||||
gas_run_stdin ${name}.s $opts ">&dump.out"
|
||||
if { [regexp_diff "dump.out" "${file}.l"] } then {
|
||||
fail $testname
|
||||
verbose "output is [file_contents "dump.out"]" 2
|
||||
return
|
||||
}
|
||||
pass $testname
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue