##// END OF EJS Templates
core: use py3 compatible prints
marcink -
r3057:26663955 default
parent child Browse files
Show More
@@ -89,7 +89,6 b' class TestUpdatePullRequest(object):'
89 pr_util.update_source_repository(head='c')
89 pr_util.update_source_repository(head='c')
90 repo = pull_request.source_repo.scm_instance()
90 repo = pull_request.source_repo.scm_instance()
91 commits = [x for x in repo.get_commits()]
91 commits = [x for x in repo.get_commits()]
92 print commits
93
92
94 added_commit_id = commits[-1].raw_id # c commit
93 added_commit_id = commits[-1].raw_id # c commit
95 common_commit_id = commits[1].raw_id # b commit is common ancestor
94 common_commit_id = commits[1].raw_id # b commit is common ancestor
@@ -13,12 +13,12 b' log = logging.getLogger(__name__)'
13
13
14 def usage():
14 def usage():
15 """Gives usage information."""
15 """Gives usage information."""
16 print """Usage: %(prog)s repository-to-migrate
16 print("""Usage: %(prog)s repository-to-migrate
17
17
18 Upgrade your repository to the new flat format.
18 Upgrade your repository to the new flat format.
19
19
20 NOTE: You should probably make a backup before running this.
20 NOTE: You should probably make a backup before running this.
21 """ % {'prog': sys.argv[0]}
21 """ % {'prog': sys.argv[0]})
22
22
23 sys.exit(1)
23 sys.exit(1)
24
24
@@ -33,7 +33,7 b' def upgrade(migrate_engine):'
33 old_cons = UniqueConstraint('user_id', 'repository_id', table=tbl)
33 old_cons = UniqueConstraint('user_id', 'repository_id', table=tbl)
34 else:
34 else:
35 # sqlite doesn't support dropping constraints...
35 # sqlite doesn't support dropping constraints...
36 print """Please manually drop UniqueConstraint('user_id', 'repository_id')"""
36 print("""Please manually drop UniqueConstraint('user_id', 'repository_id')""")
37
37
38 if old_cons:
38 if old_cons:
39 try:
39 try:
@@ -41,7 +41,7 b' def upgrade(migrate_engine):'
41 except Exception as e:
41 except Exception as e:
42 # we don't care if this fails really... better to pass migration than
42 # we don't care if this fails really... better to pass migration than
43 # leave this in intermidiate state
43 # leave this in intermidiate state
44 print 'Failed to remove Unique for user_id, repository_id reason %s' % e
44 print('Failed to remove Unique for user_id, repository_id reason %s' % e)
45
45
46
46
47 #==========================================================================
47 #==========================================================================
@@ -61,7 +61,7 b' def upgrade(migrate_engine):'
61 old_cons = UniqueConstraint('group_id', 'permission_id', table=tbl, name='group_to_perm_group_id_permission_id_key')
61 old_cons = UniqueConstraint('group_id', 'permission_id', table=tbl, name='group_to_perm_group_id_permission_id_key')
62 else:
62 else:
63 # sqlite doesn't support dropping constraints...
63 # sqlite doesn't support dropping constraints...
64 print """Please manually drop UniqueConstraint('group_id', 'permission_id')"""
64 print("""Please manually drop UniqueConstraint('group_id', 'permission_id')""")
65
65
66 if old_cons:
66 if old_cons:
67 try:
67 try:
@@ -69,7 +69,7 b' def upgrade(migrate_engine):'
69 except Exception as e:
69 except Exception as e:
70 # we don't care if this fails really... better to pass migration than
70 # we don't care if this fails really... better to pass migration than
71 # leave this in intermidiate state
71 # leave this in intermidiate state
72 print 'Failed to remove Unique for user_id, repository_id reason %s' % e
72 print('Failed to remove Unique for user_id, repository_id reason %s' % e)
73
73
74 return
74 return
75
75
@@ -80,7 +80,7 b' def fixups(models, _SESSION):'
80 new_perm = models.Permission()
80 new_perm = models.Permission()
81 new_perm.permission_name = p[0]
81 new_perm.permission_name = p[0]
82 new_perm.permission_longname = p[0] #translation err with p[1]
82 new_perm.permission_longname = p[0] #translation err with p[1]
83 print 'Creating new permission %s' % p[0]
83 print('Creating new permission %s' % p[0])
84 _SESSION().add(new_perm)
84 _SESSION().add(new_perm)
85
85
86 _SESSION().commit()
86 _SESSION().commit()
@@ -44,6 +44,6 b' def fixups(models, _SESSION):'
44 notify('Upgrading repositories Caches')
44 notify('Upgrading repositories Caches')
45 repositories = models.Repository.getAll()
45 repositories = models.Repository.getAll()
46 for repo in repositories:
46 for repo in repositories:
47 print repo
47 print(repo)
48 repo.update_commit_cache()
48 repo.update_commit_cache()
49 _SESSION().commit()
49 _SESSION().commit()
@@ -73,7 +73,7 b' def fixups(models, _SESSION):'
73 repo_store_path = get_repos_location(models.RhodeCodeUi)
73 repo_store_path = get_repos_location(models.RhodeCodeUi)
74 _store = os.path.join(repo_store_path, '.cache', 'largefiles')
74 _store = os.path.join(repo_store_path, '.cache', 'largefiles')
75 notify('Setting largefiles usercache')
75 notify('Setting largefiles usercache')
76 print _store
76 print(_store)
77
77
78 if not models.RhodeCodeUi.query().filter(
78 if not models.RhodeCodeUi.query().filter(
79 models.RhodeCodeUi.ui_key == 'usercache').scalar():
79 models.RhodeCodeUi.ui_key == 'usercache').scalar():
@@ -39,7 +39,7 b' def fixups(models, _SESSION):'
39 notify('fixing new schema for landing_rev')
39 notify('fixing new schema for landing_rev')
40
40
41 for repo in models.Repository.get_all():
41 for repo in models.Repository.get_all():
42 print u'repo %s old landing rev is: %s' % (repo, repo.landing_rev)
42 print(u'repo %s old landing rev is: %s' % (repo, repo.landing_rev))
43 _rev = repo.landing_rev[1]
43 _rev = repo.landing_rev[1]
44 _rev_type = 'rev' # default
44 _rev_type = 'rev' # default
45
45
@@ -58,13 +58,13 b' def fixups(models, _SESSION):'
58 elif _rev in known_bookmarks:
58 elif _rev in known_bookmarks:
59 _rev_type = 'book'
59 _rev_type = 'book'
60 except Exception as e:
60 except Exception as e:
61 print e
61 print(e)
62 print 'continue...'
62 print('continue...')
63 #we don't want any error to break the process
63 #we don't want any error to break the process
64 pass
64 pass
65
65
66 _new_landing_rev = '%s:%s' % (_rev_type, _rev)
66 _new_landing_rev = '%s:%s' % (_rev_type, _rev)
67 print u'setting to %s' % _new_landing_rev
67 print(u'setting to %s' % _new_landing_rev)
68 repo.landing_rev = _new_landing_rev
68 repo.landing_rev = _new_landing_rev
69 _SESSION().add(repo)
69 _SESSION().add(repo)
70 _SESSION().commit()
70 _SESSION().commit()
@@ -47,7 +47,7 b' def fixups(models, _SESSION):'
47 new_perm = models.Permission()
47 new_perm = models.Permission()
48 new_perm.permission_name = p[0]
48 new_perm.permission_name = p[0]
49 new_perm.permission_longname = p[0] #translation err with p[1]
49 new_perm.permission_longname = p[0] #translation err with p[1]
50 print 'Creating new permission %s' % p[0]
50 print('Creating new permission %s' % p[0])
51 _SESSION().add(new_perm)
51 _SESSION().add(new_perm)
52
52
53 _SESSION().commit()
53 _SESSION().commit()
@@ -60,6 +60,6 b' def fixups(models, _SESSION):'
60 new = models.UserToPerm()
60 new = models.UserToPerm()
61 new.user = user
61 new.user = user
62 new.permission = get_by_key(models.Permission, _def)
62 new.permission = get_by_key(models.Permission, _def)
63 print 'Setting default to %s' % _def
63 print('Setting default to %s' % _def)
64 _SESSION().add(new)
64 _SESSION().add(new)
65 _SESSION().commit()
65 _SESSION().commit()
@@ -38,7 +38,7 b' def downgrade(migrate_engine):'
38 def fixups(models, _SESSION):
38 def fixups(models, _SESSION):
39 notify('Setting default renderer to rst')
39 notify('Setting default renderer to rst')
40 for cs_comment in models.ChangesetComment.get_all():
40 for cs_comment in models.ChangesetComment.get_all():
41 print 'comment_id %s renderer rst' % (cs_comment.comment_id)
41 print('comment_id %s renderer rst' % (cs_comment.comment_id))
42 cs_comment.renderer = 'rst'
42 cs_comment.renderer = 'rst'
43 _SESSION().add(cs_comment)
43 _SESSION().add(cs_comment)
44 _SESSION().commit()
44 _SESSION().commit()
@@ -59,7 +59,7 b' class DaemonLock(object):'
59 def _on_finalize(lock, debug):
59 def _on_finalize(lock, debug):
60 if lock.held:
60 if lock.held:
61 if debug:
61 if debug:
62 print 'leck held finilazing and running lock.release()'
62 print('leck held finilazing and running lock.release()')
63 lock.release()
63 lock.release()
64
64
65 def lock(self):
65 def lock(self):
@@ -69,7 +69,7 b' class DaemonLock(object):'
69 """
69 """
70 lockname = '%s' % (os.getpid())
70 lockname = '%s' % (os.getpid())
71 if self.debug:
71 if self.debug:
72 print 'running lock'
72 print('running lock')
73 self.trylock()
73 self.trylock()
74 self.makelock(lockname, self.pidfile)
74 self.makelock(lockname, self.pidfile)
75 return True
75 return True
@@ -77,7 +77,7 b' class DaemonLock(object):'
77 def trylock(self):
77 def trylock(self):
78 running_pid = False
78 running_pid = False
79 if self.debug:
79 if self.debug:
80 print 'checking for already running process'
80 print('checking for already running process')
81 try:
81 try:
82 with open(self.pidfile, 'r') as f:
82 with open(self.pidfile, 'r') as f:
83 try:
83 try:
@@ -97,13 +97,13 b' class DaemonLock(object):'
97 if exc.errno in (errno.ESRCH, errno.EPERM):
97 if exc.errno in (errno.ESRCH, errno.EPERM):
98 print ("Lock File is there but"
98 print("Lock File is there but"
99 " the program is not running")
99 " the program is not running")
100 print "Removing lock file for the: %s" % running_pid
100 print("Removing lock file for the: %s" % running_pid)
101 self.release()
101 self.release()
102 else:
102 else:
103 raise
103 raise
104 else:
104 else:
105 print "You already have an instance of the program running"
105 print("You already have an instance of the program running")
106 print "It is running as process %s" % running_pid
106 print("It is running as process %s" % running_pid)
107 raise LockHeld()
107 raise LockHeld()
108
108
109 except IOError as e:
109 except IOError as e:
@@ -114,21 +114,21 b' class DaemonLock(object):'
114 """releases the pid by removing the pidfile
114 """releases the pid by removing the pidfile
115 """
115 """
116 if self.debug:
116 if self.debug:
117 print 'trying to release the pidlock'
117 print('trying to release the pidlock')
118
118
119 if self.callbackfn:
119 if self.callbackfn:
120 #execute callback function on release
120 # execute callback function on release
121 if self.debug:
121 if self.debug:
122 print 'executing callback function %s' % self.callbackfn
122 print('executing callback function %s' % self.callbackfn)
123 self.callbackfn()
123 self.callbackfn()
124 try:
124 try:
125 if self.debug:
125 if self.debug:
126 print 'removing pidfile %s' % self.pidfile
126 print('removing pidfile %s' % self.pidfile)
127 os.remove(self.pidfile)
127 os.remove(self.pidfile)
128 self.held = False
128 self.held = False
129 except OSError as e:
129 except OSError as e:
130 if self.debug:
130 if self.debug:
131 print 'removing pidfile failed %s' % e
131 print('removing pidfile failed %s' % e)
132 pass
132 pass
133
133
134 def makelock(self, lockname, pidfile):
134 def makelock(self, lockname, pidfile):
@@ -139,7 +139,7 b' class DaemonLock(object):'
139 :param pidfile: the file to write the pid in
139 :param pidfile: the file to write the pid in
140 """
140 """
141 if self.debug:
141 if self.debug:
142 print 'creating a file %s and pid: %s' % (pidfile, lockname)
142 print('creating a file %s and pid: %s' % (pidfile, lockname))
143
143
144 dir_, file_ = os.path.split(pidfile)
144 dir_, file_ = os.path.split(pidfile)
145 if not os.path.isdir(dir_):
145 if not os.path.isdir(dir_):
@@ -40,10 +40,10 b' def make_web_build_callback(filename):'
40 stdout = ''.join(stdout)
40 stdout = ''.join(stdout)
41 stderr = ''.join(stderr)
41 stderr = ''.join(stderr)
42 if stdout:
42 if stdout:
43 print stdout
43 print(stdout)
44 if stderr:
44 if stderr:
45 print ('%s %s %s' % ('-' * 20, 'ERRORS', '-' * 20))
45 print('%s %s %s' % ('-' * 20, 'ERRORS', '-' * 20))
46 print stderr
46 print(stderr)
47
47
48
48
49 MAXFD = 1024
49 MAXFD = 1024
@@ -53,7 +53,7 b' class TestINI(object):'
53 data. Example usage::
53 data. Example usage::
54
54
55 with TestINI('test.ini', [{'section':{'key':val'}]) as new_test_ini_path:
55 with TestINI('test.ini', [{'section':{'key':val'}]) as new_test_ini_path:
56 print 'paster server %s' % new_test_ini
56 print('paster server %s' % new_test_ini)
57 """
57 """
58
58
59 def __init__(self, ini_file_path, ini_params, new_file_prefix='DEFAULT',
59 def __init__(self, ini_file_path, ini_params, new_file_prefix='DEFAULT',
@@ -194,7 +194,7 b' class TestSimpleSvnApp(object):'
194 ]
194 ]
195 request_mock.assert_called_once_with(
195 request_mock.assert_called_once_with(
196 self.environment['REQUEST_METHOD'], expected_url,
196 self.environment['REQUEST_METHOD'], expected_url,
197 data=self.data, headers=expected_request_headers)
197 data=self.data, headers=expected_request_headers, stream=False)
198 response_mock.iter_content.assert_called_once_with(chunk_size=1024)
198 response_mock.iter_content.assert_called_once_with(chunk_size=1024)
199 args, _ = start_response.call_args
199 args, _ = start_response.call_args
200 assert args[0] == '200 OK'
200 assert args[0] == '200 OK'
@@ -33,7 +33,7 b' class TestTokenizeString(object):'
33 import this
33 import this
34
34
35 var = 6
35 var = 6
36 print "this"
36 print("this")
37
37
38 '''
38 '''
39
39
@@ -58,10 +58,11 b' class TestTokenizeString(object):'
58 ('', u'\n'),
58 ('', u'\n'),
59 ('', u' '),
59 ('', u' '),
60 ('k', u'print'),
60 ('k', u'print'),
61 ('', u' '),
61 ('p', u'('),
62 ('s2', u'"'),
62 ('s2', u'"'),
63 ('s2', u'this'),
63 ('s2', u'this'),
64 ('s2', u'"'),
64 ('s2', u'"'),
65 ('p', u')'),
65 ('', u'\n'),
66 ('', u'\n'),
66 ('', u'\n'),
67 ('', u'\n'),
67 ('', u' ')
68 ('', u' ')
@@ -73,7 +74,7 b' class TestTokenizeString(object):'
73
74
74 assert tokens == [
75 assert tokens == [
75 ('',
76 ('',
76 u'\n import this\n\n var = 6\n print "this"\n\n ')
77 u'\n import this\n\n var = 6\n print("this")\n\n ')
77 ]
78 ]
78
79
79
80
@@ -90,7 +90,7 b' def execute(*popenargs, **kwargs):'
90 cmd = kwargs.get("args")
90 cmd = kwargs.get("args")
91 if cmd is None:
91 if cmd is None:
92 cmd = popenargs[0]
92 cmd = popenargs[0]
93 print cmd, output, error
93 print('{} {} {} '.format(cmd, output, error))
94 raise subprocess32.CalledProcessError(retcode, cmd, output=output)
94 raise subprocess32.CalledProcessError(retcode, cmd, output=output)
95 return output
95 return output
96
96
@@ -125,14 +125,14 b' class TestPerformanceBase(object):'
125 try:
125 try:
126 self.test()
126 self.test()
127 except Exception as error:
127 except Exception as error:
128 print error
128 print(error)
129 finally:
129 finally:
130 self.cleanup()
130 self.cleanup()
131
131
132 print 'Clone time :', self.clone_time
132 print('Clone time :{}'.format(self.clone_time))
133 print 'Push time :', mean(self.push_times)
133 print('Push time :{}'.format(mean(self.push_times)))
134 print 'Pull time :', mean(self.pull_times)
134 print('Pull time :{}'.format(mean(self.pull_times)))
135 print 'Empty pull time:', mean(self.empty_pull_times)
135 print('Empty pull time:{}'.format(mean(self.empty_pull_times)))
136
136
137 return {
137 return {
138 'clone': self.clone_time,
138 'clone': self.clone_time,
@@ -163,10 +163,10 b' class TestPerformanceBase(object):'
163 self.orig_repo, commits[self.skip_commits - 1], 'upstream')
163 self.orig_repo, commits[self.skip_commits - 1], 'upstream')
164 commits = commits[self.skip_commits:self.max_commits]
164 commits = commits[self.skip_commits:self.max_commits]
165
165
166 print 'Working with %d commits' % len(commits)
166 print('Working with %d commits' % len(commits))
167 for i in xrange(self.n_commits - 1, len(commits), self.n_commits):
167 for i in range(self.n_commits - 1, len(commits), self.n_commits):
168 commit = commits[i]
168 commit = commits[i]
169 print 'Processing commit %s (%d)' % (commit, i + 1)
169 print('Processing commit %s (%d)' % (commit, i + 1))
170 self.push_times.append(
170 self.push_times.append(
171 self.push(self.orig_repo, commit, 'upstream'))
171 self.push(self.orig_repo, commit, 'upstream'))
172 self.check_remote_last_commit_is(commit, upstream_url)
172 self.check_remote_last_commit_is(commit, upstream_url)
@@ -402,7 +402,7 b' def main(argv):'
402 '--api-key', dest='api_key', action='store', required=True,
402 '--api-key', dest='api_key', action='store', required=True,
403 help='The api key of RhodeCode')
403 help='The api key of RhodeCode')
404 options = parser.parse_args(argv[1:])
404 options = parser.parse_args(argv[1:])
405 print options
405 print(options)
406
406
407 test_config = {
407 test_config = {
408 'python': {
408 'python': {
@@ -452,9 +452,9 b' def main(argv):'
452 test_config[test_name]['limit'],
452 test_config[test_name]['limit'],
453 test_config[test_name].get('skip', 0),
453 test_config[test_name].get('skip', 0),
454 api_key)
454 api_key)
455 print '*' * 80
455 print('*' * 80)
456 print 'Running performance test: %s with size %d' % (test_name, size)
456 print('Running performance test: %s with size %d' % (test_name, size))
457 print '*' * 80
457 print('*' * 80)
458 results[test_name][size] = test.run()
458 results[test_name][size] = test.run()
459 pprint.pprint(dict(results))
459 pprint.pprint(dict(results))
460
460
@@ -51,7 +51,7 b' def profile():'
51 try:
51 try:
52 process = psutil.Process(config.pid)
52 process = psutil.Process(config.pid)
53 except psutil.NoSuchProcess:
53 except psutil.NoSuchProcess:
54 print "Process {pid} does not exist!".format(pid=config.pid)
54 print("Process {pid} does not exist!".format(pid=config.pid))
55 sys.exit(1)
55 sys.exit(1)
56
56
57 while True:
57 while True:
@@ -105,7 +105,7 b' def process_stats(process):'
105
105
106 def dump_stats(stats):
106 def dump_stats(stats):
107 for sample in stats:
107 for sample in stats:
108 print json.dumps(sample)
108 print(json.dumps(sample))
109
109
110
110
111 class AppenlightClient():
111 class AppenlightClient():
@@ -43,7 +43,7 b' RC_WEBSITE = "http://localhost:5001/"'
43
43
44 def get_file(prefix):
44 def get_file(prefix):
45 out_file = None
45 out_file = None
46 for i in xrange(100):
46 for i in range(100):
47 file_path = "%s_profile%.3d.csv" % (prefix, i)
47 file_path = "%s_profile%.3d.csv" % (prefix, i)
48 if os.path.exists(file_path):
48 if os.path.exists(file_path):
49 continue
49 continue
@@ -54,15 +54,15 b' def get_file(prefix):'
54
54
55
55
56 def dump_system():
56 def dump_system():
57 print "System Overview..."
57 print("System Overview...")
58 print "\nCPU Count: %d (%d real)" % \
58 print("\nCPU Count: %d (%d real)" %
59 (psutil.cpu_count(), psutil.cpu_count(logical=False))
59 (psutil.cpu_count(), psutil.cpu_count(logical=False)))
60 print "\nDisk:"
60 print("\nDisk:")
61 print psutil.disk_usage(os.sep)
61 print(psutil.disk_usage(os.sep))
62 print "\nMemory:"
62 print("\nMemory:")
63 print psutil.virtual_memory()
63 print(psutil.virtual_memory())
64 print "\nMemory (swap):"
64 print("\nMemory (swap):")
65 print psutil.swap_memory()
65 print(psutil.swap_memory())
66
66
67
67
68 def count_dulwich_fds(proc):
68 def count_dulwich_fds(proc):
@@ -97,30 +97,30 b' def dump_process(pid, out_file):'
97 # Open output files
97 # Open output files
98 vcs_out = get_file("vcs")
98 vcs_out = get_file("vcs")
99 if vcs_out is None:
99 if vcs_out is None:
100 print "Unable to enumerate output file for VCS"
100 print("Unable to enumerate output file for VCS")
101 sys.exit(1)
101 sys.exit(1)
102 rc_out = get_file("rc")
102 rc_out = get_file("rc")
103 if rc_out is None:
103 if rc_out is None:
104 print "Unable to enumerate output file for RC"
104 print("Unable to enumerate output file for RC")
105 sys.exit(1)
105 sys.exit(1)
106
106
107 # Show system information
107 # Show system information
108 dump_system()
108 dump_system()
109
109
110 print "\nStarting VCS..."
110 print("\nStarting VCS...")
111 vcs = psutil.Popen(["vcsserver"])
111 vcs = psutil.Popen(["vcsserver"])
112 time.sleep(1)
112 time.sleep(1)
113 if not vcs.is_running():
113 if not vcs.is_running():
114 print "VCS - Failed to start"
114 print("VCS - Failed to start")
115 sys.exit(1)
115 sys.exit(1)
116 print "VCS - Ok"
116 print("VCS - Ok")
117
117
118 print "\nStarting RhodeCode..."
118 print("\nStarting RhodeCode...")
119 rc = psutil.Popen("RC_VCSSERVER_TEST_DISABLE=1 paster serve test.ini",
119 rc = psutil.Popen("RC_VCSSERVER_TEST_DISABLE=1 paster serve test.ini",
120 shell=True, stdin=subprocess32.PIPE)
120 shell=True, stdin=subprocess32.PIPE)
121 time.sleep(1)
121 time.sleep(1)
122 if not rc.is_running():
122 if not rc.is_running():
123 print "RC - Failed to start"
123 print("RC - Failed to start")
124 vcs.terminate()
124 vcs.terminate()
125 sys.exit(1)
125 sys.exit(1)
126
126
@@ -132,19 +132,19 b' time.sleep(4)'
132 try:
132 try:
133 urllib.urlopen(RC_WEBSITE)
133 urllib.urlopen(RC_WEBSITE)
134 except IOError:
134 except IOError:
135 print "RC - Website not started"
135 print("RC - Website not started")
136 vcs.terminate()
136 vcs.terminate()
137 sys.exit(1)
137 sys.exit(1)
138 print "RC - Ok"
138 print("RC - Ok")
139
139
140 print "\nProfiling...\n%s\n" % ("-"*80)
140 print("\nProfiling...\n%s\n" % ("-"*80))
141 while True:
141 while True:
142 try:
142 try:
143 dump_process(vcs, vcs_out)
143 dump_process(vcs, vcs_out)
144 dump_process(rc, rc_out)
144 dump_process(rc, rc_out)
145 time.sleep(PROFILING_INTERVAL)
145 time.sleep(PROFILING_INTERVAL)
146 except Exception:
146 except Exception:
147 print traceback.format_exc()
147 print(traceback.format_exc())
148 break
148 break
149
149
150 # Finalize the profiling
150 # Finalize the profiling
@@ -56,14 +56,14 b' svn_pages = ['
56
56
57 repeat = 10
57 repeat = 10
58
58
59 print "Repeating each URL x%d\n" % repeat
59 print("Repeating each URL x%d\n" % repeat)
60 for page in pages:
60 for page in pages:
61 url = "http://%s/%s" % (server, page)
61 url = "http://%s/%s" % (server, page)
62 print url
62 print(url)
63
63
64 stmt = "urllib2.urlopen('%s', timeout=120)" % url
64 stmt = "urllib2.urlopen('%s', timeout=120)" % url
65 t = timeit.Timer(stmt=stmt, setup="import urllib2")
65 t = timeit.Timer(stmt=stmt, setup="import urllib2")
66
66
67 result = t.repeat(repeat=repeat, number=1)
67 result = t.repeat(repeat=repeat, number=1)
68 print "\t%.3f (min) - %.3f (max) - %.3f (avg)\n" % \
68 print("\t%.3f (min) - %.3f (max) - %.3f (avg)\n" %
69 (min(result), max(result), sum(result)/len(result))
69 (min(result), max(result), sum(result)/len(result)))
@@ -56,7 +56,7 b' if len(sys.argv) == 2:'
56 if not BASE_URI.endswith('/'):
56 if not BASE_URI.endswith('/'):
57 BASE_URI += '/'
57 BASE_URI += '/'
58
58
59 print 'Crawling @ %s' % BASE_URI
59 print('Crawling @ %s' % BASE_URI)
60 BASE_URI += '%s'
60 BASE_URI += '%s'
61 PROJECT_PATH = jn('/', 'home', 'marcink', 'repos')
61 PROJECT_PATH = jn('/', 'home', 'marcink', 'repos')
62 PROJECTS = [
62 PROJECTS = [
@@ -104,16 +104,16 b' def test_changelog_walk(proj, pages=100)'
104 size = len(f.read())
104 size = len(f.read())
105 e = time.time() - s
105 e = time.time() - s
106 total_time += e
106 total_time += e
107 print 'visited %s size:%s req:%s ms' % (full_uri, size, e)
107 print('visited %s size:%s req:%s ms' % (full_uri, size, e))
108
108
109 print 'total_time', total_time
109 print('total_time {}'.format(total_time))
110 print 'average on req', total_time / float(pages)
110 print('average on req {}'.format(total_time / float(pages)))
111
111
112
112
113 def test_commit_walk(proj, limit=None):
113 def test_commit_walk(proj, limit=None):
114 repo, proj = _get_repo(proj)
114 repo, proj = _get_repo(proj)
115
115
116 print 'processing', jn(PROJECT_PATH, proj)
116 print('processing', jn(PROJECT_PATH, proj))
117 total_time = 0
117 total_time = 0
118
118
119 cnt = 0
119 cnt = 0
@@ -124,22 +124,22 b' def test_commit_walk(proj, limit=None):'
124 break
124 break
125
125
126 full_uri = (BASE_URI % raw_cs)
126 full_uri = (BASE_URI % raw_cs)
127 print '%s visiting %s\%s' % (cnt, full_uri, i)
127 print('%s visiting %s\%s' % (cnt, full_uri, i))
128 s = time.time()
128 s = time.time()
129 f = o.open(full_uri)
129 f = o.open(full_uri)
130 size = len(f.read())
130 size = len(f.read())
131 e = time.time() - s
131 e = time.time() - s
132 total_time += e
132 total_time += e
133 print '%s visited %s\%s size:%s req:%s ms' % (cnt, full_uri, i, size, e)
133 print('%s visited %s\%s size:%s req:%s ms' % (cnt, full_uri, i, size, e))
134
134
135 print 'total_time', total_time
135 print('total_time {}'.format(total_time))
136 print 'average on req', total_time / float(cnt)
136 print('average on req {}'.format(total_time / float(cnt)))
137
137
138
138
139 def test_files_walk(proj, limit=100):
139 def test_files_walk(proj, limit=100):
140 repo, proj = _get_repo(proj)
140 repo, proj = _get_repo(proj)
141
141
142 print 'processing', jn(PROJECT_PATH, proj)
142 print('processing {}'.format(jn(PROJECT_PATH, proj)))
143 total_time = 0
143 total_time = 0
144
144
145 paths_ = OrderedSet([''])
145 paths_ = OrderedSet([''])
@@ -166,22 +166,22 b' def test_files_walk(proj, limit=100):'
166
166
167 file_path = '/'.join((proj, 'files', 'tip', f))
167 file_path = '/'.join((proj, 'files', 'tip', f))
168 full_uri = (BASE_URI % file_path)
168 full_uri = (BASE_URI % file_path)
169 print '%s visiting %s' % (cnt, full_uri)
169 print('%s visiting %s' % (cnt, full_uri))
170 s = time.time()
170 s = time.time()
171 f = o.open(full_uri)
171 f = o.open(full_uri)
172 size = len(f.read())
172 size = len(f.read())
173 e = time.time() - s
173 e = time.time() - s
174 total_time += e
174 total_time += e
175 print '%s visited OK size:%s req:%s ms' % (cnt, size, e)
175 print('%s visited OK size:%s req:%s ms' % (cnt, size, e))
176
176
177 print 'total_time', total_time
177 print('total_time {}'.format(total_time))
178 print 'average on req', total_time / float(cnt)
178 print('average on req {}'.format(total_time / float(cnt)))
179
179
180 if __name__ == '__main__':
180 if __name__ == '__main__':
181 for path in PROJECTS:
181 for path in PROJECTS:
182 repo = vcs.get_repo(jn(PROJECT_PATH, path))
182 repo = vcs.get_repo(jn(PROJECT_PATH, path))
183 for i in range(PASES):
183 for i in range(PASES):
184 print 'PASS %s/%s' % (i, PASES)
184 print('PASS %s/%s' % (i, PASES))
185 test_changelog_walk(repo, pages=80)
185 test_changelog_walk(repo, pages=80)
186 test_commit_walk(repo, limit=100)
186 test_commit_walk(repo, limit=100)
187 test_files_walk(repo, limit=100)
187 test_files_walk(repo, limit=100)
General Comments 0
You need to be logged in to leave comments. Login now