Skip to content

Commit 94879d1

Browse files
committed
support comprehension
1 parent 98b3b12 commit 94879d1

7 files changed

Lines changed: 169 additions & 132 deletions

File tree

examples/builtins/comprehension.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
a = [i for i in range(10)]
2+
assert len(a) == 10
3+
4+
for i in range(10):
5+
q = [x for x in range(i)]
6+
assert len(q) == i
7+
8+
print('PASS')

port/linux/.vscode/launch.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@
1414
// "--gtest_filter=builtin.write_fn"
1515
// "--gtest_filter=builtin.base_type"
1616
// "--gtest_filter=parser.multi_comprehension"
17-
"--gtest_filter=parser.comprehension"
17+
"--gtest_filter=parser.comprehension_indent"
1818
// "--gtest_filter=parser.*"
1919
// "--gtest_filter=pikaMain.slice2"
2020
// "--gtest_filter=re.match"
21+
// "--gtest_filter=parser.for_indent"
2122
],
2223
"stopAtEntry": false,
2324
"cwd": "${workspaceFolder}",
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
a = [i for i in range(10)]
2+
assert len(a) == 10
3+
4+
for i in range(10):
5+
q = [x for x in range(i)]
6+
assert len(q) == i
7+
8+
print('PASS')
Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,35 @@
11
import socket
22

3-
# 创建一个socket对象
4-
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
3+
def test_socket_GET():
4+
# 创建一个socket对象
5+
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
56

6-
# 获取服务器的IP地址
7-
server_ip = socket.gethostbyname('baidu.com')
8-
server_port = 80
7+
# 获取服务器的IP地址
8+
server_ip = socket.gethostbyname('baidu.com')
9+
server_port = 80
910

10-
# 连接到服务器
11-
s.connect((server_ip, server_port))
12-
# 创建HTTP GET请求
13-
request = 'GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n'
14-
# print('request:', request)
15-
s.send(request.encode())
11+
# 连接到服务器
12+
s.connect((server_ip, server_port))
13+
# 创建HTTP GET请求
14+
request = 'GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n'
15+
# print('request:', request)
16+
s.send(request.encode())
1617

17-
# 接收服务器的响应
18-
response = ''
19-
while True:
20-
try:
21-
recv = s.recv(1024)
22-
except:
23-
break
24-
if not recv:
25-
break
26-
response += recv.decode()
18+
# 接收服务器的响应
19+
response = ''
20+
while True:
21+
try:
22+
recv = s.recv(1024)
23+
except:
24+
break
25+
if not recv:
26+
break
27+
response += recv.decode()
28+
s.close()
29+
return response
2730

28-
s.close()
29-
30-
res = 'HTTP/1.1 200 OK' in response
31+
for i in range(10):
32+
res = 'HTTP/1.1 200 OK' in test_socket_GET()
33+
if res == True:
34+
break
35+
print('test_socket_GET() failed, retrying...')

0 commit comments

Comments
 (0)