X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=t%2FREADME;h=b906ceb4766a283ae6b22bd037f9e1619feb12d1;hb=a7d7853463ae77fc3c8511283f5c896bee673b33;hp=a7312fa98ccef4b18ed7cdfe34e963c23b9d9381;hpb=85b0b34ea42628874198772fe6602365650ead88;p=git.git diff --git a/t/README b/t/README index a7312fa98..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