git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 00/10] Zsh prompt tests

From
RHRichard Hansen <rhansen@bbn.com>
Date
May 27, 2014, 07:40 UTC
Message-ID
<1401176460-31564-1-git-send-email-rhansen@bbn.com>
In-Reply-To
<xmqqbnusz46e.fsf@gitster.dls.corp.google.com>

This series adds test cases for running __git_ps1 (see contrib/completion/git-prompt.sh) from Zsh.

This series also adds more Bash test cases to test how __git_ps1 reacts to disabling Bash's PS1 parameter expansion. (This is related to adding Zsh test cases: Zsh doesn't perform parameter expansion on PS1 by default but many users turn it on, so the Zsh test script must test __git_ps1 in both states. Bash expands PS1 by default and users rarely turn it off, but testing both states in Bash improves the symmetry with the Zsh test cases.)

This is the approach I took:
  1. delete the last test case in t9903 ("prompt - zsh color pc mode")
  2. add two new functions to t/lib-bash.sh:
         ps1_expansion_enable () { shopt -s promptvars; }
         ps1_expansion_disable () { shopt -u promptvars; }
  3. loop over the relevant test cases twice:  once after calling
     ps1_expansion_enable and once after calling ps1_expansion_disable
     (with appropriate adjustments to the expected output)
  4. move the test cases in t9903 to a separate library file and
     source it from t9903-bash-prompt.sh
  5. create two new files:
       * t/lib-zsh.sh (same as t/lib-bash.sh but tweaked for zsh)
       * t/t9904-zsh-prompt.sh (same as t/t9903-bash-prompt.sh but
         tweaked for zsh)

There are a lot of indendation changes, so I recommend examining the changes via diff -w.

Richard Hansen (10):
  t9903: remove Zsh test from the suite of Bash prompt tests
  t9903: put the Bash pc mode prompt test cases in a function
  t9903: move test name prefix to a separate variable
  t9903: run pc mode tests again with PS1 expansion disabled
  t9903: include "Bash" in test names via new $shellname var
  t9903: move PS1 color code variable definitions to lib-bash.sh
  t9903: move prompt tests to a new lib-prompt-tests.sh file
  lib-prompt-tests.sh: put all tests inside a function
  lib-prompt-tests.sh: add variable for string that encodes percent in
    PS1
  t9904: new __git_ps1 tests for Zsh
 t/lib-bash.sh          |  12 +
 t/lib-prompt-tests.sh  | 633 +++++++++++++++++++++++++++++++++++++++++++++++++
 t/lib-zsh.sh           |  30 +++
 t/t9903-bash-prompt.sh | 582 +--------------------------------------------
 t/t9904-zsh-prompt.sh  |  10 +
 5 files changed, 687 insertions(+), 580 deletions(-)
 create mode 100644 t/lib-prompt-tests.sh
 create mode 100644 t/lib-zsh.sh
 create mode 100755 t/t9904-zsh-prompt.sh
-- 
1.9.3
Previous: Junio C HamanoNext: Richard Hansen
Message 3 of 35 in “git-prompt.sh: don't assume the shell expands the value of PS1”
  1. git-prompt.sh: don't assume the shell expands the value of PS1Richard Hansen, May 19, 2014
  2. Junio C HamanoMay 20, 2014
  3. 00/10 Zsh prompt testsRichard Hansen, May 27, 2014
  4. 01/10 t9903: remove Zsh test from the suite of Bash prompt testsRichard Hansen, May 27, 2014
  5. 02/10 t9903: put the Bash pc mode prompt test cases in a functionRichard Hansen, May 27, 2014
  6. 03/10 t9903: move test name prefix to a separate variableRichard Hansen, May 27, 2014
  7. 04/10 t9903: run pc mode tests again with PS1 expansion disabledRichard Hansen, May 27, 2014
  8. 05/10 t9903: include "Bash" in test names via new $shellname varRichard Hansen, May 27, 2014
  9. 06/10 t9903: move PS1 color code variable definitions to lib-bash.shRichard Hansen, May 27, 2014
  10. 07/10 t9903: move prompt tests to a new lib-prompt-tests.sh fileRichard Hansen, May 27, 2014
  11. 08/10 lib-prompt-tests.sh: put all tests inside a functionRichard Hansen, May 27, 2014
  12. 09/10 lib-prompt-tests.sh: add variable for string that encodes percent in PS1Richard Hansen, May 27, 2014
  13. 10/10 t9904: new __git_ps1 tests for ZshRichard Hansen, May 27, 2014
  14. Thomas RastMay 29, 2014
  15. 11/10 fixup! t9904: new __git_ps1 tests for ZshRichard Hansen, May 29, 2014
  16. 00/11 Zsh prompt testsRichard Hansen, Jun 4, 2014
  17. 01/11 t9903: remove Zsh test from the suite of Bash prompt testsRichard Hansen, Jun 4, 2014
  18. 02/11 t9903: put the Bash pc mode prompt test cases in a functionRichard Hansen, Jun 4, 2014
  19. 03/11 t9903: move test name prefix to a separate variableRichard Hansen, Jun 4, 2014
  20. 04/11 t9903: run pc mode tests again with PS1 expansion disabledRichard Hansen, Jun 4, 2014
  21. 05/11 t9903: include "Bash" in test names via new $shellname varRichard Hansen, Jun 4, 2014
  22. 06/11 t9903: move PS1 color code variable definitions to lib-bash.shRichard Hansen, Jun 4, 2014
  23. 07/11 t9903: move prompt tests to a new lib-prompt-tests.sh fileRichard Hansen, Jun 4, 2014
  24. 08/11 lib-prompt-tests.sh: put all tests inside a functionRichard Hansen, Jun 4, 2014
  25. 09/11 lib-prompt-tests.sh: add variable for string that encodes percent in PS1Richard Hansen, Jun 4, 2014
  26. 10/11 test-lib: make it possible to override how test code is eval'dRichard Hansen, Jun 4, 2014
  27. Junio C HamanoJun 5, 2014
  28. Richard HansenJun 6, 2014
  29. Junio C HamanoJun 6, 2014
  30. 11/11 t9904: new __git_ps1 tests for ZshRichard Hansen, Jun 4, 2014
  31. Torsten BögershausenJun 10, 2014
  32. Richard HansenJun 10, 2014
  33. brian m. carlsonJun 11, 2014
  34. Richard HansenJun 11, 2014
  35. brian m. carlsonJun 11, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.