Re: [PATCH v4 4/8] [Newcomer] t7004: Do not prepare things outside test_expect_success
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Aug 6, 2024, 03:29 UTC
- Message-ID
- <CAPig+cQehwONpjnjPVJEVvviistiSLODLNx-yFBusEPaihnf+w@mail.gmail.com>
- In-Reply-To
- <20240805235917.190699-5-abdobngad@gmail.com>
On Mon, Aug 5, 2024 at 8:00 PM AbdAlRahman Gad <abdobngad@gmail.com> wrote:
Show 5 quoted lines
> Do not prepare expect and other things outside test_expect_success. > Also add '\' before EOF to avoid shell interpolation and '-' to allow > indentation of the body. > > Signed-off-by: AbdAlRahman Gad <abdobngad@gmail.com>
When you reroll, it might be a good idea to explain _why_ we don't want to run code outside of `test_expect_success`: in particular, if such code fails for some reason, we won't necessarily hear about it in a timely fashion (or perhaps at all). By placing all code inside `test_expect_success` it ensures that we know immediately if it fails.
Show 7 quoted lines
> test_expect_success GPG,RFC1991 \ > 'reediting a signed tag body omits signature' ' > + cat >fakeeditor <<-\EOF && > + #!/bin/sh > + cp "$1" actual > + EOF > + chmod +x fakeeditor &&
It's completely outside the scope of this particular patch, but another modernization which could be done in a separate patch (or a separate patch series -- it doesn't need to be part of this series) would be to take advantage of `write_script` which eliminates some of the boilerplate-work that the above code is doing. For instance:
write_script fakeeditor <<-\EOF
cp "$1" actual
EOFNotice that `write_script` takes care of emitting the `#!/bin/sh` line and the `chmod +x`.