X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=t%2FREADME;h=b906ceb4766a283ae6b22bd037f9e1619feb12d1;hb=449aeb10d5d28083199f82c444b55a03c545e956;hp=c1fd0924b627be1e366651fb63154ad5e08b1fe9;hpb=9a897893a76063a1fbe07f62ba78ab8f5308dbd3;p=git.git diff --git a/t/README b/t/README index c1fd0924b..b906ceb47 100644 --- a/t/README +++ b/t/README @@ -231,6 +231,91 @@ This test harness library does the following things: consistently when command line arguments --verbose (or -v), --debug (or -d), and --immediate (or -i) is given. +Do's, don'ts & things to keep in mind +------------------------------------- + +Here are a few examples of things you probably should and shouldn't do +when writing tests. + +Do: + + - Put all code inside test_expect_success and other assertions. + + Even code that isn't a test per se, but merely some setup code + should be inside a test assertion. + + - Chain your test assertions + + Write test code like this: + + git merge foo && + git push bar && + test ... + + Instead of: + + git merge hla + git push gh + test ... + + That way all of the commands in your tests will succeed or fail. If + you must ignore the return value of something (e.g. the return + value of export is unportable) it's best to indicate so explicitly + with a semicolon: + + export HLAGH; + git merge hla && + git push gh && + test ... + +Don't: + + - exit() within a