gdb/testsuite: update gdb.tui/tui-nl-filtered-output.exp
authorAndrew Burgess <aburgess@redhat.com>
Thu, 22 Dec 2022 10:24:22 +0000 (10:24 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Wed, 25 Jan 2023 10:37:36 +0000 (10:37 +0000)
Following on from the previous commit, in this commit I am updating
the test script gdb.tui/tui-nl-filtered-output.exp to take account of
the changes in commit:

  commit 9162a27c5f5828240b53379d735679e2a69a9f41
  Date:   Tue Nov 13 11:59:03 2018 -0700

      Change gdb test suite's TERM setting

In the above commit the TERM environment variable was changed to be
'dumb' by default, which means that tests, that previously activated
tui mode, no longer do unless TERM is set to 'ansi'.

As the gdb.tui/tui-nl-filtered-output.exp script didn't do this, the
test stopped working.  As the expect patterns in this script were
pretty generic no tests actually started failing, and we never
noticed.

In this commit I update the test script to correctly activate our
terminal emulator, the test continues to pass after this update, but
now we are testing in tui mode.

gdb/testsuite/gdb.tui/tui-nl-filtered-output.exp

index b7ea67cf7230d8a9529ecc98fa8d678eca85d196..5b1d6b7d9ba6625fe7926a1e74eeb1d79abd9de0 100644 (file)
 
 require allow_tui_tests
 
-gdb_exit
-gdb_start
-
-# Enable the TUI.
-
-set test "tui enable"
-gdb_test_multiple "tui enable" $test {
-    -re "$gdb_prompt $" {
-       pass $test
-    }
-}
-
-# Make sure filtering/pagination is enabled, but make the window high
-# enough that we don't paginate in practice.
-gdb_test_no_output "set pagination on"
-gdb_test_no_output "set height 2000"
-
-gdb_test \
-    {printf "hello\nworld\n"} \
-    "hello\r\nworld" \
-    "correct line breaks"
+tuiterm_env
+
+# Setup and enter TUI mode.
+Term::clean_restart 24 80
+Term::enter_tui
+
+# Send the command, and check the output is correctly split over
+# multiple lines.
+Term::command \
+    {printf "hello\nworld\n"}
+Term::check_region_contents "check printf output" \
+    0 16 80 4 [multi_line \
+                  "$gdb_prompt printf \"hello\\\\nworld\\\\n\"\\s+" \
+                  "hello\\s+" \
+                  "world\\s+" \
+                  "$gdb_prompt\\s+"]