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:
H.J. Lu 2010-03-09 02:00:58 +00:00
parent 4199fe1239
commit cea1040956
9 changed files with 145 additions and 0 deletions

View file

@ -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.

View file

@ -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 {

View 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

View file

@ -0,0 +1,9 @@
.section .rodata
.LC0:
.string "haha %x\n"
.text
.globl hex
.type hex, @function
hex:
leave
ret

View 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:

View file

@ -0,0 +1,15 @@
.L1:
.string "a\\"
0:
.string "b"
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:

View 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:

View file

@ -0,0 +1,15 @@
.L1:
.string "a\""
0:
.string "b"
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:

View file

@ -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
}