Skip to content

Commit 3717d41

Browse files
author
Austin Bingham
committed
long_running test now works in Python 2 and 3
1 parent 42bad43 commit 3717d41

File tree

3 files changed

+37
-20
lines changed

3 files changed

+37
-20
lines changed

traad/server.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
import itertools
22
import logging
3-
import queue
43
import sys
54

5+
try:
6+
from queue import Queue
7+
except ImportError:
8+
from Queue import Queue
9+
610
from bottle import abort, get, post, request, run
711

812
from .rope.project import Project
@@ -20,7 +24,7 @@
2024
state = State()
2125

2226
task_ids = itertools.count()
23-
task_queue = queue.Queue()
27+
task_queue = Queue()
2428

2529

2630
def run_server(port, project_path):
Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
import json
22
import subprocess
33
import time
4-
import urllib.request
54

5+
try:
6+
from urllib.request import Request, urlopen
7+
except ImportError:
8+
from urllib2 import Request, urlopen
69

7-
def make_req(loc, data={}, method='POST'):
8-
req = urllib.request.Request(
9-
url='http://localhost:6543{}'.format(loc),
10-
data=json.dumps(data).encode('utf-8'),
11-
headers={'Content-Type': 'application/json'},
12-
method=method)
13-
f = urllib.request.urlopen(req)
14-
return f.read()
10+
11+
def make_req(loc, data=None):
12+
if data is not None:
13+
data = json.dumps(data).encode('utf-8')
14+
req = Request(
15+
url='http://localhost:6543{}'.format(loc),
16+
data=data,
17+
headers={'Content-Type': 'application/json'})
18+
f = urlopen(req)
19+
return f.read()
1520

1621

1722
def run_test(proc):
@@ -24,14 +29,17 @@ def run_test(proc):
2429
start_time = time.time()
2530
while time.time() - start_time < 10:
2631
results.add(
27-
make_req('/task/{}'.format(task_id), method='GET'))
32+
make_req('/task/{}'.format(task_id)))
2833
time.sleep(0.1)
2934

3035
assert len(results) == 10
3136

32-
with subprocess.Popen(['python', '-m', 'traad.server', '-p', '6543', '.']) as proc:
33-
try:
34-
time.sleep(1)
35-
run_test(proc)
36-
finally:
37-
proc.terminate()
37+
38+
try:
39+
proc = subprocess.Popen(
40+
['python', '-m', 'traad.server', '-p', '6543', '.'])
41+
time.sleep(1)
42+
run_test(proc)
43+
finally:
44+
proc.terminate()
45+
proc.wait()

traad/trace.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
import itertools
22
import logging
3-
import reprlib
43
import sys
54
import traceback
65

76
import decorator
87

8+
try:
9+
import reprlib
10+
repr = reprlib.repr
11+
except ImportError:
12+
pass
13+
914
log = logging.getLogger('traad.trace')
1015

1116
@decorator.decorator
@@ -16,7 +21,7 @@ def trace(f, *args, **kw):
1621
log.info('{}({})'.format(
1722
f.__name__,
1823
', '.join(
19-
map(reprlib.repr,
24+
map(repr,
2025
itertools.chain(
2126
args,
2227
kw.values())))))

0 commit comments

Comments
 (0)