t0027: Support NATIVE_CRLF
PATCH v2 2/2 t0027: Support NATIVE_CRLF
Without this patch, t0027 expects the native end-of-lines to be a single line feed character. On Windows, however, we set it to a carriage return character followed by a line feed character. Thus, we have to modify t0027 to expect different warnings depending on the end-of-line markers.
Adjust the check of the warnings and use these macros:
WILC: Warn if LF becomes CRLF
WICL: Warn if CRLF becomes LF
WAMIX: Mixed line endings: either CRLF->LF or LF->CRLF
Improve the information given by check_warning():
Use test_cmp to show which warning is missing (or should'n t be there)
--- t/t0027-auto-crlf.sh | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-)
t/t0027-auto-crlf.sh +20 -10
@@ -57,15 +57,13 @@ create_gitattributes () { check_warning () { case "$1" in - LF_CRLF) grep "LF will be replaced by CRLF" $2;; - CRLF_LF) grep "CRLF will be replaced by LF" $2;; - '') - >expect - grep "will be replaced by" $2 >actual - test_cmp expect actual - ;; - *) false ;; + LF_CRLF) echo "warning: LF will be replaced by CRLF" >"$2".expect ;; + CRLF_LF) echo "warning: CRLF will be replaced by LF" >"$2".expect ;; + '') >"$2".expect ;; + *) echo >&2 "Illegal 1": "$1" ; return false ;; esac + grep "will be replaced by" "$2" | sed -e "s/\(.*\) in [^ ]*$/\1/" >"$2".actual + test_cmp "$2".expect "$2".actual } commit_check_warn () {
@@ -169,6 +167,18 @@ test_expect_success 'setup master' ' warn_LF_CRLF="LF will be replaced by CRLF" warn_CRLF_LF="CRLF will be replaced by LF" +#WILC means "Warn if (this OS) converts LF into CRLF" +if test_have_prereq NATIVE_CRLF +then +WILC=LF_CRLF +WICL= +WAMIX=LF_CRLF +else +WILC= +WICL=CRLF_LF +WAMIX=CRLF_LF +fi + test_expect_success 'commit files empty attr' ' commit_check_warn false "" "" "" "" "" "" && commit_check_warn true "" "LF_CRLF" "" "LF_CRLF" "" "" &&
@@ -176,13 +186,13 @@ test_expect_success 'commit files empty attr' ' ' test_expect_success 'commit files attr=auto' ' - commit_check_warn false "auto" "" "CRLF_LF" "CRLF_LF" "" "" && + commit_check_warn false "auto" "$WILC" "$WICL" "$WAMIX" "" "" && commit_check_warn true "auto" "LF_CRLF" "" "LF_CRLF" "" "" && commit_check_warn input "auto" "" "CRLF_LF" "CRLF_LF" "" "" ' test_expect_success 'commit files attr=text' ' - commit_check_warn false "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" && + commit_check_warn false "text" "$WILC" "$WICL" "$WAMIX" "$WILC" "$WICL" && commit_check_warn true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" && commit_check_warn input "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" '
Signature · 1 line
2.2.0.rc1.790.ge19fcd2
Hi Torsten,
Quoted 10 lines · Torsten Bögershausen
Without this patch, t0027 expects the native end-of-lines to be a single line feed character. On Windows, however, we set it to a carriage return character followed by a line feed character. Thus, we have to modify t0027 to expect different warnings depending on the end-of-line markers.
Adjust the check of the warnings and use these macros:
WILC: Warn if LF becomes CRLF
WICL: Warn if CRLF becomes LF
WAMIX: Mixed line endings: eitherCRLF->LForLF->CRLF
Quoted 5 lines
Improve the information given by
check_warning():
Usetest_cmpto show which warning is missing (or should'n t be there)Signed-off-by Johannes Schindelin <[email protected]>Signed-off-by Torsten Bögershausen <[email protected]>
Thank you so much!
Dscho
Quoted 13 lines · Johannes Schindelin
Hi Torsten,
Quoted 10 lines · Torsten Bögershausen
Without this patch, t0027 expects the native end-of-lines to be a single line feed character. On Windows, however, we set it to a carriage return character followed by a line feed character. Thus, we have to modify t0027 to expect different warnings depending on the end-of-line markers.
Adjust the check of the warnings and use these macros:
WILC: Warn if LF becomes CRLF
WICL: Warn if CRLF becomes LF
WAMIX: Mixed line endings: eitherCRLF->LForLF->CRLF
Quoted 8 lines
Quoted 5 lines
Improve the information given by
check_warning():
Usetest_cmpto show which warning is missing (or should'n t be there)Signed-off-by Johannes Schindelin <[email protected]>Signed-off-by Torsten Bögershausen <[email protected]>Thank you so much!
Dscho
Thanks, is that "Acked-by: Dscho" for both patches?
Johannes Schindelin
Acked-byHi Junio,
Quoted 16 lines · Junio C Hamano
Quoted 14 lines · Johannes Schindelin
Quoted 13 lines · Torsten Bögershausen
Without this patch, t0027 expects the native end-of-lines to be a single line feed character. On Windows, however, we set it to a carriage return character followed by a line feed character. Thus, we have to modify t0027 to expect different warnings depending on the end-of-line markers.
Adjust the check of the warnings and use these macros:
WILC: Warn if LF becomes CRLF
WICL: Warn if CRLF becomes LF
WAMIX: Mixed line endings: eitherCRLF->LForLF->CRLFImprove the information given by
check_warning():
Usetest_cmpto show which warning is missing (or should'n t be there)
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
Signed-off-by Johannes Schindelin <[email protected]>Signed-off-by Torsten Bögershausen <[email protected]>Thank you so much!
DschoThanks, is that "Acked-by: Dscho" for both patches?
Oops, yes:
Sorry!
Dscho
Quoted 10 lines · Torsten Bögershausen
Without this patch, t0027 expects the native end-of-lines to be a single line feed character. On Windows, however, we set it to a carriage return character followed by a line feed character. Thus, we have to modify t0027 to expect different warnings depending on the end-of-line markers.
Adjust the check of the warnings and use these macros:
WILC: Warn if LF becomes CRLF
WICL: Warn if CRLF becomes LF
WAMIX: Mixed line endings: eitherCRLF->LForLF->CRLF
Quoted 5 lines
Improve the information given by
check_warning():
Usetest_cmpto show which warning is missing (or should'n t be there)Signed-off-by Johannes Schindelin <[email protected]>Signed-off-by Torsten Bögershausen <[email protected]>
Originally I wanted to have Dscho as "Author", is that OK with you ? (But the "From:" line didn't made it through my email program)
Hi Torsten,
Quoted 11 lines · Torsten Bögershausen
Quoted 10 lines · Torsten Bögershausen
Without this patch, t0027 expects the native end-of-lines to be a single line feed character. On Windows, however, we set it to a carriage return character followed by a line feed character. Thus, we have to modify t0027 to expect different warnings depending on the end-of-line markers.
Adjust the check of the warnings and use these macros:
WILC: Warn if LF becomes CRLF
WICL: Warn if CRLF becomes LF
WAMIX: Mixed line endings: eitherCRLF->LForLF->CRLF
Quoted 7 lines
Quoted 5 lines
Improve the information given by
check_warning():
Usetest_cmpto show which warning is missing (or should'n t be there)Signed-off-by Johannes Schindelin <[email protected]>Signed-off-by Torsten Bögershausen <[email protected]>Originally I wanted to have Dscho as "Author", is that OK with you ? (But the "From:" line didn't made it through my email program)
No worries.
Dscho
Quoted 5 lines · Torsten Bögershausen
Without this patch, t0027 expects the native end-of-lines to be a single line feed character. On Windows, however, we set it to a carriage return character followed by a line feed character. Thus, we have to modify t0027 to expect different warnings depending on the end-of-line markers.
Quoted 7 lines
Adjust the check of the warnings and use these macros:
WILC: Warn if LF becomes CRLF
WICL: Warn if CRLF becomes LF
WAMIX: Mixed line endings: eitherCRLF->LForLF->CRLFImprove the information given by
check_warning():
Usetest_cmpto show which warning is missing (or should'n t be there)
s/should'n t/shouldn't/
Quoted 2 lines
Signed-off-by Johannes Schindelin <[email protected]>Signed-off-by Torsten Bögershausen <[email protected]>