Re: Bug#1121377: fish: FTBFS on riscv64 due to timeout for test cases

Bo YU <[email protected]> Tue, 25 Nov 2025 23:13:39 +0800
Newsgroups gmane.linux.debian.ports.sparc
Message-ID <20251125151339.5px64khiy7khrkzx@debian>
Hi John,

On Tue, Nov 25, 2025 at 03:30:43PM +0100, John Paul Adrian Glaubitz wrote:
>Hi Bo,
>
>On Tue, 2025-11-25 at 22:02 +0800, Bo YU wrote:
>> The package has one FTBFS issue on riscv64 like:
>> (...)
>> See the full buildd log:
>> https://buildd.debian.org/status/fetch.php?pkg=fish&arch=riscv64&ver=4.2.1-2&stamp=1764008323&raw=0
>>
>> I admit the timeout I increased were too excessive for some cases. Even so,
>> the build with the patch is not 100% successful. But I have confidence
>> to get it built on buildd. Please let me know any issue.
>
>I think your patch name and changelog entry is misleading as your change affects all architectures.

You are right. Here I did not filter out riscv64 here.
>
>I would rather phrase it "Increase timeouts to fix FTBFS on riscv64".

Okay, thanks for the improvement.
>
>And while you're at it, it would be nice if you could increase the time for tests/pexpects/fkr.py
>as well as it times out on sparc64 [1].

Done.

Becase I do not test it on sparc64 but I assume it also has different random timeout issues as riscv64 
within the same test unit, maybe I overdo it. 
>
>Thanks,
>Adrian

-- 
Regards,
--
   Bo YU
fish_increase_timeout_to_fix_ftbfs.debdiff (text/plain, 4.2 KB)
diff -Nru fish-4.2.1/debian/changelog fish-4.2.1/debian/changelog
--- fish-4.2.1/debian/changelog	2025-11-22 00:40:34.000000000 +0800
+++ fish-4.2.1/debian/changelog	2025-11-25 17:56:47.000000000 +0800
@@ -1,3 +1,10 @@
+fish (4.2.1-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Increase timeouts to fix FTBFS on riscv64 and sparc64. (Closes: #1121377)
+
+ -- Bo YU <[email protected]>  Tue, 25 Nov 2025 17:56:47 +0800
+
 fish (4.2.1-2) unstable; urgency=medium
 
   * Reinstate fix-libc-timespec.patch for armhf
diff -Nru fish-4.2.1/debian/patches/increase-timeout-on-slow-architecture.patch fish-4.2.1/debian/patches/increase-timeout-on-slow-architecture.patch
--- fish-4.2.1/debian/patches/increase-timeout-on-slow-architecture.patch	1970-01-01 08:00:00.000000000 +0800
+++ fish-4.2.1/debian/patches/increase-timeout-on-slow-architecture.patch	2025-11-25 17:56:47.000000000 +0800
@@ -0,0 +1,116 @@
+Description: Increase timeouts to fix FTBFS on riscv64 and sparc64
+Author: Bo YU<[email protected]>
+Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1121377#10
+Last-Update: 2025-11-25
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/tests/pexpects/complete.py
++++ b/tests/pexpects/complete.py
+@@ -18,16 +18,16 @@
+ sendline("complete -x -c monster -a energy=")
+ expect_prompt()
+ send("monster t")
+-sleep(0.1)
++sleep(10.1)
+ send("\t")
+-sleep(0.1)
++sleep(10.1)
+ send("!")
+ expect_str("monster truck !")  # space
+ send("\b" * 64)
+ send("monster e")
+-sleep(0.1)
++sleep(10.1)
+ send("\t")
+-sleep(0.1)
++sleep(10.1)
+ send("!")
+ expect_str("monster energy=!")  # no space
+ send("\b" * 64)
+--- a/tests/pexpects/job_summary.py
++++ b/tests/pexpects/job_summary.py
+@@ -30,7 +30,7 @@
+ # fish_job_summary is called when background job ends.
+ sendline("sleep 0.5 &")
+ expect_prompt()
+-expect_re("[0-9]+:0:sleep 0.5 &:ENDED", timeout=20)
++expect_re("[0-9]+:0:sleep 0.5 &:ENDED", timeout=40)
+ sendline("")
+ expect_prompt()
+ 
+@@ -48,7 +48,7 @@
+ m = expect_re("\\d+\r\n")
+ expect_prompt()
+ os.kill(int(m.group()), signal.SIGTERM)
+-expect_re("[0-9]+:0:sleep 20 &:SIGTERM:Polite quit request", timeout=20)
++expect_re("[0-9]+:0:sleep 20 &:SIGTERM:Polite quit request", timeout=40)
+ sendline("")
+ expect_prompt()
+ 
+--- a/tests/checks/tmux-job.fish
++++ b/tests/checks/tmux-job.fish
+@@ -8,9 +8,9 @@
+ sleep 0.1
+ isolated-tmux send-keys \
+     "echo hello"
+-sleep 0.6
++sleep 5.6
+ isolated-tmux send-keys Space world
+-sleep 0.1
++sleep 5.1
+ isolated-tmux capture-pane -p
+ # CHECK: prompt 0> sleep 0.5 &
+ # CHECK: prompt 0> echo hello
+--- a/tests/checks/tmux-prompt.fish
++++ b/tests/checks/tmux-prompt.fish
+@@ -51,6 +51,7 @@
+     end
+ ' C-l 'echo hello'
+ tmux-sleep
++tmux-sleep
+ isolated-tmux capture-pane -p
+ # CHECK: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ # CHECK: echo hello
+@@ -64,6 +65,8 @@
+     end
+ ' Enter
+ tmux-sleep
++tmux-sleep
++tmux-sleep
+ isolated-tmux capture-pane -p -S -11
+ # CHECK: 1
+ # CHECK: 2
+--- a/tests/pexpects/fkr.py
++++ b/tests/pexpects/fkr.py
+@@ -35,7 +35,7 @@
+ expect_str("bind ctrl-g 'do something'\r\n")
+ 
+ # Is a non-ASCII UTF-8 sequence prefaced by an escape char handled correctly?
+-sleep(0.020)
++sleep(1.020)
+ send("\x1b")
+ expect_str("# decoded from: \\e\r\n")
+ expect_str("bind escape 'do something'\r\n")
+@@ -46,7 +46,7 @@
+ expect_str("bind ሴ 'do something'\r\n")
+ 
+ # Is a NULL char echoed correctly?
+-sleep(0.020)
++sleep(1.020)
+ send("\x00")
+ expect_str("bind ctrl-space 'do something'\r\n")
+ 
+@@ -59,11 +59,11 @@
+ 
+ # Does it keep running if handed control sequences in the wrong order?
+ send("\x03")
+-sleep(0.010)
++sleep(1.010)
+ send("\x04")
+ 
+ # Now send a second ctrl-d. Does that terminate the process like it should?
+-sleep(0.050)
++sleep(1.050)
+ send("\x04")
+ expect_str("Exiting at your request.\r\n")
+ expect_prompt()
diff -Nru fish-4.2.1/debian/patches/series fish-4.2.1/debian/patches/series
--- fish-4.2.1/debian/patches/series	2025-11-22 00:33:40.000000000 +0800
+++ fish-4.2.1/debian/patches/series	2025-11-25 17:56:47.000000000 +0800
@@ -3,3 +3,4 @@
 downgrade-phf-0.11.patch
 disable-unix_path.patch
 fix-libc-timespec.patch
+increase-timeout-on-slow-architecture.patch
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEIcmhjYVTlmab0tjp+RVP3hQ+S68FAmklx54ACgkQ+RVP3hQ+
S6+qrxAAl6GQ2NOBqf+jZGV7GrJWvMTPx7WoT5A9JwccMczXEqx6lf7dr2AfkMzI
Svo+LU6qVW/3EWtSbuLde3YNC8V+OFE1VnlX4nEmzVJap7qqmP0/39obRfKEg3ZJ
HUao6KyxAFve5/i6N5iMl/R2VhwY7ziiFeaCGLD4KGBJ/+23o1SFgupCehXMHlOJ
6PcV30mQarPom/MpRDp6woLu6kPjgOpOM/jNQB1sqjfE3hbvtjpEhVbuMQCeStpf
kyH6fCIQ30uqlPwf0Mjvi9FG2o03TxHoEDnQN8AA2gWDPTchg/z8M+TL5kuKT3zM
cSWAwSmX4GR7qDRP1zr+s5f65MrVTr7+tX/R4pSKjYV4jILdw/3jSUkIeavLbcrW
Fqwjrm6fo8EFe5t9ka8NJDQmdde/kdG20yWuJDuIjt6ETsUMptuwfYZ1Fsd9YltG
ZYGUV3E4R/YTzKr87L+mXKkCByzUDur521bvIW+93WwsYvFALzy7V4z3uV1miiAk
VRwAaFRH9hj5khcfNZ20A+ACIjttGdHfbhvPpzrIdw/PUMbfWy1oF/MDnxy9dQm/
ev8l0e7BeRBO+KOpBdkL+fmp+XkIXpKP8MTKUXf1GUgyqx2iQifiT5fons638DKp
eYe83giIIs2/v6qFT10LSZYDpOqCI3ec+nsm3W/bQ9LzlNCsgIc=
=AzhT
-----END PGP SIGNATURE-----