Skip to contentSkip to conversation

t0027: Improve test for not-normalized files

PATCH Superseded Torsten Bögershausen 2 participants 2 messages Jun 15, 2016

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 t0027: Improve test for not-normalized files

When a text file with mixed line endings is commited into the repo, it is called "not normalized" (or NNO) in t0027.
The existing test case using repoMIX did not fully test all combinations:
(Especially when core.autocrlf = true)
Files with NL are not converted at commit, but at checkout, so a warning NL->CRLF is given.
Files with CRLF are not converted at all (so no warning will be given), unless they are marked as "text" or "auto".

Remove repoMIX introduced in commit 8eeab92f02, and replace it with a combination of NNO tests.

---
 t/t0027-auto-crlf.sh | 191 ++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 157 insertions(+), 34 deletions(-)
t/t0027-auto-crlf.sh +20 -1
index 1a56e5e..b343651 100755
@@ -55,6 +55,26 @@ create_gitattributes () {
 	esac
 }
 +create_NNO_files () {
+	lfname=$1
+	crlfname=$2
+	lfmixcrlf=$3
+	lfmixcr=$4
+	crlfnul=$5
+	for crlf in false true input
+	do
+		for attr in "" auto text -text lf crlf
+		do
+			pfx=NNO_${crlf}_attr_${attr} &&
+			cp $lfname    ${pfx}_LF.txt &&
+			cp $crlfname  ${pfx}_CRLF.txt &&
+			cp $lfmixcrlf ${pfx}_CRLF_mix_LF.txt &&
+			cp $lfmixcr   ${pfx}_LF_mix_CR.txt &&
+			cp $crlfnul   ${pfx}_CRLF_nul.txt
+		done
+	done
+}
+
 check_warning () {
 	case "$1" in
 	LF_CRLF) echo "warning: LF will be replaced by CRLF" >"$2".expect ;;
@@ -62,7 +82,7 @@ check_warning () {
 	'')	                                                 >"$2".expect ;;
 	*) echo >&2 "Illegal 1": "$1" ; return false ;;
 	esac
-	grep "will be replaced by" "$2" | sed -e "s/\(.*\) in [^ ]*$/\1/" >"$2".actual
+	grep "will be replaced by" "$2" | sed -e "s/\(.*\) in [^ ]*$/\1/" | uniq
Quoted 1 line

"$2".actual

test_cmp "$2".expect "$2".actual
}
@@ -71,19 +91,10 @@ commit_check_warn () {
attr=$2
lfname=$3
crlfname=$4
- repoMIX=$5
- lfmixcrlf=$6
- lfmixcr=$7
- crlfnul=$8
+ lfmixcrlf=$5
+ lfmixcr=$6
+ crlfnul=$7
pfx=crlf_${crlf}_attr_${attr}
- # Special handling for repoMIX: It should already be in the repo
- # with CRLF
- f=repoMIX
- fname=${pfx}_$f.txt
- echo >.gitattributes &&
- cp $f $fname &&
- git -c core.autocrlf=false add $fname 2>"${pfx}_$f.err" &&
- git commit -m "repoMIX" &&
create_gitattributes "$attr" &&
for f in LF CRLF repoMIX LF_mix_CR CRLF_mix_LF LF_nul CRLF_nul do
@@ -99,6 +110,45 @@ commit_check_warn () {
check_warning "$crlfnul" ${pfx}_CRLF_nul.err
}
+commit_chk_wrnNNO () {
+ crlf=$1
+ attr=$2
+ lfwarn=$3
+ crlfwarn=$4
+ lfmixcrlf=$5
+ lfmixcr=$6
+ crlfnul=$7
+ pfx=NNO_${crlf}_attr_${attr}
+ #Commit files on top of existing file
+ create_gitattributes "$attr" &&
+ for f in LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul
+ do
+ fname=${pfx}_$f.txt &&
+ cp $f $fname &&
+ git -c core.autocrlf=$crlf add $fname 2>/dev/null &&
+ git -c core.autocrlf=$crlf commit -m "commit_$fname" $fname >"${pfx}_$f.err" 2>&1
+ done
+
+ test_expect_success "commit NNO files crlf=$crlf attr=$attr LF" '
+ check_warning "$lfwarn" ${pfx}_LF.err
+ '
+ test_expect_success "commit NNO files crlf=$crlf attr=$attr CRLF" '
+ check_warning "$crlfwarn" ${pfx}_CRLF.err
+ '
+
+ test_expect_success "commit NNO files crlf=$crlf attr=$attr CRLF_mix_LF" '
+ check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
+ '
+
+ test_expect_success "commit NNO files crlf=$crlf attr=$attr LF_mix_cr" '
+ check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
+ '
+
+ test_expect_success "commit NNO files crlf=$crlf attr=$attr CRLF_nul" '
+ check_warning "$crlfnul" ${pfx}_CRLF_nul.err
+ '
+}
+
check_files_in_repo () {
crlf=$1
attr=$2
@@ -115,6 +165,31 @@ check_files_in_repo () {
compare_files $crlfnul ${pfx}CRLF_nul.txt
}
+check_in_repo_NNO () {
+ crlf=$1
+ attr=$2
+ lfname=$3
+ crlfname=$4
+ lfmixcrlf=$5
+ lfmixcr=$6
+ crlfnul=$7
+ pfx=NNO_${crlf}_attr_${attr}_
+ test_expect_success "compare_files $lfname ${pfx}LF.txt" '
+ compare_files $lfname ${pfx}LF.txt
+ '
+ test_expect_success "compare_files $crlfname ${pfx}CRLF.txt" '
+ compare_files $crlfname ${pfx}CRLF.txt
+ '
+ test_expect_success "compare_files $lfmixcrlf ${pfx}CRLF_mix_LF.txt" '
+ compare_files $lfmixcrlf ${pfx}CRLF_mix_LF.txt
+ '
+ test_expect_success "compare_files $lfmixcr ${pfx}LF_mix_CR.txt" '
+ compare_files $lfmixcr ${pfx}LF_mix_CR.txt
+ '
+ test_expect_success "compare_files $crlfnul ${pfx}CRLF_nul.txt" '
+ compare_files $crlfnul ${pfx}CRLF_nul.txt
+ '
+}
checkout_files () {
eol=$1
@@ -169,7 +244,11 @@ test_expect_success 'setup master' '
printf "line1\nline2\rline3" >LF_mix_CR &&
printf "line1\r\nline2\rline3" >CRLF_mix_CR &&
printf "line1Q\r\nline2\r\nline3" | q_to_nul >CRLF_nul &&
- printf "line1Q\nline2\nline3" | q_to_nul >LF_nul
+ printf "line1Q\nline2\nline3" | q_to_nul >LF_nul &&
+ create_NNO_files CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF &&
+ git -c core.autocrlf=false add NNO_*.txt &&
+ git commit -m "mixed line endings" &&
+ test_tick
'
@@ -191,46 +270,72 @@ else
WAMIX=CRLF_LF
fi
-# attr LF CRLF repoMIX CRLFmixLF
LFmixCR CRLFNUL
+# attr LF CRLF CRLFmixLF LFmixCR CRLFNUL
test_expect_success 'commit files empty attr' '
- commit_check_warn false "" "" "" "" "" ""
"" &&
- commit_check_warn true "" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" ""
"" &&
- commit_check_warn input "" "" "CRLF_LF" "CRLF_LF" "CRLF_LF" ""
""

+	commit_check_warn false ""     ""        ""        ""        ""        "" &&
+	commit_check_warn true  ""     "LF_CRLF" ""        "LF_CRLF" ""        "" &&
+	commit_check_warn input ""     ""        "CRLF_LF" "CRLF_LF" ""        ""

'
test_expect_success 'commit files attr=auto' '
- commit_check_warn false "auto" "$WILC" "$WICL" "$WAMIX" "$WAMIX" ""
"" &&
- commit_check_warn true "auto" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" ""
"" &&
- commit_check_warn input "auto" "" "CRLF_LF" "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" "$WILC" "$WICL" "$WAMIX" "$WAMIX" "$WILC"
"$WICL" &&
- commit_check_warn true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF"
"LF_CRLF" "" &&
- commit_check_warn input "text" "" "CRLF_LF" "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"
'
test_expect_success 'commit files attr=-text' '
- commit_check_warn false "-text" "" "" "" "" ""
"" &&
- commit_check_warn true "-text" "" "" "" "" ""
"" &&
- commit_check_warn input "-text" "" "" "" "" ""
""

+	commit_check_warn false "-text" ""       ""        ""        ""        "" &&
+	commit_check_warn true  "-text" ""       ""        ""        ""        "" &&
+	commit_check_warn input "-text" ""       ""        ""        ""        ""

'
test_expect_success 'commit files attr=lf' '
- commit_check_warn false "lf" "" "CRLF_LF" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF" &&
- commit_check_warn true "lf" "" "CRLF_LF" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF" &&
- commit_check_warn input "lf" "" "CRLF_LF" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF"
+ commit_check_warn false "lf" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF" &&
+ commit_check_warn true "lf" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF" &&
+ commit_check_warn input "lf" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF"
'
test_expect_success 'commit files attr=crlf' '
- commit_check_warn false "crlf" "LF_CRLF" "" "LF_CRLF" "LF_CRLF"
"LF_CRLF" "" &&
- commit_check_warn true "crlf" "LF_CRLF" "" "LF_CRLF" "LF_CRLF"
"LF_CRLF" "" &&
- commit_check_warn input "crlf" "LF_CRLF" "" "LF_CRLF" "LF_CRLF"
"LF_CRLF" ""

+	commit_check_warn false "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" "" &&
+	commit_check_warn true  "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" "" &&
+	commit_check_warn input "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" ""
 '
 +#                       attr   LF        CRLF      CRLFmixLF 	 LF_mix_CR   CRLFNUL
+commit_chk_wrnNNO false ""     ""        ""        ""        	 ""        	 ""
+commit_chk_wrnNNO true  ""     "LF_CRLF" ""        ""        	 ""        	 ""
+commit_chk_wrnNNO input ""     ""        ""        ""        	 ""        	 ""
+
+
+commit_chk_wrnNNO false "auto" "$WILC"   "$WICL"   "$WAMIX"  	 ""        	 ""
+commit_chk_wrnNNO true  "auto" "LF_CRLF" ""        "LF_CRLF" 	 ""        	 ""
+commit_chk_wrnNNO input "auto" ""        "CRLF_LF" "CRLF_LF" 	 ""        	 ""

+
+commit_chk_wrnNNO false "text" "$WILC" "$WICL" "$WAMIX" "$WILC" "$WICL"
+commit_chk_wrnNNO true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" ""
+commit_chk_wrnNNO input "text" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF"
+

+commit_chk_wrnNNO false "-text" ""       ""        ""        	 ""        	 ""
+commit_chk_wrnNNO true  "-text" ""       ""        ""        	 ""        	 ""
+commit_chk_wrnNNO input "-text" ""       ""        ""        	 ""        	 ""

+
+commit_chk_wrnNNO false "lf" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF"
+commit_chk_wrnNNO true "lf" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF"
+commit_chk_wrnNNO input "lf" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF"
+

+commit_chk_wrnNNO false "crlf" "LF_CRLF" ""        "LF_CRLF" 	 "LF_CRLF" 	 ""
+commit_chk_wrnNNO true  "crlf" "LF_CRLF" ""        "LF_CRLF" 	 "LF_CRLF" 	 ""
+commit_chk_wrnNNO input "crlf" "LF_CRLF" ""        "LF_CRLF" 	 "LF_CRLF" 	 ""

+
test_expect_success 'create files cleanup' '
rm -f *.txt &&
- git reset --hard
+ git -c core.autocrlf=false reset --hard
'
test_expect_success 'commit empty gitattribues' '
@@ -257,6 +362,24 @@ test_expect_success 'commit -text' '
check_files_in_repo input "-text" LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul
'
+# attr LF CRLF CRLF_mix_LF LF_mix_CR
CRLFNUL
+check_in_repo_NNO false "" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO true "" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO input "" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+
+check_in_repo_NNO false "auto" LF LF LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO true "auto" LF LF LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO input "auto" LF LF LF LF_mix_CR
CRLF_nul
+

+check_in_repo_NNO false "text"  LF        LF        LF           LF_mix_CR 	LF_nul
+check_in_repo_NNO true  "text"  LF        LF        LF           LF_mix_CR 	LF_nul
+check_in_repo_NNO input "text"  LF        LF        LF           LF_mix_CR 	LF_nul

+
+check_in_repo_NNO false "-text" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO true "-text" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO input "-text" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+
+
################################################################################
# Check how files in the repo are changed when they are checked out # How to read the table below:

Signature · 1 line
2.5.0
#1 lore raw

Torsten Bögershausen <[email protected]> writes:

This patch is seriously broken and I do not know how you managed to do so. Notice how "+create_NNO_files" is indented but no other added lines in the same hunk, for example.

I tried to hand-munge, but gave up.

Quoted 1 line

+commit_chk_wrnNNO () {

Squashing warn into wrn or (check into chk) does not make it any easier to read or type.

Quoted 228 lines
(quoted diff) +67 -1
+	crlf=$1
+	attr=$2
+	lfwarn=$3
+	crlfwarn=$4
+	lfmixcrlf=$5
+	lfmixcr=$6
+	crlfnul=$7
+	pfx=NNO_${crlf}_attr_${attr}
+	#Commit files on top of existing file
+	create_gitattributes "$attr" &&
+	for f in LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul
+	do
+		fname=${pfx}_$f.txt &&
+		cp $f $fname &&
+		git -c core.autocrlf=$crlf add $fname 2>/dev/null &&
+		git -c core.autocrlf=$crlf commit -m "commit_$fname" $fname >"${pfx}_$f.err" 2>&1
+	done
+
+	test_expect_success "commit NNO files crlf=$crlf attr=$attr LF" '
+		check_warning "$lfwarn" ${pfx}_LF.err
+	'
+	test_expect_success "commit NNO files crlf=$crlf attr=$attr CRLF" '
+		check_warning "$crlfwarn" ${pfx}_CRLF.err
+	'
+
+	test_expect_success "commit NNO files crlf=$crlf attr=$attr CRLF_mix_LF" '
+		check_warning "$lfmixcrlf" ${pfx}_CRLF_mix_LF.err
+	'
+
+	test_expect_success "commit NNO files crlf=$crlf attr=$attr LF_mix_cr" '
+		check_warning "$lfmixcr" ${pfx}_LF_mix_CR.err
+	'
+
+	test_expect_success "commit NNO files crlf=$crlf attr=$attr CRLF_nul" '
+		check_warning "$crlfnul" ${pfx}_CRLF_nul.err
+	'
+}
+
 check_files_in_repo () {
 	crlf=$1
 	attr=$2
@@ -115,6 +165,31 @@ check_files_in_repo () {
 	compare_files $crlfnul ${pfx}CRLF_nul.txt
 }
 +check_in_repo_NNO () {
+	crlf=$1
+	attr=$2
+	lfname=$3
+	crlfname=$4
+	lfmixcrlf=$5
+	lfmixcr=$6
+	crlfnul=$7
+	pfx=NNO_${crlf}_attr_${attr}_
+	test_expect_success "compare_files $lfname ${pfx}LF.txt" '
+		compare_files $lfname ${pfx}LF.txt
+	'
+	test_expect_success "compare_files $crlfname ${pfx}CRLF.txt" '
+		compare_files $crlfname ${pfx}CRLF.txt
+	'
+	test_expect_success "compare_files $lfmixcrlf ${pfx}CRLF_mix_LF.txt" '
+		compare_files $lfmixcrlf ${pfx}CRLF_mix_LF.txt
+	'
+	test_expect_success "compare_files $lfmixcr ${pfx}LF_mix_CR.txt" '
+		compare_files $lfmixcr ${pfx}LF_mix_CR.txt
+	'
+	test_expect_success "compare_files $crlfnul ${pfx}CRLF_nul.txt" '
+		compare_files $crlfnul ${pfx}CRLF_nul.txt
+	'
+}
  checkout_files () {
 	eol=$1
@@ -169,7 +244,11 @@ test_expect_success 'setup master' '
 	printf "line1\nline2\rline3"     >LF_mix_CR &&
 	printf "line1\r\nline2\rline3"   >CRLF_mix_CR &&
 	printf "line1Q\r\nline2\r\nline3" | q_to_nul >CRLF_nul &&
-	printf "line1Q\nline2\nline3" | q_to_nul >LF_nul
+	printf "line1Q\nline2\nline3" | q_to_nul >LF_nul &&
+	create_NNO_files CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF &&
+	git -c core.autocrlf=false add NNO_*.txt &&
+	git commit -m "mixed line endings" &&
+	test_tick
 '
  @@ -191,46 +270,72 @@ else
 	WAMIX=CRLF_LF

fi
-# attr LF CRLF repoMIX CRLFmixLF
LFmixCR CRLFNUL

(quoted diff) +7 -8
+#                         attr   LF        CRLF      CRLFmixLF LFmixCR   CRLFNUL
 test_expect_success 'commit files empty attr' '
-	commit_check_warn false ""     ""        ""        ""        ""        ""
   "" &&
-	commit_check_warn true  ""     "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" ""
   "" &&
-	commit_check_warn input ""     ""        "CRLF_LF" "CRLF_LF" "CRLF_LF" ""
   ""
+	commit_check_warn false ""     ""        ""        ""        ""        "" &&
+	commit_check_warn true  ""     "LF_CRLF" ""        "LF_CRLF" ""        "" &&
+	commit_check_warn input ""     ""        "CRLF_LF" "CRLF_LF" ""        ""
 '
  test_expect_success 'commit files attr=auto' '
-	commit_check_warn false "auto" "$WILC"   "$WICL"   "$WAMIX"  "$WAMIX"  ""
   "" &&
-	commit_check_warn true  "auto" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" ""
   "" &&
-	commit_check_warn input "auto" ""        "CRLF_LF" "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" "$WILC"   "$WICL"   "$WAMIX"  "$WAMIX"  "$WILC"
  "$WICL"   &&
-	commit_check_warn true  "text" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF"

"LF_CRLF" "" &&

(quoted diff) +7 -7
-	commit_check_warn input "text" ""        "CRLF_LF" "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"
 '
  test_expect_success 'commit files attr=-text' '
-	commit_check_warn false "-text" ""       ""        ""        ""        ""
   "" &&
-	commit_check_warn true  "-text" ""       ""        ""        ""        ""
   "" &&
-	commit_check_warn input "-text" ""       ""        ""        ""        ""
   ""
+	commit_check_warn false "-text" ""       ""        ""        ""        "" &&
+	commit_check_warn true  "-text" ""       ""        ""        ""        "" &&
+	commit_check_warn input "-text" ""       ""        ""        ""        ""
 '
  test_expect_success 'commit files attr=lf' '
-	commit_check_warn false "lf"    ""       "CRLF_LF" "CRLF_LF" "CRLF_LF"  ""
   "CRLF_LF" &&
-	commit_check_warn true  "lf"    ""       "CRLF_LF" "CRLF_LF" "CRLF_LF"  ""
   "CRLF_LF" &&
-	commit_check_warn input "lf"    ""       "CRLF_LF" "CRLF_LF" "CRLF_LF"  ""
   "CRLF_LF"
+	commit_check_warn false "lf"    ""       "CRLF_LF" "CRLF_LF"  ""

"CRLF_LF" &&

(quoted diff) +1 -0
+	commit_check_warn true  "lf"    ""       "CRLF_LF" "CRLF_LF"  ""

"CRLF_LF" &&

(quoted diff) +1 -1
+	commit_check_warn input "lf"    ""       "CRLF_LF" "CRLF_LF"  ""       "CRLF_LF"
 '
  test_expect_success 'commit files attr=crlf' '
-	commit_check_warn false "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF"

"LF_CRLF" "" &&

(quoted diff) +0 -1
-	commit_check_warn true  "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF"

"LF_CRLF" "" &&

(quoted diff) +0 -1
-	commit_check_warn input "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF"

"LF_CRLF" ""

(quoted diff) +15 -0
+	commit_check_warn false "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" "" &&
+	commit_check_warn true  "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" "" &&
+	commit_check_warn input "crlf" "LF_CRLF" ""        "LF_CRLF" "LF_CRLF" ""
 '
 +#                       attr   LF        CRLF      CRLFmixLF 	 LF_mix_CR   CRLFNUL
+commit_chk_wrnNNO false ""     ""        ""        ""        	 ""        	 ""
+commit_chk_wrnNNO true  ""     "LF_CRLF" ""        ""        	 ""        	 ""
+commit_chk_wrnNNO input ""     ""        ""        ""        	 ""        	 ""
+
+
+commit_chk_wrnNNO false "auto" "$WILC"   "$WICL"   "$WAMIX"  	 ""        	 ""
+commit_chk_wrnNNO true  "auto" "LF_CRLF" ""        "LF_CRLF" 	 ""        	 ""
+commit_chk_wrnNNO input "auto" ""        "CRLF_LF" "CRLF_LF" 	 ""        	 ""
+
+commit_chk_wrnNNO false "text" "$WILC"   "$WICL"   "$WAMIX"  	 "$WILC"   	 "$WICL"
+commit_chk_wrnNNO true  "text" "LF_CRLF" ""        "LF_CRLF" 	 "LF_CRLF" 	 ""
+commit_chk_wrnNNO input "text" ""        "CRLF_LF" "CRLF_LF" 	 ""        	

"CRLF_LF"

(quoted diff) +6 -0
+
+commit_chk_wrnNNO false "-text" ""       ""        ""        	 ""        	 ""
+commit_chk_wrnNNO true  "-text" ""       ""        ""        	 ""        	 ""
+commit_chk_wrnNNO input "-text" ""       ""        ""        	 ""        	 ""
+
+commit_chk_wrnNNO false "lf"    ""       "CRLF_LF" "CRLF_LF" 	  ""       	

"CRLF_LF"
+commit_chk_wrnNNO true "lf" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF"
+commit_chk_wrnNNO input "lf" "" "CRLF_LF" "CRLF_LF" ""
"CRLF_LF"

(quoted diff) +6 -1
+
+commit_chk_wrnNNO false "crlf" "LF_CRLF" ""        "LF_CRLF" 	 "LF_CRLF" 	 ""
+commit_chk_wrnNNO true  "crlf" "LF_CRLF" ""        "LF_CRLF" 	 "LF_CRLF" 	 ""
+commit_chk_wrnNNO input "crlf" "LF_CRLF" ""        "LF_CRLF" 	 "LF_CRLF" 	 ""
+
 test_expect_success 'create files cleanup' '
 	rm -f *.txt &&
-	git reset --hard
+	git -c core.autocrlf=false reset --hard
 '
  test_expect_success 'commit empty gitattribues' '
@@ -257,6 +362,24 @@ test_expect_success 'commit -text' '
 	check_files_in_repo input "-text" LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul
 '
 +#                       attr    LF        CRLF      CRLF_mix_LF  LF_mix_CR

CRLFNUL
+check_in_repo_NNO false "" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO true "" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO input "" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul

(quoted diff) +2 -0
+
+check_in_repo_NNO false "auto"  LF        LF        LF           LF_mix_CR

CRLF_nul
+check_in_repo_NNO true "auto" LF LF LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO input "auto" LF LF LF LF_mix_CR
CRLF_nul

(quoted diff) +6 -0
+
+check_in_repo_NNO false "text"  LF        LF        LF           LF_mix_CR 	LF_nul
+check_in_repo_NNO true  "text"  LF        LF        LF           LF_mix_CR 	LF_nul
+check_in_repo_NNO input "text"  LF        LF        LF           LF_mix_CR 	LF_nul
+
+check_in_repo_NNO false "-text" LF        CRLF      CRLF_mix_LF  LF_mix_CR

CRLF_nul
+check_in_repo_NNO true "-text" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul
+check_in_repo_NNO input "-text" LF CRLF CRLF_mix_LF LF_mix_CR
CRLF_nul

(quoted diff) +2 -0
+
+
 ################################################################################
 # Check how files in the repo are changed when they are checked out
 # How to read the table below: