[PATCH 1/2] xtensa: gas: convert tests to run_dump_tests
Max Filippov
jcmvbkbc@gmail.com
Wed Apr 10 20:38:00 GMT 2019
gas/
2019-04-10 Max Filippov <jcmvbkbc@gmail.com>
* testsuite/gas/xtensa/all.exp: Remove all expect-based
tests and all explicit run_dump_test / run_list_test
invocations. Add run_dump_tests for all .d files in the
test subdirectory.
* testsuite/gas/xtensa/entry_align.d: New test definition.
* testsuite/gas/xtensa/entry_align.l: New test output.
* testsuite/gas/xtensa/entry_misalign.d: New test definition.
* testsuite/gas/xtensa/entry_misalign2.d: New test definition.
* testsuite/gas/xtensa/j_too_far.d: New test definition.
* testsuite/gas/xtensa/j_too_far.l: New test output.
* testsuite/gas/xtensa/loop_align.d: New test definition.
* testsuite/gas/xtensa/loop_misalign.d: New test definition.
* testsuite/gas/xtensa/trampoline-2.d: New test definition.
* testsuite/gas/xtensa/trampoline-2.l: Remove empty output.
* testsuite/gas/xtensa/xtensa-err.exp: Use positive logic.
---
gas/testsuite/gas/xtensa/all.exp | 99 +-----------------------------
gas/testsuite/gas/xtensa/entry_align.d | 3 +
gas/testsuite/gas/xtensa/entry_align.l | 2 +
gas/testsuite/gas/xtensa/entry_misalign.d | 7 +++
gas/testsuite/gas/xtensa/entry_misalign2.d | 7 +++
gas/testsuite/gas/xtensa/j_too_far.d | 3 +
gas/testsuite/gas/xtensa/j_too_far.l | 2 +
gas/testsuite/gas/xtensa/loop_align.d | 7 +++
gas/testsuite/gas/xtensa/loop_misalign.d | 7 +++
gas/testsuite/gas/xtensa/trampoline-2.d | 4 ++
gas/testsuite/gas/xtensa/trampoline-2.l | 1 -
gas/testsuite/gas/xtensa/xtensa-err.exp | 8 +--
12 files changed, 45 insertions(+), 105 deletions(-)
create mode 100644 gas/testsuite/gas/xtensa/entry_align.d
create mode 100644 gas/testsuite/gas/xtensa/entry_align.l
create mode 100644 gas/testsuite/gas/xtensa/entry_misalign.d
create mode 100644 gas/testsuite/gas/xtensa/entry_misalign2.d
create mode 100644 gas/testsuite/gas/xtensa/j_too_far.d
create mode 100644 gas/testsuite/gas/xtensa/j_too_far.l
create mode 100644 gas/testsuite/gas/xtensa/loop_align.d
create mode 100644 gas/testsuite/gas/xtensa/loop_misalign.d
create mode 100644 gas/testsuite/gas/xtensa/trampoline-2.d
delete mode 100644 gas/testsuite/gas/xtensa/trampoline-2.l
diff --git a/gas/testsuite/gas/xtensa/all.exp b/gas/testsuite/gas/xtensa/all.exp
index 30784becbe0a..db1a623c0ad2 100644
--- a/gas/testsuite/gas/xtensa/all.exp
+++ b/gas/testsuite/gas/xtensa/all.exp
@@ -17,101 +17,6 @@
#
# Some generic xtensa tests
#
-if [istarget xtensa*-*-*] then {
- gas_test_error "j_too_far.s" "" "Check for jump out of range error"
-
- set testname "j_too_far.s: error line number reporting"
- gas_start "j_too_far.s" ""
- set x1 0
- while 1 {
- expect {
- -re ":4: Error:.*out of range" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- gas_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
-
- gas_test "entry_misalign.s" "" "" "Xtensa Entry misalignment"
- set testname "entry_misalign.s: Force entry misalignment"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*2:.*entry" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
-
- gas_test "entry_misalign2.s" "" "" "Xtensa Entry misalignment(2)"
- set testname "entry_misalign2.s: Force entry misalignment(2)"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*2:.*entry" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
- gas_test_error "entry_align.s" "" "Xtensa entry alignment error"
-
- gas_test "loop_misalign.s" "" "" "Xtensa Loop misalignment"
- set testname "loop_misalign.s: Force loop misalignment"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*0:.*loop" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
-
- gas_test "loop_align.s" "" "" "Xtensa autoalign loop"
- set testname "loop_align.s: autoalign loop"
- objdump_start_no_subdir "a.out" "-d -j .text"
- set x1 0
- while 1 {
- expect {
- -re "^.*2:.*loop" { set x1 1 }
- timeout { perror "timeout\n"; break }
- eof { break }
- }
- }
- objdump_finish
- if [all_ones $x1] then { pass $testname } else { fail $testname }
-
- run_dump_test "short_branch_offset"
- run_dump_test "pcrel"
- run_dump_test "weak-call"
- run_dump_test "jlong"
- run_dump_test "trampoline"
- run_list_test "trampoline-2"
- run_dump_test "first_frag_align"
- run_dump_test "auto-litpools"
- run_dump_test "auto-litpools-2"
- run_dump_test "auto-litpools-3"
- run_dump_test "auto-litpools-4"
- run_dump_test "auto-litpools-first1"
- run_dump_test "auto-litpools-first2"
- run_dump_test "loc"
- run_dump_test "init-fini-literals"
- run_dump_test "text-section-literals-1"
-}
-
-if [info exists errorInfo] then {
- unset errorInfo
+if [istarget xtensa*-*-*] {
+ run_dump_tests [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
}
diff --git a/gas/testsuite/gas/xtensa/entry_align.d b/gas/testsuite/gas/xtensa/entry_align.d
new file mode 100644
index 000000000000..684e654100dd
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_align.d
@@ -0,0 +1,3 @@
+#as:
+#name: unaligned entry instruction
+#error_output: entry_align.l
diff --git a/gas/testsuite/gas/xtensa/entry_align.l b/gas/testsuite/gas/xtensa/entry_align.l
new file mode 100644
index 000000000000..9bca67c23dad
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_align.l
@@ -0,0 +1,2 @@
+[^:]*: Assembler messages:
+[^:]*:3: Error: unaligned entry instruction
diff --git a/gas/testsuite/gas/xtensa/entry_misalign.d b/gas/testsuite/gas/xtensa/entry_misalign.d
new file mode 100644
index 000000000000..aa79bd4e56b6
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_misalign.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: force entry instruction misalignment
+
+#...
+^.*2:.*entry.*
+#...
diff --git a/gas/testsuite/gas/xtensa/entry_misalign2.d b/gas/testsuite/gas/xtensa/entry_misalign2.d
new file mode 100644
index 000000000000..74664ef54ecf
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/entry_misalign2.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: entry instruction misalignment inside no-transform block
+
+#...
+^.*2:.*entry.*
+#...
diff --git a/gas/testsuite/gas/xtensa/j_too_far.d b/gas/testsuite/gas/xtensa/j_too_far.d
new file mode 100644
index 000000000000..85007aff067e
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/j_too_far.d
@@ -0,0 +1,3 @@
+#as:
+#name: jump to a target that is too far
+#error_output: j_too_far.l
diff --git a/gas/testsuite/gas/xtensa/j_too_far.l b/gas/testsuite/gas/xtensa/j_too_far.l
new file mode 100644
index 000000000000..38d3c79cdb08
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/j_too_far.l
@@ -0,0 +1,2 @@
+[^:]*: Assembler messages:
+[^:]*:4: Error:.*operand 1 of 'j' has out of range value.*
diff --git a/gas/testsuite/gas/xtensa/loop_align.d b/gas/testsuite/gas/xtensa/loop_align.d
new file mode 100644
index 000000000000..a4da096cf37c
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/loop_align.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: automatic loop alignment
+
+#...
+^.*2:.*loop.*
+#...
diff --git a/gas/testsuite/gas/xtensa/loop_misalign.d b/gas/testsuite/gas/xtensa/loop_misalign.d
new file mode 100644
index 000000000000..88bddc2a25d7
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/loop_misalign.d
@@ -0,0 +1,7 @@
+#as:
+#objdump: -d -j .text
+#name: force loop misalignment
+
+#...
+^.*2:.*loop.*
+#...
diff --git a/gas/testsuite/gas/xtensa/trampoline-2.d b/gas/testsuite/gas/xtensa/trampoline-2.d
new file mode 100644
index 000000000000..535dde7b5ce0
--- /dev/null
+++ b/gas/testsuite/gas/xtensa/trampoline-2.d
@@ -0,0 +1,4 @@
+#as:
+#readelf: -a
+
+#...
diff --git a/gas/testsuite/gas/xtensa/trampoline-2.l b/gas/testsuite/gas/xtensa/trampoline-2.l
deleted file mode 100644
index 36a0971c9b2e..000000000000
--- a/gas/testsuite/gas/xtensa/trampoline-2.l
+++ /dev/null
@@ -1 +0,0 @@
-# No warnings or errors expected!
diff --git a/gas/testsuite/gas/xtensa/xtensa-err.exp b/gas/testsuite/gas/xtensa/xtensa-err.exp
index 5a2ed680cd89..f2937b847fe4 100644
--- a/gas/testsuite/gas/xtensa/xtensa-err.exp
+++ b/gas/testsuite/gas/xtensa/xtensa-err.exp
@@ -14,11 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-if { ! [istarget "xtensa*-*-*"] } {
- return
-}
-
-proc run_xtensa_err_tests { } {
+if [istarget xtensa*-*-*] {
global srcdir subdir runtests
load_lib gas-dg.exp
@@ -26,5 +22,3 @@ proc run_xtensa_err_tests { } {
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s]] "" ""
dg-finish
}
-
-run_xtensa_err_tests
--
2.11.0
More information about the Binutils
mailing list