#!/usr/bin/env python3 from pexpect_helper import SpawnedProc sp = SpawnedProc() send, sendline, sleep, expect_prompt, expect_re, expect_str = ( sp.send, sp.sendline, sp.sleep, sp.expect_prompt, sp.expect_re, sp.expect_str, ) expect_prompt() # Clear twice (regression test for #7280). send("\f") expect_prompt(increment=False) send("\f") expect_prompt(increment=False) # Fish should start in default-mode (i.e., emacs) bindings. The default escape # timeout is 30ms. # # Because common CI systems are awful, we have to increase this: sendline("set -g fish_escape_delay_ms 120") expect_prompt("") # Verify the emacs transpose word (\et) behavior using various delays, # including none, after the escape character.
#!/usr/bin/env python3 from pexpect_helper import SpawnedProc import subprocess import sys import time import os env = os.environ.copy() env["TERM"] = "xterm" sp = SpawnedProc(env=env) send, sendline, sleep, expect_prompt, expect_re, expect_str = ( sp.send, sp.sendline, sp.sleep, sp.expect_prompt, sp.expect_re, sp.expect_str, ) expect_prompt() # See that --print-colors prints the colors colored. # Note that we don't check *all* of them, just a few. sendline("set_color --print-colors") expect_str("black") expect_str("blue") expect_str("brblack") expect_str("brblue") expect_str("brcyan") expect_str("brgreen") expect_str("brmagenta")
#!/usr/bin/env python3 from pexpect_helper import SpawnedProc sp = SpawnedProc(timeout=10) send, sendline, sleep, expect_prompt, expect_re, expect_str = ( sp.send, sp.sendline, sp.sleep, sp.expect_prompt, sp.expect_re, sp.expect_str, ) from time import sleep import os import signal import subprocess import sys expect_prompt() sendline("sleep 10 &") expect_prompt() send("\x03") sleep(0.010) sendline("jobs") expect_prompt("sleep.10") sendline("kill %1") expect_prompt()
#!/usr/bin/env python3 from pexpect_helper import SpawnedProc import platform # Set a 0 terminal size sp = SpawnedProc(args=["-d", "term-support"], dimensions=(0, 0)) send, sendline, sleep, expect_prompt, expect_re, expect_str = ( sp.send, sp.sendline, sp.sleep, sp.expect_prompt, sp.expect_re, sp.expect_str, ) expect_prompt() # Now confirm it defaulted to 80x24 sendline("echo $COLUMNS $LINES") expect_str("80 24") expect_str( "term-support: Terminal has 0 columns, falling back to default width") expect_str("term-support: Terminal has 0 rows, falling back to default height") expect_prompt() sendline("stty -a") expect_prompt() # Confirm flow control in the shell is disabled - we should ignore the ctrl-s in there. sendline("echo hello\x13hello") expect_prompt("hellohello") # Confirm it is off for external commands
# # This is meant to verify just a few of the most basic behaviors of the # interactive history to hopefully keep regressions from happening. It is not # meant to be a comprehensive test of the history subsystem. Those types of # tests belong in the src/fish_tests.cpp module. # # The history function might pipe output through the user's pager. We don't # want something like `less` to complicate matters so force the use of `cat`. from pexpect_helper import SpawnedProc import os os.environ["PAGER"] = "cat" os.environ["TERM"] = "xterm" sp = SpawnedProc(env=os.environ.copy()) send, sendline, sleep, expect_prompt, expect_re, expect_str = ( sp.send, sp.sendline, sp.sleep, sp.expect_prompt, sp.expect_re, sp.expect_str, ) expect_prompt() # ========== # Start by ensuring we're not affected by earlier tests. Clear the history. sendline("builtin history clear") expect_prompt()
#!/usr/bin/env python3 from pexpect_helper import SpawnedProc import subprocess import sys import time sp = SpawnedProc(args=["-d", "reader"]) sp.expect_prompt() # Verify we correctly diable mouse tracking. # Five char sequence. sp.send("\x1b[tDE") sp.expect_str("reader: Disabling mouse tracking") # Six char sequence. sp.send("\x1b[MABC") sp.expect_str("reader: Disabling mouse tracking") # Nine char sequences. sp.send("\x1b[TABCDEF") sp.expect_str("reader: Disabling mouse tracking") # Extended SGR sequences. sp.send("\x1b[<fooM") sp.expect_str("reader: Disabling mouse tracking") sp.send("\x1b[<foobarm") sp.expect_str("reader: Disabling mouse tracking") sp.sendline("echo done")