Mercurial > hg
comparison tests/hghave.py @ 16968:456f457e376d
tests/hghave: consistently use dir='.', prefix=tempprefix for tempfiles
Some feature tests were done in the wrong directory and could thus give the
wrong result.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Fri, 15 Jun 2012 00:02:27 +0200 |
parents | 23f621ca04b5 |
children | 6d1673107143 |
comparison
equal
deleted
inserted
replaced
16967:30cfa286947c | 16968:456f457e376d |
---|---|
48 return matchoutput('mtn --version', r'monotone', True) and not matchoutput( | 48 return matchoutput('mtn --version', r'monotone', True) and not matchoutput( |
49 'mtn --version', r'monotone 0\.', True) | 49 'mtn --version', r'monotone 0\.', True) |
50 | 50 |
51 def has_eol_in_paths(): | 51 def has_eol_in_paths(): |
52 try: | 52 try: |
53 fd, path = tempfile.mkstemp(prefix=tempprefix, suffix='\n\r') | 53 fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix, suffix='\n\r') |
54 os.close(fd) | 54 os.close(fd) |
55 os.remove(path) | 55 os.remove(path) |
56 return True | 56 return True |
57 except (IOError, OSError): | 57 except (IOError, OSError): |
58 return False | 58 return False |
59 | 59 |
60 def has_executablebit(): | 60 def has_executablebit(): |
61 try: | 61 try: |
62 EXECFLAGS = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH | 62 EXECFLAGS = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH |
63 fh, fn = tempfile.mkstemp(dir=".", prefix='hg-checkexec-') | 63 fh, fn = tempfile.mkstemp(dir='.', prefix=tempprefix) |
64 try: | 64 try: |
65 os.close(fh) | 65 os.close(fh) |
66 m = os.stat(fn).st_mode & 0777 | 66 m = os.stat(fn).st_mode & 0777 |
67 new_file_has_exec = m & EXECFLAGS | 67 new_file_has_exec = m & EXECFLAGS |
68 os.chmod(fn, m ^ EXECFLAGS) | 68 os.chmod(fn, m ^ EXECFLAGS) |
74 return False | 74 return False |
75 return not (new_file_has_exec or exec_flags_cannot_flip) | 75 return not (new_file_has_exec or exec_flags_cannot_flip) |
76 | 76 |
77 def has_icasefs(): | 77 def has_icasefs(): |
78 # Stolen from mercurial.util | 78 # Stolen from mercurial.util |
79 fd, path = tempfile.mkstemp(prefix=tempprefix, dir='.') | 79 fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix) |
80 os.close(fd) | 80 os.close(fd) |
81 try: | 81 try: |
82 s1 = os.stat(path) | 82 s1 = os.stat(path) |
83 d, b = os.path.split(path) | 83 d, b = os.path.split(path) |
84 p2 = os.path.join(d, b.upper()) | 84 p2 = os.path.join(d, b.upper()) |
103 return getattr(os, "mkfifo", None) is not None | 103 return getattr(os, "mkfifo", None) is not None |
104 | 104 |
105 def has_cacheable_fs(): | 105 def has_cacheable_fs(): |
106 from mercurial import util | 106 from mercurial import util |
107 | 107 |
108 fd, path = tempfile.mkstemp(prefix=tempprefix) | 108 fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix) |
109 os.close(fd) | 109 os.close(fd) |
110 try: | 110 try: |
111 return util.cachestat(path).cacheable() | 111 return util.cachestat(path).cacheable() |
112 finally: | 112 finally: |
113 os.remove(path) | 113 os.remove(path) |
163 matchoutput('p4d -V', r'Rev\. P4D/')) | 163 matchoutput('p4d -V', r'Rev\. P4D/')) |
164 | 164 |
165 def has_symlink(): | 165 def has_symlink(): |
166 if getattr(os, "symlink", None) is None: | 166 if getattr(os, "symlink", None) is None: |
167 return False | 167 return False |
168 name = tempfile.mktemp(dir=".", prefix='hg-checklink-') | 168 name = tempfile.mktemp(dir='.', prefix=tempprefix) |
169 try: | 169 try: |
170 os.symlink(".", name) | 170 os.symlink(".", name) |
171 os.unlink(name) | 171 os.unlink(name) |
172 return True | 172 return True |
173 except (OSError, AttributeError): | 173 except (OSError, AttributeError): |
178 | 178 |
179 def has_gpg(): | 179 def has_gpg(): |
180 return matchoutput('gpg --version 2>&1', r'GnuPG') | 180 return matchoutput('gpg --version 2>&1', r'GnuPG') |
181 | 181 |
182 def has_unix_permissions(): | 182 def has_unix_permissions(): |
183 d = tempfile.mkdtemp(prefix=tempprefix, dir=".") | 183 d = tempfile.mkdtemp(dir='.', prefix=tempprefix) |
184 try: | 184 try: |
185 fname = os.path.join(d, 'foo') | 185 fname = os.path.join(d, 'foo') |
186 for umask in (077, 007, 022): | 186 for umask in (077, 007, 022): |
187 os.umask(umask) | 187 os.umask(umask) |
188 f = open(fname, 'w') | 188 f = open(fname, 'w') |