##// END OF EJS Templates
Add test for case folding issues
Patrick Mezard -
r6806:2134d6c0 default
parent child Browse files
Show More
@@ -0,0 +1,41 b''
1 #!/bin/sh
2
3 "$TESTDIR/hghave" icasefs || exit 80
4
5 echo '% test file addition with bad case'
6 hg init repo1
7 cd repo1
8 echo a > a
9 hg add A
10 hg st
11 hg ci -m adda
12 hg manifest
13 cd ..
14
15 echo '% test case collision on rename (issue 750)'
16 hg init repo2
17 cd repo2
18 echo a > a
19 hg --debug ci -Am adda
20 hg mv a A
21 # 'a' used to be removed under windows
22 test -f a || echo 'a is missing'
23 hg st
24 cd ..
25
26 echo '% test case collision between revisions (issue 912)'
27 hg init repo3
28 cd repo3
29 echo a > a
30 hg ci -Am adda
31 hg rm a
32 hg ci -Am removea
33 echo A > A
34 hg ci -Am addA
35 # Used to fail under case insensitive fs
36 hg up -C 0
37 hg up -C
38 cd ..
39
40
41
@@ -0,0 +1,13 b''
1 % test file addition with bad case
2 adding a
3 A a
4 a
5 % test case collision on rename (issue 750)
6 adding a
7 a
8 A: not overwriting - file exists
9 % test case collision between revisions (issue 912)
10 adding a
11 adding A
12 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
13 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -57,6 +57,24 b' def has_executablebit():'
57 57 finally:
58 58 os.remove(path)
59 59
60 def has_icasefs():
61 # Stolen from mercurial.util
62 fd, path = tempfile.mkstemp(prefix=tempprefix)
63 os.close(fd)
64 try:
65 s1 = os.stat(path)
66 d, b = os.path.split(path)
67 p2 = os.path.join(d, b.upper())
68 if path == p2:
69 p2 = os.path.join(d, b.lower())
70 try:
71 s2 = os.stat(p2)
72 return s2 == s1
73 except:
74 return False
75 finally:
76 os.remove(path)
77
60 78 def has_fifo():
61 79 return hasattr(os, "mkfifo")
62 80
@@ -129,6 +147,7 b' checks = {'
129 147 "fifo": (has_fifo, "named pipes"),
130 148 "git": (has_git, "git command line client"),
131 149 "hotshot": (has_hotshot, "python hotshot module"),
150 "icasefs": (has_icasefs, "case insensitive file system"),
132 151 "lsprof": (has_lsprof, "python lsprof module"),
133 152 "mtn": (has_mtn, "monotone client (> 0.31)"),
134 153 "svn": (has_svn, "subversion client and admin tools"),
General Comments 0
You need to be logged in to leave comments. Login now