git/t/t4109-apply-multifrag.sh
Jeff King 74f16b0c6f mask necessary whitespace policy violations in test scripts
All of these violations are necessary parts of the tests
(which are generally checking the behavior of trailing
whitespace, or contain diff fragments with empty lines).

Our solution is two-fold:

  1. Process input with whitespace problems using tr. This
     has the added bonus that it becomes very obvious where
     the bogus whitespace is intended to go.

  2. Move large diff fragments into their own supplemental
     files. This gets rid of the whitespace problem, since
     supplemental files are not checked, and it also makes
     the test script a bit easier to read.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-14 11:39:16 -07:00

52 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
# Copyright (c) 2005 Robert Fitzsimons
#
test_description='git apply test patches with multiple fragments.
'
. ./test-lib.sh
cp ../t4109/patch1.patch .
cp ../t4109/patch2.patch .
cp ../t4109/patch3.patch .
cp ../t4109/patch4.patch .
test_expect_success "S = git apply (1)" \
'git apply patch1.patch patch2.patch'
mv main.c main.c.git
test_expect_success "S = patch (1)" \
'cat patch1.patch patch2.patch | patch -p1'
test_expect_success "S = cmp (1)" \
'cmp main.c.git main.c'
rm -f main.c main.c.git
test_expect_success "S = git apply (2)" \
'git apply patch1.patch patch2.patch patch3.patch'
mv main.c main.c.git
test_expect_success "S = patch (2)" \
'cat patch1.patch patch2.patch patch3.patch | patch -p1'
test_expect_success "S = cmp (2)" \
'cmp main.c.git main.c'
rm -f main.c main.c.git
test_expect_success "S = git apply (3)" \
'git apply patch1.patch patch4.patch'
mv main.c main.c.git
test_expect_success "S = patch (3)" \
'cat patch1.patch patch4.patch | patch -p1'
test_expect_success "S = cmp (3)" \
'cmp main.c.git main.c'
test_done