[PATCH v3 0/2] Small fixes for issues detected during internal CI runs
- From
Kyle Lippincott via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Aug 5, 2024, 17:10 UTC
- Message-ID
- <pull.1756.v3.git.git.1722877808.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1756.v2.git.git.1722632287.gitgitgadget@gmail.com>
I'm attempting to get the git test suite running automatically during our weekly import. I have this mostly working, including with Address Sanitizer and Memory Sanitizer, but ran into a few issues:
* several tests were failing due to strbuf_getcwd not clearing errno on
success after it internally looped due to the path being >128 bytes. This
is resolved in depth; though either one of the commits alone would
resolve our issues:
* modify locations that call strtoX and check for ERANGE to set errno =
0; prior to calling the conversion function. This is the typical way
that these functions are invoked, and may indicate that we want
compatibility helpers in git-compat-util.h to ensure that this happens
correctly (and add these functions to the banned list).
* have strbuf_getcwd set errno = 0; prior to a successful exit. This
isn't very common for most functions in the codebase, but some other
examples of this were found.
* t6421-merge-partial-clone.sh had >10% flakiness. This is due to our build
system using paths that contain a 64-hex-char hash, which had a 12.5%
chance of containing the substring d0.Kyle Lippincott (2): set errno=0 before strtoX calls t6421: fix test to work when repo dir contains d0
builtin/get-tar-commit-id.c | 1 + ref-filter.c | 1 + t/helper/test-json-writer.c | 2 ++ t/helper/test-trace2.c | 1 + t/t6421-merge-partial-clone.sh | 15 +++++++++------ 5 files changed, 14 insertions(+), 6 deletions(-)
base-commit: e559c4bf1a306cf5814418d318cc0fea070da3c7 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1756%2Fspectral54%2Fstrbuf_getcwd-clear-errno-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1756/spectral54/strbuf_getcwd-clear-errno-v3 Pull-Request: https://github.com/git/git/pull/1756
Range-diff vs v2:
1: 4dbd0bec40a = 1: 4dbd0bec40a set errno=0 before strtoX calls 2: 0ed09e9abb8 < -: ----------- strbuf: set errno to 0 after strbuf_getcwd 3: 818dc9e6b3e = 2: 96984c4a15e t6421: fix test to work when repo dir contains d0
-- gitgitgadget