Show More
@@ -49,7 +49,10 b' def load_environment(global_conf, app_co' | |||
|
49 | 49 | |
|
50 | 50 | #sets the c attribute access when don't existing attribute are accessed |
|
51 | 51 | config['pylons.strict_tmpl_context'] = True |
|
52 |
test = os.path.split(config['__file__'])[-1] == 'test |
|
|
52 | test = os.path.split(config['__file__'])[-1] == 'test.ini' | |
|
53 | if test: | |
|
54 | from pylons_app.lib.utils import make_test_env | |
|
55 | make_test_env() | |
|
53 | 56 | #MULTIPLE DB configs |
|
54 | 57 | # Setup the SQLAlchemy database engine |
|
55 | 58 | if config['debug'] and not test: |
@@ -106,7 +106,7 b' class SettingsController(BaseController)' | |||
|
106 | 106 | if setting_id == 'whoosh': |
|
107 | 107 | repo_location = get_hg_ui_settings()['paths_root_path'] |
|
108 | 108 | full_index = request.POST.get('full_index',False) |
|
109 |
task = run_task(tasks.whoosh_index, |
|
|
109 | task = run_task(tasks.whoosh_index,repo_location,full_index) | |
|
110 | 110 | |
|
111 | 111 | h.flash(_('Whoosh reindex task scheduled'), category='success') |
|
112 | 112 | if setting_id == 'global': |
@@ -61,7 +61,7 b' class SummaryController(BaseController):' | |||
|
61 | 61 | for name, hash in c.repo_info.branches.items()[:10]: |
|
62 | 62 | c.repo_branches[name] = c.repo_info.get_changeset(hash) |
|
63 | 63 | |
|
64 |
task = run_task(get_commits_stats, |
|
|
64 | task = run_task(get_commits_stats,c.repo_info.name) | |
|
65 | 65 | c.ts_min = task.result[0] |
|
66 | 66 | c.ts_max = task.result[1] |
|
67 | 67 | c.commit_data = task.result[2] |
@@ -16,6 +16,7 b'' | |||
|
16 | 16 | # along with this program; if not, write to the Free Software |
|
17 | 17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
18 | 18 | # MA 02110-1301, USA. |
|
19 | import shutil | |
|
19 | 20 | |
|
20 | 21 | """ |
|
21 | 22 | Created on April 18, 2010 |
@@ -31,6 +32,8 b' from vcs.backends.base import BaseChange' | |||
|
31 | 32 | from vcs.utils.lazy import LazyProperty |
|
32 | 33 | import logging |
|
33 | 34 | import os |
|
35 | from os.path import dirname as dn, join as jn | |
|
36 | import tarfile | |
|
34 | 37 | log = logging.getLogger(__name__) |
|
35 | 38 | |
|
36 | 39 | |
@@ -362,3 +365,68 b' class OrderedDict(dict, DictMixin):' | |||
|
362 | 365 | |
|
363 | 366 | def __ne__(self, other): |
|
364 | 367 | return not self == other |
|
368 | ||
|
369 | def make_test_env(): | |
|
370 | """Makes a fresh database from base64+zlib dump and | |
|
371 | install test repository into tmp dir | |
|
372 | """ | |
|
373 | new_db_dump = """ | |
|
374 | eJztXN1vE8sVn9nxR+wAIXDpFiiXjSAXfEOc2ElwQkVLPjYf5NNOAklUydrYG3tv1t5ldx0nuUJV\noL | |
|
375 | cPrVr1X7jSfUJ96nMfK1Xty23VqlWlPlRIlahUXbXqFUL0pTNjx5614xAoKEDmJ3t2zpkzM2fO\neHe+ | |
|
376 | zno+PqU5qrRmWDnFkXqAB0AIbkkSAKANf8+BKprwFzI0G28ECXQ+PufFEYT+Tehz6L/oaSnK\nwcFxGP | |
|
377 | igFQfHjuMg4CehH7UA9Af0Y2ShWdSPLmOSg+N9x7U9eKf9PiC2nIWm4mTtri4nZ3Z9DE/5\nfOD0+RZY | |
|
378 | VFdXFVstWHoXPOPFvDbKU3TdKCbNgp39GLZ5MPtKW5WtWKmstqFmtqVtzZRWt6NQRFjk\ngkhESJ6kbe | |
|
379 | trim6rcFTAdcfuwqxhrNuprJLPqBnLKJhhSzWNpK1tq+aWkzXyN8wt3cjbScU0w7q2\nGqbyVSHYAXE5 | |
|
380 | kSv15RTMtOKo2YxUikjf+SgKg4Dc/38C6Dn6Gn2FnqDH6K+Y5ODgeGfhRRD6/ST0\n+Ujo9ZLQ4yEhQi | |
|
381 | QUBBJCeFy4BLywHaCfCEXM+AJHOWpx39sMrux4IbzQ3gMc1XaSlpop6IoVvRxV\nLke6L4/cmx7vjedG | |
|
382 | 4qmVmXvTW5nl7PDaSmFEXR6ejC+YVrpnsNi1fn17fHldj06p6YH84tzaGKBF\n5ZWcSq66Uorn8Iih5W | |
|
383 | /ZBolqejhl5O57mkEPqf6sOFCq3lRsu2hYaayHrTplJeJD/Uu3p7u3Er19\nS4sb26PmemQiE54vLKfn | |
|
384 | I8Wx2/Nd+XurmbH4TOpupHdk25I/sYbmCgDQstK0oHLdpWGmc1U3MqR6\nbICF123RHb/QDNpIm1rFnk | |
|
385 | HaJiWd0/Llpgzq41lzIJMrjMXi2/JmdyGxMDKnjs1FR9WMcduMb3TZ\nfZuZTXVs1uiS53NxY9yan4Vw | |
|
386 | PDNICqEl3dKNlKJnDdshbYh2R7o7uwc6I1EpGr3RHbvREwn3D/T3\nd/fuBFAzaHdpUu7csi6Tw4ou94 | |
|
387 | zOLt3JxTNZo7g8muvV1Lg6sNj/SX4dD7srqenpfCJ6d3g5vKRM\njq/Ob3VHIXgJXaKx8PWBvoHrvfdg | |
|
388 | MzhPVDl/vgek1TWloO927tbUdsqeNzfurK5Frq+v5NbHZ1bG\nCnZxdnxxbGStmOudnwub6+rQYNxZku | |
|
389 | Wh28Ph9Nos2C3EfblVvhJlyPjvRY+Z8f91dzUHB8fhYf/x\nv3T/PwL47v87+iX6I45ycHC8dWhFV6Br | |
|
390 | 7ukVUQ/cYzroOYnaXZLoBGqD1TmW0IzOw/IUAJL9v6Dg\nA+jP6Ofo+yiBelFA+IvwC2EFMzmOCBJBD/ | |
|
391 | huMZsJ41+MZjuqFVYKjpFUUo62oThqosyV8mpRKtg4\nUtScrJTNdCqmSeNGwZFIFqmcRTPydwIeMPwp | |
|
392 | W2ZOyRcU/SVLLWViym1v8oDOLrbcvJGvFpbWbGVV\nV9NhvweEZCyWslRcWVnINGzNMawtiXJxaRX5kM | |
|
393 | 8D+rqq8lZFtjaX+i2vB1zoxKL0dhrPSHSmj6u3\nFCzV4cH6fbuavSTFFEJp3KCUatsdqEa4aGkOqyel | |
|
394 | y8IhwQM6BhhhrE2akSVkWfQKxKJ9jGhN8/NG\nWZCM/0H0q5r9P/Q79FvM5ODgeOtBZvLBIAkDARI2Nb | |
|
395 | 3E/h/O7wdDAAzBj+Cy8IXwpfAc/eZlat9R\noF+8eBE+bHXIgzSbIQcTyYJWiQjDCXlwQZYWBoemZKnC | |
|
396 | lq4GAwUtqaWliZkFeUxOSDOzC9LM4tTU\nNYmm2GqKPqEX5KWFMmtd3WLJDUUvqCyDjhKqNDQ7OyUPzh | |
|
397 | DmXGJiejCxLE3Ky9JVWl2IsBdnJuKL\nMssZHpeHJymjXMjEjHS1+5oUCYWCoYjgE+WLEGj5tLpp39Px | |
|
398 | MzlJhjtKJytNSkYqUfRgHPlFUYQ/\nMKhZyPhm08DjMgdlUVPgSENj4DSyN1hp6u6Er8Kob3hplGEYrg | |
|
399 | J2dxsrDLrZ6EpO6kYGlzCCdV2Y\nmJbrjVlS2G1Ohlc2aJ012TSqozuJLYpoiK0f8vjEm2Ij61MLJiP0 | |
|
400 | 4g15XywapRffzpTPL166BB8k\naQeZqpXTbBv/4Gwm6nd1FpNAuqxKNuo4RsLdf1W+buQzrjSXkV1VuO | |
|
401 | zjTgmG+vw+ceJSo5Yzmicj\nDNFE7n8BfQnQ33DAwcHxLqMFLxHEs47mkIGYrKM+xAsBMYZXBnquvLDC | |
|
402 | D4Wsmne0FF3/kPm/gL6m\n8//DVp6Dg+PNo3b+7wOPAHgEH8F/CFfRT9GvD1u/vbFzv8kvdnTAhxF2nW | |
|
403 | GrjqPlM3YNGdxrzbGb\nSOZuLN1o9uaScc3RXCnuVYhr+lZTi2sCd+C08iz4ZsAnxjtesAapZIrUMJpv | |
|
404 | Bl8me7SGcfxBqtkv\ntrfDzwLU+pWdJU212fgJl93ZFGJ06qPWwNg0rWLkuuVPwxm2RfcS2YVOWrVTlm | |
|
405 | a61o6uXimr4bJ4\npfp67r6So7MJeWJshhRcWf1ICXlUTsgzw/L87vpuj4XRrubsOjN2zCdOtjfqJNac | |
|
406 | yQhLtcSOHzhj\nlKVOlsb/fwL0FAccHBzvLQJIhHRpIJAYXRPQ8R+i3wP84eDgeNfRCX3gAoRjGyk7Sc | |
|
407 | 78BUDPZdlJ\n0ZphSbvJZPyH6D8Afzg4ON5/HEMX4O7tD0v3/3OAPxwcHEcG1f0/hJ4A9Az9C184ODje | |
|
408 | Q/gQ+WcP\nKPgEevX5IL0GyPiP0Fdl/7/D1pKDg+PNYe/3f+j4/wSP/88OWz8ODo43Ab+H3O0CKl19Qu | |
|
409 | kaoPN/\nD/gcgM+FD4W7ws8OW886PNg+UTp4jlX8aJOOQR0a2XhrnVftbkrFubZM7+dkewA/zgYS9a6x | |
|
410 | 1erq\nXWRr0thDZLdfJ3uU7PI+rXcMfYWT6Bq33WtSrVNprGW/Y2VXUyIsdSp28sAZoyx1+kGulXqTfx | |
|
411 | aq\ndrduZOxK5Ex9RxN2pZcx8So9XEozKw4D1Vdn6v0RFLdfeolM0r/U2d9buqRbvekZ/iv0IpulqrYr | |
|
412 | \nl9sRo+rBEAyR+x8/ADg4OI4gyPyf3/8cHEcTJf+fpwB/ODg4jgSaoBfQ/QB+/s/BcSRR3f+H6Bng\n | |
|
413 | e/8cHEcHpf1/CI+jHwEP3AToLtx8e9/9e//w8Hun6bHGDz+tvE+3uwfOxsW69+nYYw2WfjPHGtX9\n5A | |
|
414 | MdfNQo9P+eS7youNdyVuJq4ot2zRsdnLgLCYYip/b7w5jKqUX51IREv4F/FJ7YBy96ja963sJS\n34yd | |
|
415 | OXDGKEud/R8efZUt\n | |
|
416 | """ | |
|
417 | newdb = open('test.db','wb') | |
|
418 | newdb.write(new_db_dump.decode('base64').decode('zlib')) | |
|
419 | newdb.close() | |
|
420 | ||
|
421 | ||
|
422 | #PART TWO make test repo | |
|
423 | if os.path.isdir('/tmp/vcs_test'): | |
|
424 | shutil.rmtree('/tmp/vcs_test') | |
|
425 | ||
|
426 | cur_dir = dn(dn(os.path.abspath(__file__))) | |
|
427 | tar = tarfile.open(jn(cur_dir,'tests',"vcs_test.tar.gz")) | |
|
428 | tar.extractall('/tmp') | |
|
429 | tar.close() | |
|
430 | ||
|
431 | ||
|
432 | No newline at end of file |
@@ -1,15 +1,8 b'' | |||
|
1 | 1 | """The application's model objects""" |
|
2 | 2 | import logging |
|
3 | import sqlalchemy as sa | |
|
4 | from sqlalchemy import orm | |
|
5 | 3 | from pylons_app.model import meta |
|
6 | from pylons_app.model.meta import Session | |
|
7 | 4 | log = logging.getLogger(__name__) |
|
8 | 5 | |
|
9 | # Add these two imports: | |
|
10 | import datetime | |
|
11 | from sqlalchemy import schema, types | |
|
12 | ||
|
13 | 6 | def init_model(engine): |
|
14 | 7 | """Call me before using any of the tables or classes in the model""" |
|
15 | 8 | log.info("INITIALIZING DB MODELS") |
@@ -26,7 +26,7 b' class HgAppUi(Base):' | |||
|
26 | 26 | |
|
27 | 27 | class User(Base): |
|
28 | 28 | __tablename__ = 'users' |
|
29 | __table_args__ = (UniqueConstraint('username'), {'useexisting':True}) | |
|
29 | __table_args__ = (UniqueConstraint('username'), UniqueConstraint('email'), {'useexisting':True}) | |
|
30 | 30 | user_id = Column("user_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) |
|
31 | 31 | username = Column("username", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
|
32 | 32 | password = Column("password", TEXT(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
@@ -56,7 +56,7 b' class User(Base):' | |||
|
56 | 56 | self.last_login = datetime.datetime.now() |
|
57 | 57 | session.add(self) |
|
58 | 58 | session.commit() |
|
59 | log.debug('updated user %s lastlogin',self.username) | |
|
59 | log.debug('updated user %s lastlogin', self.username) | |
|
60 | 60 | except Exception: |
|
61 | 61 | session.rollback() |
|
62 | 62 |
@@ -102,7 +102,7 b' class HgModel(object):' | |||
|
102 | 102 | if repos_path[0] != '/': |
|
103 | 103 | repos_path[0] = '/' |
|
104 | 104 | if not os.path.isdir(os.path.join(*repos_path)): |
|
105 |
raise RepositoryError('Not a valid repository in %s' % path |
|
|
105 | raise RepositoryError('Not a valid repository in %s' % path) | |
|
106 | 106 | if not repos_path.endswith('*'): |
|
107 | 107 | raise VCSError('You need to specify * or ** at the end of path ' |
|
108 | 108 | 'for recursive scanning') |
@@ -16,12 +16,15 b' from routes.util import URLGenerator' | |||
|
16 | 16 | from webtest import TestApp |
|
17 | 17 | import os |
|
18 | 18 | from pylons_app.model import meta |
|
19 | import logging | |
|
20 | log = logging.getLogger(__name__) | |
|
21 | ||
|
19 | 22 | import pylons.test |
|
20 | 23 | |
|
21 | 24 | __all__ = ['environ', 'url', 'TestController'] |
|
22 | 25 | |
|
23 | 26 | # Invoke websetup with the current config file |
|
24 | SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']]) | |
|
27 | #SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']]) | |
|
25 | 28 | |
|
26 | 29 | environ = {} |
|
27 | 30 | |
@@ -42,4 +45,5 b' class TestController(TestCase):' | |||
|
42 | 45 | 'password':'test'}) |
|
43 | 46 | assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status |
|
44 | 47 | assert response.session['hg_app_user'].username == 'test_admin', 'wrong logged in user' |
|
45 |
return response.follow() |
|
|
48 | return response.follow() | |
|
49 | No newline at end of file |
@@ -3,5 +3,7 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestAdminController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='admin/admin', action='index')) |
|
8 | assert 'Admin dashboard - journal' in response.body,'No proper title in dashboard' | |
|
7 | 9 | # Test response... |
@@ -3,5 +3,6 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestBranchesController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='branches', action='index',repo_name='vcs_test')) |
|
7 | 8 | # Test response... |
@@ -3,5 +3,6 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestChangelogController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='changelog', action='index',repo_name='vcs_test')) |
|
7 | 8 | # Test response... |
@@ -3,11 +3,13 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestFeedController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_rss(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='feed', action='rss', |
|
7 | 8 | repo_name='vcs_test')) |
|
8 | 9 | # Test response... |
|
9 | 10 | |
|
10 | 11 | def test_atom(self): |
|
12 | self.log_user() | |
|
11 | 13 | response = self.app.get(url(controller='feed', action='atom', |
|
12 | 14 | repo_name='vcs_test')) |
|
13 | 15 | # Test response... No newline at end of file |
@@ -3,6 +3,7 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestFilesController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='files', action='index', |
|
7 | 8 | repo_name='vcs_test', |
|
8 | 9 | revision='tip', |
@@ -82,9 +82,9 b' class TestLoginController(TestController' | |||
|
82 | 82 | |
|
83 | 83 | |
|
84 | 84 | def test_register_ok(self): |
|
85 |
username = 'test_regular |
|
|
85 | username = 'test_regular4' | |
|
86 | 86 | password = 'qweqwe' |
|
87 |
email = ' |
|
|
87 | email = 'marcin@somemail.com' | |
|
88 | 88 | name = 'testname' |
|
89 | 89 | lastname = 'testlastname' |
|
90 | 90 | |
@@ -94,10 +94,11 b' class TestLoginController(TestController' | |||
|
94 | 94 | 'email':email, |
|
95 | 95 | 'name':name, |
|
96 | 96 | 'lastname':lastname}) |
|
97 | ||
|
97 | print response.body | |
|
98 | 98 | assert response.status == '302 Found', 'Wrong response from register page got %s' % response.status |
|
99 | assert 'You have successfully registered into hg-app' in response.session['flash'][0], 'No flash message about user registration' | |
|
99 | 100 | |
|
100 |
ret = self.sa.query(User).filter(User.username == 'test_regular |
|
|
101 | ret = self.sa.query(User).filter(User.username == 'test_regular4').one() | |
|
101 | 102 | assert ret.username == username , 'field mismatch %s %s' % (ret.username, username) |
|
102 | 103 | assert check_password(password,ret.password) == True , 'password mismatch' |
|
103 | 104 | assert ret.email == email , 'field mismatch %s %s' % (ret.email, email) |
@@ -105,7 +106,34 b' class TestLoginController(TestController' | |||
|
105 | 106 | assert ret.lastname == lastname , 'field mismatch %s %s' % (ret.lastname, lastname) |
|
106 | 107 | |
|
107 | 108 | |
|
109 | def test_forgot_password_wrong_mail(self): | |
|
110 | response = self.app.post(url(controller='login', action='password_reset'), | |
|
111 | {'email':'marcin@wrongmail.org',}) | |
|
112 | ||
|
113 | assert "That e-mail address doesn't exist" in response.body,'Missing error message about wrong email' | |
|
114 | ||
|
115 | def test_forgot_password(self): | |
|
116 | response = self.app.get(url(controller='login', action='password_reset')) | |
|
117 | assert response.status == '200 OK', 'Wrong response from login page got %s' % response.status | |
|
118 | ||
|
119 | username = 'test_password_reset_1' | |
|
120 | password = 'qweqwe' | |
|
121 | email = 'marcin@python-works.com' | |
|
122 | name = 'passwd' | |
|
123 | lastname = 'reset' | |
|
124 | ||
|
125 | response = self.app.post(url(controller='login', action='register'), | |
|
126 | {'username':username, | |
|
127 | 'password':password, | |
|
128 | 'email':email, | |
|
129 | 'name':name, | |
|
130 | 'lastname':lastname}) | |
|
131 | #register new user for email test | |
|
132 | response = self.app.post(url(controller='login', action='password_reset'), | |
|
133 | {'email':email,}) | |
|
134 | print response.session['flash'] | |
|
135 | assert 'You have successfully registered into hg-app' in response.session['flash'][0], 'No flash message about user registration' | |
|
136 | assert 'Your new password was sent' in response.session['flash'][1], 'No flash message about password reset' | |
|
108 | 137 | |
|
109 | 138 | |
|
110 | 139 | |
|
111 |
@@ -3,6 +3,7 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestSettingsController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='settings', action='index', |
|
7 | 8 | repo_name='vcs_test')) |
|
8 | 9 | # Test response... |
@@ -3,5 +3,6 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestShortlogController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='shortlog', action='index',repo_name='vcs_test')) |
|
7 | 8 | # Test response... |
@@ -3,5 +3,6 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestSummaryController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='summary', action='index',repo_name='vcs_test')) |
|
7 | 8 | # Test response... |
@@ -3,5 +3,6 b' from pylons_app.tests import *' | |||
|
3 | 3 | class TestTagsController(TestController): |
|
4 | 4 | |
|
5 | 5 | def test_index(self): |
|
6 | self.log_user() | |
|
6 | 7 | response = self.app.get(url(controller='tags', action='index',repo_name='vcs_test')) |
|
7 | 8 | # Test response... |
@@ -1,40 +1,38 b'' | |||
|
1 | 1 | """Setup the pylons_app application""" |
|
2 | 2 | |
|
3 |
from os.path import dirname as dn |
|
|
3 | from os.path import dirname as dn | |
|
4 | 4 | from pylons_app.config.environment import load_environment |
|
5 | 5 | from pylons_app.lib.db_manage import DbManage |
|
6 | import datetime | |
|
7 | from time import mktime | |
|
8 | 6 | import logging |
|
9 | 7 | import os |
|
10 | 8 | import sys |
|
11 | import tarfile | |
|
12 | 9 | |
|
13 | 10 | log = logging.getLogger(__name__) |
|
14 | 11 | |
|
15 | 12 | ROOT = dn(dn(os.path.realpath(__file__))) |
|
16 | 13 | sys.path.append(ROOT) |
|
17 | 14 | |
|
15 | ||
|
18 | 16 | def setup_app(command, conf, vars): |
|
19 | 17 | """Place any commands to setup pylons_app here""" |
|
20 | 18 | log_sql = True |
|
21 | 19 | tests = False |
|
20 | REPO_TEST_PATH = None | |
|
22 | 21 | |
|
23 | 22 | dbname = os.path.split(conf['sqlalchemy.db1.url'])[-1] |
|
24 | filename = os.path.split(conf.filename)[-1] | |
|
25 | ||
|
26 | if filename == 'tests.ini': | |
|
27 | uniq_suffix = str(int(mktime(datetime.datetime.now().timetuple()))) | |
|
28 | REPO_TEST_PATH = '/tmp/hg_app_test_%s' % uniq_suffix | |
|
29 | ||
|
30 |
|
|
|
31 | os.mkdir(REPO_TEST_PATH) | |
|
32 | cur_dir = dn(os.path.abspath(__file__)) | |
|
33 | tar = tarfile.open(jn(cur_dir,'tests',"vcs_test.tar.gz")) | |
|
34 | tar.extractall(REPO_TEST_PATH) | |
|
35 |
|
|
|
36 | ||
|
37 | tests = True | |
|
23 | # filename = os.path.split(conf.filename)[-1] | |
|
24 | # if filename == 'test.ini': | |
|
25 | # uniq_suffix = str(int(mktime(datetime.datetime.now().timetuple()))) | |
|
26 | # REPO_TEST_PATH = '/tmp/hg_app_test_%s' % uniq_suffix | |
|
27 | # | |
|
28 | # if not os.path.isdir(REPO_TEST_PATH): | |
|
29 | # os.mkdir(REPO_TEST_PATH) | |
|
30 | # cur_dir = dn(os.path.abspath(__file__)) | |
|
31 | # tar = tarfile.open(jn(cur_dir,'tests',"vcs_test.tar.gz")) | |
|
32 | # tar.extractall(REPO_TEST_PATH) | |
|
33 | # tar.close() | |
|
34 | # | |
|
35 | # tests = True | |
|
38 | 36 | |
|
39 | 37 | dbmanage = DbManage(log_sql, dbname, tests) |
|
40 | 38 | dbmanage.create_tables(override=True) |
@@ -8,7 +8,7 b' find_links = http://www.pylonshq.com/dow' | |||
|
8 | 8 | [nosetests] |
|
9 | 9 | verbose=True |
|
10 | 10 | verbosity=2 |
|
11 |
with-pylons=test |
|
|
11 | with-pylons=test.ini | |
|
12 | 12 | detailed-errors=1 |
|
13 | 13 | |
|
14 | 14 | # Babel configuration |
|
1 | NO CONTENT: file renamed from tests.ini to test.ini |
General Comments 0
You need to be logged in to leave comments.
Login now