summaryrefslogtreecommitdiff
path: root/t/t5303-pack-corruption-resilience.sh
Commit message (Collapse)AuthorAgeFilesLines
* tests: enclose $PERL_PATH in double quotesJunio C Hamano2012-06-241-2/+2
| | | | | | | Otherwise it will be split at a space after "Program" when it is set to "\\Program Files\perl" or something silly like that. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t: Replace 'perl' by $PERL_PATHVincent van Ravesteijn2012-06-121-2/+2
| | | | | | | | | | | | | | | | | GIT-BUILD-OPTIONS defines PERL_PATH to be used in the test suite. Only a few tests already actually use this variable when perl is needed. The other test just call 'perl' and it might happen that the wrong perl interpreter is used. This becomes problematic on Windows, when the perl interpreter that is compiled and installed on the Windows system is used, because this perl interpreter might introduce some unexpected LF->CRLF conversions. This patch makes sure that $PERL_PATH is used everywhere in the test suite and that the correct perl interpreter is used. Signed-off-by: Vincent van Ravesteijn <vfr@lyx.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* sha1_file: Fix infinite loop when pack is corruptedShawn O. Pearce2009-10-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some types of corruption to a pack may confuse the deflate stream which stores an object. In Andy's reported case a 36 byte region of the pack was overwritten, leading to what appeared to be a valid deflate stream that was trying to produce a result larger than our allocated output buffer could accept. Z_BUF_ERROR is returned from inflate() if either the input buffer needs more input bytes, or the output buffer has run out of space. Previously we only considered the former case, as it meant we needed to move the stream's input buffer to the next window in the pack. We now abort the loop if inflate() returns Z_BUF_ERROR without consuming the entire input buffer it was given, or has filled the entire output buffer but has not yet returned Z_STREAM_END. Either state is a clear indicator that this loop is not working as expected, and should not continue. This problem cannot occur with loose objects as we open the entire loose object as a single buffer and treat Z_BUF_ERROR as an error. Reported-by: Andy Isaacson <adi@hexapodia.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Acked-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t5300, t5302, t5303: Do not use /dev/zeroJohannes Sixt2009-03-191-5/+7
| | | | | | | | | | We do not have /dev/zero on Windows. This replaces it by data generated with printf, perl, or echo. Most of the cases do not depend on that the data is a stream of zero bytes, so we use something printable; nor is an unlimited stream of data needed, so we produce only as many bytes as the test cases need. Signed-off-by: Johannes Sixt <j6t@kdbg.org>
* t5303: fix printf format string for portabilityJunio C Hamano2008-11-091-1/+1
| | | | | | | | | printf "\x01" is bad; write printf "\001" for portability. Testing with dash is a good way to find this kind of POSIX.1 violation breakages. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t5303: work around printf breakage in dashJunio C Hamano2008-11-091-1/+1
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* extend test coverage for latest pack corruption resilience improvementsNicolas Pitre2008-11-021-7/+89
| | | | | Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Fix use of "perl -i" on WindowsAlex Riesen2008-06-251-2/+2
| | | | | | | | | | | | | The perldiag(1) has following to say about this: "Can't do inplace edit without backup" (F) You're on a system such as MS-DOS that gets confused if you try reading from a deleted (but still opened) file. You have to say -i.bak, or some such. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* test case for pack resilience against corruptionsNicolas Pitre2008-06-231-0/+194
Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>