Skip to content

Commit 050a162

Browse files
author
jomae
committed
1.7.1dev: merge [17916] from 1.6-stable (fix for #13880)
git-svn-id: http://trac.edgewall.org/intertrac/log:/trunk@17917 af82e41b-90c4-0310-8c96-b1721e28e2e2
2 parents eb2ec3f + e620779 commit 050a162

File tree

6 files changed

+57
-29
lines changed

6 files changed

+57
-29
lines changed

trac/upgrades/tests/db32.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,15 @@ def test_repository_providers_disabled(self):
146146
config.set('projects_list', projects_list)
147147
config.set('projects_base', projects_base)
148148
config.set('projects_url', projects_url)
149+
150+
abspath = os.path.abspath
149151
db_provider = DbRepositoryProvider(self.env)
150-
db_provider.add_repository('repos3', '/var/git/repos3', 'git')
151-
db_provider.add_repository('repos4', '/var/git/repos4', 'git')
152+
db_provider.add_repository('repos3', abspath('/var/git/repos3'), 'git')
153+
db_provider.add_repository('repos4', abspath('/var/git/repos4'), 'git')
152154
config = self.env.config['repositories']
153-
config.set('repos5.dir', '/var/svn/repos4')
155+
config.set('repos5.dir', abspath('/var/svn/repos4'))
154156
config.set('repos5.type', 'svn')
155-
config.set('repos6.dir', '/var/svn/repos5')
157+
config.set('repos6.dir', abspath('/var/svn/repos5'))
156158
config.set('repos6.type', 'svn')
157159
self.env.disable_component(GitwebProjectsRepositoryProvider)
158160
self.env.disable_component(DbRepositoryProvider)

trac/versioncontrol/tests/api.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#
1515
# Author: Eli Carter <[email protected]>
1616

17+
import os.path
1718
import unittest
1819
from datetime import datetime
1920

@@ -159,8 +160,9 @@ def do_alias(self, reponame, target, message):
159160
reponame, target)
160161

161162
def test_add_alias(self):
162-
self.db_provider.add_repository('', '/path/to/repos')
163-
self.db_provider.add_repository('target', '/path/to/repos')
163+
repodir = os.path.abspath('/path/to/repos')
164+
self.db_provider.add_repository('', repodir)
165+
self.db_provider.add_repository('target', repodir)
164166
self.db_provider.add_alias('blah1', '')
165167
self.db_provider.add_alias('blah2', '(default)')
166168
self.db_provider.add_alias('blah3', 'target')
@@ -185,10 +187,11 @@ def test_add_alias_to_non_existent_repository(self):
185187
self.do_alias('(default)', 'blah', 'Repository "blah" doesn\'t exist')
186188

187189
def test_add_alias_to_repository_in_tracini(self):
190+
repodir = os.path.abspath('/path/to/repos')
188191
config = self.env.config
189-
config.set('repositories', '.dir', '/path/to/repos')
192+
config.set('repositories', '.dir', repodir)
190193
config.set('repositories', '.type', '')
191-
config.set('repositories', 'target.dir', '/path/to/repos')
194+
config.set('repositories', 'target.dir', repodir)
192195
config.set('repositories', 'target.type', '')
193196
config.set('repositories', 'alias-default.alias', '')
194197
config.set('repositories', 'alias-target.alias', 'target')
@@ -203,8 +206,9 @@ def test_add_alias_to_repository_in_tracini(self):
203206
self.assertEqual('target', repositories['blah2']['alias'])
204207

205208
def test_add_alias_to_alias(self):
209+
repodir = os.path.abspath('/path/to/repos')
206210
config = self.env.config
207-
config.set('repositories', 'target.dir', '/path/to/repos')
211+
config.set('repositories', 'target.dir', repodir)
208212
config.set('repositories', 'target.type', '')
209213
config.set('repositories', '.alias', 'target')
210214
config.set('repositories', 'alias.alias', 'target')
@@ -216,8 +220,9 @@ def test_add_alias_to_alias(self):
216220
'Cannot create an alias to the alias "alias"')
217221

218222
def test_remove_repository_used_in_aliases(self):
219-
self.db_provider.add_repository('', '/path/to/repos')
220-
self.db_provider.add_repository('blah', '/path/to/repos')
223+
repodir = os.path.abspath('/path/to/repos')
224+
self.db_provider.add_repository('', repodir)
225+
self.db_provider.add_repository('blah', repodir)
221226
self.db_provider.add_alias('alias-blah', 'blah')
222227
self.db_provider.add_alias('alias-default', '')
223228
self.do_remove('', 'Cannot remove the repository "(default)" used in '
@@ -228,8 +233,9 @@ def test_remove_repository_used_in_aliases(self):
228233
'aliases')
229234

230235
def test_modify_repository_used_in_aliases(self):
231-
self.db_provider.add_repository('', '/path/to/repos')
232-
self.db_provider.add_repository('blah', '/path/to/repos')
236+
repodir = os.path.abspath('/path/to/repos')
237+
self.db_provider.add_repository('', repodir)
238+
self.db_provider.add_repository('blah', repodir)
233239
self.db_provider.add_alias('alias-blah', 'blah')
234240
self.db_provider.add_alias('alias-default', '')
235241
self.do_modify('', {'name': 'new-name'},
@@ -250,7 +256,8 @@ def setUp(self):
250256

251257
def test_pre_process_request_sync_skipped_for_invalid_connector(self):
252258
"""Repository synchronization is skipped for an invalid connector."""
253-
self.env.config.set('repositories', 'repos.dir', '/some/path')
259+
repodir = os.path.abspath('/some/path')
260+
self.env.config.set('repositories', 'repos.dir', repodir)
254261
self.env.config.set('repositories', 'repos.type', 'invalid')
255262
self.env.config.set('repositories', 'repos.sync_per_request', True)
256263
req = MockRequest(self.env)

trac/versioncontrol/tests/console.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# history and logs, available at https://trac.edgewall.org/log/.
1313

1414
import datetime
15+
import os.path
1516
import unittest
1617

1718
import trac.versioncontrol.admin
@@ -58,8 +59,9 @@ def setUp(self):
5859
disable=('trac.tests.*',))
5960
self.admin = TracAdmin()
6061
self.admin.env_set('', self.env)
62+
repodir = os.path.abspath('/')
6163
provider = DbRepositoryProvider(self.env)
62-
provider.add_repository('mock', '/', 'mock_type')
64+
provider.add_repository('mock', repodir, 'mock_type')
6365

6466
def tearDown(self):
6567
self.env = None

trac/versioncontrol/tests/functional.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# history and logs, available at https://trac.edgewall.org/log/.
1414

1515
import os
16+
import re
1617
import tempfile
1718
import unittest
1819

@@ -37,12 +38,18 @@ def runTest(self):
3738
"""Repository with an invalid path is rendered with an error
3839
message on the repository admin page.
3940
"""
41+
if os.name == 'nt':
42+
repodir = r'C:\the\invalid\path'
43+
breakable = r'C:\{0}the\{0}invalid\{0}path'.format('\u200b')
44+
else:
45+
repodir = '/the/invalid/path'
46+
breakable = '/the/\u200binvalid/\u200bpath'
4047
self._tester.go_to_admin("Repositories")
4148
tc.formvalue('trac-addrepos', 'name', 'InvalidRepos')
42-
tc.formvalue('trac-addrepos', 'dir', '/the/invalid/path')
49+
tc.formvalue('trac-addrepos', 'dir', repodir)
4350
tc.submit()
44-
tc.find(('<span class="missing" title="[^"]*">'
45-
'/the/\u200binvalid/\u200bpath</span>'))
51+
tc.find('<span class="missing" title="[^"]*">%s</span>' %
52+
re.escape(breakable))
4653

4754

4855
class TestEmptySvnRepo(FunctionalTestCaseSetup):
@@ -161,7 +168,8 @@ def runTest(self):
161168
"""
162169
def add_repository(name):
163170
tc.formvalue('trac-addrepos', 'name', name)
164-
tc.formvalue('trac-addrepos', 'dir', '/var/svn/%s' % name)
171+
tc.formvalue('trac-addrepos', 'dir',
172+
os.path.abspath('/var/svn/%s' % name))
165173
tc.submit()
166174

167175
def go_to_repository_admin():
@@ -182,7 +190,8 @@ def go_to_repository_admin():
182190
# TracError raised if repository already defined in trac.ini.
183191
name2 = random_word().lower()
184192
env = self._testenv.get_trac_environment()
185-
env.config.set('repositories', '%s.dir' % name2, '/var/svn/%s' % name2)
193+
env.config.set('repositories', '%s.dir' % name2,
194+
os.path.abspath('/var/svn/%s' % name2))
186195
env.config.save()
187196
go_to_repository_admin()
188197
add_repository(name2)
@@ -204,7 +213,8 @@ def runTest(self):
204213
target = '%s_repos' % word
205214
name = '%s_alias' % word
206215
tc.formvalue('trac-addrepos', 'name', target)
207-
tc.formvalue('trac-addrepos', 'dir', '/var/svn/%s' % target)
216+
tc.formvalue('trac-addrepos', 'dir',
217+
os.path.abspath('/var/svn/%s' % target))
208218
tc.submit()
209219
# Jinja2 tc.find('The repository &#34;%s&#34; has been added.' % target)
210220
tc.find('The repository "%s" has been added.' % target)
@@ -249,12 +259,14 @@ def runTest(self):
249259
word = random_word()
250260
names = ['%s_%d' % (word, n) for n in range(3)]
251261
tc.formvalue('trac-addrepos', 'name', names[0])
252-
tc.formvalue('trac-addrepos', 'dir', '/var/svn/%s' % names[0])
262+
tc.formvalue('trac-addrepos', 'dir',
263+
os.path.abspath('/var/svn/%s' % names[0]))
253264
tc.submit()
254265
tc.notfind(internal_error)
255266

256267
tc.formvalue('trac-addrepos', 'name', names[1])
257-
tc.formvalue('trac-addrepos', 'dir', '/var/svn/%s' % names[1])
268+
tc.formvalue('trac-addrepos', 'dir',
269+
os.path.abspath('/var/svn/%s' % names[1]))
258270
tc.submit()
259271
tc.notfind(internal_error)
260272

trac/versioncontrol/web_ui/tests/browser.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# history and logs, available at https://trac.edgewall.org/.
1313

1414
import io
15+
import os.path
1516
import posixpath
1617
import unittest
1718
import zipfile
@@ -142,11 +143,12 @@ class BrowserModulePermissionsTestCase(RequestHandlerPermissionsTestCaseBase):
142143

143144
def setUp(self):
144145
super().setUp(BrowserModule)
146+
repodir = os.path.abspath('/')
145147
provider = DbRepositoryProvider(self.env)
146-
provider.add_repository('(default)', '/', 'mock')
147-
provider.add_repository('allow', '/', 'mock')
148-
provider.add_repository('deny', '/', 'mock')
149-
provider.add_repository('raise', '/', 'mock')
148+
provider.add_repository('(default)', repodir, 'mock')
149+
provider.add_repository('allow', repodir, 'mock')
150+
provider.add_repository('deny', repodir, 'mock')
151+
provider.add_repository('raise', repodir, 'mock')
150152

151153
def tearDown(self):
152154
RepositoryManager(self.env).reload_repositories()
@@ -283,8 +285,9 @@ def test_node_with_file_view(self):
283285
self.assertEqual('', e.resource.parent.id)
284286

285287
def test_node_with_blame_view(self):
288+
repodir = os.path.abspath('/')
286289
provider = DbRepositoryProvider(self.env)
287-
provider.add_repository('metachars-&<>"\'-', '/', 'mock')
290+
provider.add_repository('metachars-&<>"\'-', repodir, 'mock')
288291
self.grant_perm('anonymous', 'BROWSER_VIEW', 'FILE_VIEW')
289292

290293
req = MockRequest(self.env, authname='anonymous',

trac/versioncontrol/web_ui/tests/log.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# history and logs, available at https://trac.edgewall.org/.
1313

1414
from datetime import datetime, timedelta
15+
import os.path
1516
import unittest
1617

1718
from trac.core import Component, TracError, implements
@@ -173,8 +174,9 @@ class LogModuleTestCase(RequestHandlerPermissionsTestCaseBase):
173174
def setUp(self):
174175
self._super = super()
175176
self._super.setUp(LogModule)
177+
repodir = os.path.abspath('/')
176178
provider = DbRepositoryProvider(self.env)
177-
provider.add_repository('mock', '/', mock_repotype)
179+
provider.add_repository('mock', repodir, mock_repotype)
178180

179181
def test_default_repository_not_configured(self):
180182
"""Test for regression of https://trac.edgewall.org/ticket/11599."""

0 commit comments

Comments
 (0)