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

[PATCH 0/6] modernize t1500

From
Eric Sunshine <sunshine@sunshineco.com>
Date
May 10, 2016, 05:20 UTC
Message-ID
<20160510052055.32924-1-sunshine@sunshineco.com>

This series modernizes t1500; it takes an entirely different approach than [1][2] and is intended to replace that series. Whereas [1][2] dropped the systematic function-driven testing of git-rev-parse in favor of dozens of nearly identical copy/paste tests, this series retains the structure of the existing script and instead updates the tests to set up their own needed state rather than relying upon transient and fragile manipulation of global state.

Due to its systematic function-driven approach, the original script is small at 87 lines, and easily understood. When [1] dropped the systematic approach and replaced it with individual copy/paste tests, the script ballooned to a whopping 573 lines; its v2 successor, while smaller, still inflated it to 322 lines. Writing that amount of code correctly (even when primarily copy/paste) is difficult; reviewing it for correctness is tedious, mind-numbing, and error-prone, as evidenced by [3].

This series, on the other hand, values the concision of the original and only makes changes necessary to modernize it; the script size remains about the same; it drops from 87 to 83 lines.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/291087/focus=291088 [2]: http://thread.gmane.org/gmane.comp.version-control.git/291729/focus=291731 [3]: http://thread.gmane.org/gmane.comp.version-control.git/291729/focus=291745

Eric Sunshine (6):
  t1500: test_rev_parse: facilitate future test enhancements
  t1500: reduce dependence upon global state
  t1500: avoid changing working directory outside of tests
  t1500: avoid setting configuration options outside of tests
  t1500: avoid setting environment variables outside of tests
  t1500: be considerate to future potential tests
 t/t1500-rev-parse.sh | 116 +++++++++++++++++++++++++--------------------------
 1 file changed, 56 insertions(+), 60 deletions(-)
-- 
2.8.2.530.g51d527d
Next: Eric Sunshine
Message 1 of 24 in “modernize t1500”
  1. 0/6 modernize t1500Eric Sunshine, May 10, 2016
  2. 1/6 t1500: test_rev_parse: facilitate future test enhancementsEric Sunshine, May 10, 2016
  3. 2/6 t1500: reduce dependence upon global stateEric Sunshine, May 10, 2016
  4. 3/6 t1500: avoid changing working directory outside of testsEric Sunshine, May 10, 2016
  5. 4/6 t1500: avoid setting configuration options outside of testsEric Sunshine, May 10, 2016
  6. Eric SunshineMay 10, 2016
  7. Junio C HamanoMay 10, 2016
  8. 5/6 t1500: avoid setting environment variables outside of testsEric Sunshine, May 10, 2016
  9. Jeff KingMay 10, 2016
  10. Eric SunshineMay 10, 2016
  11. Junio C HamanoMay 10, 2016
  12. Eric SunshineMay 10, 2016
  13. Eric SunshineMay 10, 2016
  14. Jeff KingMay 10, 2016
  15. Junio C HamanoMay 10, 2016
  16. SZEDER GáborMay 10, 2016
  17. Junio C HamanoMay 10, 2016
  18. Eric SunshineMay 10, 2016
  19. 6/6 t1500: be considerate to future potential testsEric Sunshine, May 10, 2016
  20. Junio C HamanoMay 10, 2016
  21. Junio C HamanoMay 10, 2016
  22. Junio C HamanoMay 10, 2016
  23. Eric SunshineMay 16, 2016
  24. Junio C HamanoMay 16, 2016

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.