diff options
author | Thiago Jung Bauermann <thiago.bauermann@linaro.org> | 2024-01-16 00:27:37 -0300 |
---|---|---|
committer | Thiago Bauermann <thiago.bauermann@linaro.org> | 2024-02-09 15:39:39 +0000 |
commit | 6202ffec4b2bcb10c79a47d814bf1609f7d12bec (patch) | |
tree | 4ca0244f0d62a77b55396e784842e60ce0979aea | |
parent | 0b6ecec677e726c1a976b7c789aa194fe05385a2 (diff) |
config/linaro.exp: Change Expect's buffer size to 100k
The default buffer size Expect uses to hold the tool's output is 2000
bytes. This is too low for some GDB tests which run commands generating a
lot of output — e.g., when they turn on GDB debug output or when testing
GDB's Machine Interface which is verbose.
As a result those GDB tests become flaky because depending on the testsuite
run, the expected GDB output may have already been removed from the buffer
by the time Expect tries to match it. Well-written tests shouldn't have
that problem because they are supposed to frequently match GDB's output
(which removes it from the buffer), but in practice a number of tests don't
yet do that. By increasing the buffer size we can reduce the severity of
this problem, increasing the stability of testsuite results.
The Expect man page notes that "excessively large values can slow down the
pattern matcher". With the default buffer size, a tcwg_gdb_check job on
aarch64-linux takes about 115 minutes. With this patch, it takes about 145
minutes. I think the extra time is worth it though.
I also tried buffer sizes of 65k and 200k, but with the former the results
aren't as good as with 100k, and with 200k the results aren't better.
Change-Id: I0466c6f19658f7b638cc0e3dcf5023614de8fa41
-rw-r--r-- | config/linaro.exp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/config/linaro.exp b/config/linaro.exp index 3d506ec1..d671e84f 100644 --- a/config/linaro.exp +++ b/config/linaro.exp @@ -90,3 +90,8 @@ if {[info exists env(ABE_TARGET_BOARD_OPTIONS)] } set target_list "$new_target_list" } + +# The default Expect buffer size is 2000, but it is too small for some GDB +# testcases which run commands generating a lot of output, causing +# testsuite flakiness. +match_max 100000 |