Message ID | CAHCXyj09EKKdBOAdQ319LGY-6GbQw+HHp9u_Mbpf4C+wF6ReSw@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | GSoC 2024 [RFC PATCH] | expand |
On Wed, Mar 27, 2024 at 06:34:41PM +0530, Aishwarya Narayanan wrote: > Dear Git Organization, > > I hope this email finds you well. I've prepared a patch to address an > issue related to the handling of exit codes in our test suite. The > changes ensure that the exit code of the write_utf16 and write_utf32 > functions is properly captured and not suppressed, improving the > reliability of our testing process. > Below are the details of the patch: The mail's subject should ideally be a short summary of what the patch does, whereas the commit message here should contain a description of what the problem is, why it is a problem and how you fix it. > --- Additional context like the greetings you wrote above or the trailer of this mail can go here, between the "---" and the diff stat. This kind of information should not go into the commit history because people wouldn't care about greetings when going through the logs, but about what the patch itself is about. > t/t0028-working-tree-encoding.sh | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/t/t0028-working-tree-encoding.sh b/t/t0028-working-tree-encoding.sh > index ad151a3467..f372c14bc0 100755 > --- a/t/t0028-working-tree-encoding.sh > +++ b/t/t0028-working-tree-encoding.sh > @@ -19,10 +19,13 @@ test_expect_success 'setup test files' ' > echo "*.utf16 text working-tree-encoding=utf-16" >.gitattributes && > echo "*.utf16lebom text working-tree-encoding=UTF-16LE-BOM" > >>.gitattributes && > printf "$text" >test.utf8.raw && > - printf "$text" | write_utf16 >test.utf16.raw && > - printf "$text" | write_utf32 >test.utf32.raw && > - printf "\377\376" >test.utf16lebom.raw && > - printf "$text" | iconv -f UTF-8 -t UTF-16LE >>test.utf16lebom.raw && > + test_utf16_raw=$(printf "$text" | write_utf16) && > + test_utf32_raw=$(printf "$text" | write_utf32) && > + test_utf16lebom_raw=$(printf "\377\376"; printf "$text" | iconv -f > UTF-8 -t UTF-16LE) && > + echo "$test_utf16_raw" > test.utf16.raw && > + echo "$test_utf32_raw" > test.utf32.raw && > + echo "$test_utf16lebom_raw" > test.utf16lebom.raw && On the technical side: I don't think that these commands actually need to be converted. As the microproject site [1] says, pipes may discard the left-hand side of the pipe, not the right-hand side. And given that the left-hand side is in all cases only using `printf` I rather doubt that this would ever really fail. So ultimately, we care more about converting sites where the left-hand side is a Git command itself. "t2104-update-index-skip-worktree.sh" for example has several cases where Git commands are on the left-hand side and that could be converted. Patrick [1]: https://git.github.io/SoC-2024-Microprojects/ > # Line ending tests > printf "one\ntwo\nthree\n" >lf.utf8.raw && > -- > > I kindly request your review and any remarks or changes you may have. > Please accept my apologies for any mistakes or oversights. > > Thank you for your time and attention. > > Best regards, Aishwarya Narayanan
diff --git a/t/t0028-working-tree-encoding.sh b/t/t0028-working-tree-encoding.sh index ad151a3467..f372c14bc0 100755 --- a/t/t0028-working-tree-encoding.sh +++ b/t/t0028-working-tree-encoding.sh @@ -19,10 +19,13 @@ test_expect_success 'setup test files' ' echo "*.utf16 text working-tree-encoding=utf-16" >.gitattributes && echo "*.utf16lebom text working-tree-encoding=UTF-16LE-BOM" >>.gitattributes && printf "$text" >test.utf8.raw && - printf "$text" | write_utf16 >test.utf16.raw && - printf "$text" | write_utf32 >test.utf32.raw && - printf "\377\376" >test.utf16lebom.raw && - printf "$text" | iconv -f UTF-8 -t UTF-16LE >>test.utf16lebom.raw && + test_utf16_raw=$(printf "$text" | write_utf16) && + test_utf32_raw=$(printf "$text" | write_utf32) && + test_utf16lebom_raw=$(printf "\377\376"; printf "$text" | iconv -f UTF-8 -t UTF-16LE) && + echo "$test_utf16_raw" > test.utf16.raw && + echo "$test_utf32_raw" > test.utf32.raw && + echo "$test_utf16lebom_raw" > test.utf16lebom.raw && +