On Thu, Mar 19, 2020 at 09:00:01PM +0700, Đoàn Trần Công Danh wrote: > Despite some non-compiance from busybox's sh(1), grep(1), diff(1), > Alpine Linux is still a popular choice for container these days. > > Fix false-positive failure in testsuite when run in Alpine Linux. > > t5703.{4,5,6,7} is still failing. > Despite git pack-objects behaves correctly, > upload-pack.c works incorrectly on this platform. > > I haven't dig deeper, yet. I was able to reproduce the problems on Debian (with busybox installed) with: mkdir /tmp/bb (cd /tmp/bb bb=$(which busybox) for i in $($bb --list); do ln -s $bb $i done) PATH=/tmp/bb:$PATH make test TEST_SHELL_PATH=/tmp/bb/sh The issue in t5703 is the sed call in get_actual_commits(). It's trying to cut off the early (text) part of the file, and pass through the binary goo of the packfile. Presumably busybox's sed isn't binary-clean. Our usual strategy here would be to switch to perl, which is more predictable about binary bytes. We're also feeding this into a test-tool helper. It's possible that helper could be made smart enough to replace both this sed invocation and the one in get_actual_refs(). -Peff