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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html