Skip to content

Commit 1a43fa5

Browse files
committed
fix Nightly CI
1 parent 7c8e279 commit 1a43fa5

File tree

17 files changed

+127
-119
lines changed

17 files changed

+127
-119
lines changed

examples/tcp_ping_pong/main.mbt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ async fn server(println : Printer) -> Unit {
3636
while conn.read(buf) is n && n > 0 {
3737
@async.sleep(10)
3838
let msg = buf.unsafe_reinterpret_as_bytes()[0:n]
39-
println("server received: \{msg}")
40-
let reply = b"pong"
41-
conn.write(reply)
39+
println("server received: \{@encoding/utf8.decode(msg)}")
40+
let reply = "pong"
41+
conn.write_string(reply, encoding=UTF8)
4242
println("server sent: \{reply}")
4343
if msg == b"exit" {
4444
println("server initiate terminate")
@@ -60,20 +60,21 @@ async fn server(println : Printer) -> Unit {
6060
}
6161

6262
///|
63-
async fn client(println : Printer, id : Int, msg : Bytes) -> Unit {
63+
async fn client(println : Printer, id : Int, msg : String) -> Unit {
6464
let conn = @socket.TCP::connect(@socket.Addr::parse("127.0.0.1:\{port}"))
6565
defer conn.close()
6666
// The sleep here is used to make test result stable and portable,
6767
// because this message is in race condition
6868
// with server side "received connection" message
6969
@async.sleep(10)
7070
println("client \{id}: connection established")
71-
conn.write(msg)
71+
conn.write_string(msg, encoding=UTF8)
7272
println("client \{id} sent: \{msg}")
7373
let buf = FixedArray::make(1024, b'0')
7474
if conn.read(buf) is n && n > 0 {
7575
@async.sleep(10)
7676
let msg = buf.unsafe_reinterpret_as_bytes()[0:n]
77+
let msg = @encoding/utf8.decode(msg)
7778
println("client \{id} received: \{msg}")
7879
} else {
7980
println("client \{id}: connection closed by peer")
@@ -87,12 +88,12 @@ pub async fn main_prog(println : Printer) -> Unit {
8788
root.spawn_bg(fn() {
8889
@async.with_task_group(fn(ctx) {
8990
for i in 0..<6 {
90-
let msg = if i % 3 == 1 { b"pong" } else { b"ping" }
91+
let msg = if i % 3 == 1 { "pong" } else { "ping" }
9192
ctx.spawn_bg(() => client(println, i, msg))
9293
@async.sleep(100)
9394
}
9495
})
95-
root.spawn_bg(() => client(println, 6, b"exit"))
96+
root.spawn_bg(() => client(println, 6, "exit"))
9697
})
9798
}) catch {
9899
ServerTerminate => ()

examples/tcp_ping_pong/main_test.mbt

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -26,53 +26,53 @@ async test "main" {
2626
content=(
2727
#|received new connection
2828
#|client 0: connection established
29-
#|client 0 sent: b"\x70\x69\x6e\x67"
30-
#|server received: b"\x70\x69\x6e\x67"
31-
#|server sent: b"\x70\x6f\x6e\x67"
32-
#|client 0 received: b"\x70\x6f\x6e\x67"
29+
#|client 0 sent: ping
30+
#|server received: ping
31+
#|server sent: pong
32+
#|client 0 received: pong
3333
#|server: connection closed by peer
3434
#|received new connection
3535
#|client 1: connection established
36-
#|client 1 sent: b"\x70\x6f\x6e\x67"
37-
#|server received: b"\x70\x6f\x6e\x67"
38-
#|server sent: b"\x70\x6f\x6e\x67"
39-
#|client 1 received: b"\x70\x6f\x6e\x67"
36+
#|client 1 sent: pong
37+
#|server received: pong
38+
#|server sent: pong
39+
#|client 1 received: pong
4040
#|server: connection closed by peer
4141
#|received new connection
4242
#|client 2: connection established
43-
#|client 2 sent: b"\x70\x69\x6e\x67"
44-
#|server received: b"\x70\x69\x6e\x67"
45-
#|server sent: b"\x70\x6f\x6e\x67"
46-
#|client 2 received: b"\x70\x6f\x6e\x67"
43+
#|client 2 sent: ping
44+
#|server received: ping
45+
#|server sent: pong
46+
#|client 2 received: pong
4747
#|server: connection closed by peer
4848
#|received new connection
4949
#|client 3: connection established
50-
#|client 3 sent: b"\x70\x69\x6e\x67"
51-
#|server received: b"\x70\x69\x6e\x67"
52-
#|server sent: b"\x70\x6f\x6e\x67"
53-
#|client 3 received: b"\x70\x6f\x6e\x67"
50+
#|client 3 sent: ping
51+
#|server received: ping
52+
#|server sent: pong
53+
#|client 3 received: pong
5454
#|server: connection closed by peer
5555
#|received new connection
5656
#|client 4: connection established
57-
#|client 4 sent: b"\x70\x6f\x6e\x67"
58-
#|server received: b"\x70\x6f\x6e\x67"
59-
#|server sent: b"\x70\x6f\x6e\x67"
60-
#|client 4 received: b"\x70\x6f\x6e\x67"
57+
#|client 4 sent: pong
58+
#|server received: pong
59+
#|server sent: pong
60+
#|client 4 received: pong
6161
#|server: connection closed by peer
6262
#|received new connection
6363
#|client 5: connection established
64-
#|client 5 sent: b"\x70\x69\x6e\x67"
65-
#|server received: b"\x70\x69\x6e\x67"
66-
#|server sent: b"\x70\x6f\x6e\x67"
67-
#|client 5 received: b"\x70\x6f\x6e\x67"
64+
#|client 5 sent: ping
65+
#|server received: ping
66+
#|server sent: pong
67+
#|client 5 received: pong
6868
#|server: connection closed by peer
6969
#|received new connection
7070
#|client 6: connection established
71-
#|client 6 sent: b"\x65\x78\x69\x74"
72-
#|server received: b"\x65\x78\x69\x74"
73-
#|server sent: b"\x70\x6f\x6e\x67"
71+
#|client 6 sent: exit
72+
#|server received: exit
73+
#|server sent: pong
7474
#|server initiate terminate
75-
#|client 6 received: b"\x70\x6f\x6e\x67"
75+
#|client 6 received: pong
7676
#|server terminate: Cancelled
7777
#|Ok(())
7878
),
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"import": [
33
"moonbitlang/async",
4-
"moonbitlang/async/socket"
4+
"moonbitlang/async/socket",
5+
"moonbitlang/async/io"
56
],
67
"is-main": true
78
}

examples/udp_ping_pong/main.mbt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ async fn server(println : Printer) -> Unit {
3232
group.spawn_bg(fn() {
3333
@async.sleep(10)
3434
let msg = buf.unsafe_reinterpret_as_bytes()[0:n]
35-
println("server received: \{msg}")
36-
let reply = b"pong"
37-
server_sock.sendto(reply, addr)
35+
println("server received: \{@encoding/utf8.decode(msg)}")
36+
let reply = "pong"
37+
server_sock.sendto(@encoding/utf8.encode(reply), addr)
3838
println("server sent: \{reply}")
3939
if msg == b"exit" {
4040
println("server initiate terminate")
@@ -53,17 +53,17 @@ async fn server(println : Printer) -> Unit {
5353
}
5454

5555
///|
56-
async fn client(println : Printer, id : Int, msg : Bytes) -> Unit {
56+
async fn client(println : Printer, id : Int, msg : String) -> Unit {
5757
let conn = @socket.UDP::new()
5858
defer conn.close()
5959
conn.connect(@socket.Addr::parse("127.0.0.1:\{port}"))
60-
conn.send(msg)
60+
conn.send(@encoding/utf8.encode(msg))
6161
println("client \{id} sent: \{msg}")
6262
let buf = FixedArray::make(1024, b'0')
6363
if conn.recv(buf) is n && n > 0 {
6464
@async.sleep(10)
6565
let msg = buf.unsafe_reinterpret_as_bytes()[0:n]
66-
println("client \{id} received: \{msg}")
66+
println("client \{id} received: \{@encoding/utf8.decode(msg)}")
6767
conn.close()
6868
} else {
6969
println("client \{id}: connection closed by peer")
@@ -77,12 +77,12 @@ pub async fn main_prog(println : Printer) -> Unit {
7777
root.spawn_bg(fn() {
7878
@async.with_task_group(fn(ctx) {
7979
for i in 0..<6 {
80-
let msg = if i % 3 == 1 { b"pong" } else { b"ping" }
80+
let msg = if i % 3 == 1 { "pong" } else { "ping" }
8181
ctx.spawn_bg(() => client(println, i, msg))
8282
@async.sleep(100)
8383
}
8484
})
85-
root.spawn_bg(() => client(println, 6, b"exit"))
85+
root.spawn_bg(() => client(println, 6, "exit"))
8686
})
8787
}) catch {
8888
ServerTerminate => ()

examples/udp_ping_pong/main_test.mbt

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -24,33 +24,33 @@ async test "main" {
2424
inspect(
2525
log.to_string(),
2626
content=(
27-
#|client 0 sent: b"\x70\x69\x6e\x67"
28-
#|server received: b"\x70\x69\x6e\x67"
29-
#|server sent: b"\x70\x6f\x6e\x67"
30-
#|client 0 received: b"\x70\x6f\x6e\x67"
31-
#|client 1 sent: b"\x70\x6f\x6e\x67"
32-
#|server received: b"\x70\x6f\x6e\x67"
33-
#|server sent: b"\x70\x6f\x6e\x67"
34-
#|client 1 received: b"\x70\x6f\x6e\x67"
35-
#|client 2 sent: b"\x70\x69\x6e\x67"
36-
#|server received: b"\x70\x69\x6e\x67"
37-
#|server sent: b"\x70\x6f\x6e\x67"
38-
#|client 2 received: b"\x70\x6f\x6e\x67"
39-
#|client 3 sent: b"\x70\x69\x6e\x67"
40-
#|server received: b"\x70\x69\x6e\x67"
41-
#|server sent: b"\x70\x6f\x6e\x67"
42-
#|client 3 received: b"\x70\x6f\x6e\x67"
43-
#|client 4 sent: b"\x70\x6f\x6e\x67"
44-
#|server received: b"\x70\x6f\x6e\x67"
45-
#|server sent: b"\x70\x6f\x6e\x67"
46-
#|client 4 received: b"\x70\x6f\x6e\x67"
47-
#|client 5 sent: b"\x70\x69\x6e\x67"
48-
#|server received: b"\x70\x69\x6e\x67"
49-
#|server sent: b"\x70\x6f\x6e\x67"
50-
#|client 5 received: b"\x70\x6f\x6e\x67"
51-
#|client 6 sent: b"\x65\x78\x69\x74"
52-
#|server received: b"\x65\x78\x69\x74"
53-
#|server sent: b"\x70\x6f\x6e\x67"
27+
#|client 0 sent: ping
28+
#|server received: ping
29+
#|server sent: pong
30+
#|client 0 received: pong
31+
#|client 1 sent: pong
32+
#|server received: pong
33+
#|server sent: pong
34+
#|client 1 received: pong
35+
#|client 2 sent: ping
36+
#|server received: ping
37+
#|server sent: pong
38+
#|client 2 received: pong
39+
#|client 3 sent: ping
40+
#|server received: ping
41+
#|server sent: pong
42+
#|client 3 received: pong
43+
#|client 4 sent: pong
44+
#|server received: pong
45+
#|server sent: pong
46+
#|client 4 received: pong
47+
#|client 5 sent: ping
48+
#|server received: ping
49+
#|server sent: pong
50+
#|client 5 received: pong
51+
#|client 6 sent: exit
52+
#|server received: exit
53+
#|server sent: pong
5454
#|server initiate terminate
5555
#|server terminate: ServerTerminate
5656
#|Ok(())

src/http/utils.mbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// limitations under the License.
1414

1515
///|
16-
fn parse_int(src : @bytes.View, base~ : Int) -> Int? {
16+
fn parse_int(src : BytesView, base~ : Int) -> Int? {
1717
for i = 0, acc = 0; i < src.length(); {
1818
match src[i] {
1919
'0'..='9' as c => {

src/internal/bytes_util/util.mbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// limitations under the License.
1414

1515
///|
16-
pub fn ascii_to_string(ascii : @bytes.View) -> String {
16+
pub fn ascii_to_string(ascii : BytesView) -> String {
1717
let builder = StringBuilder::new()
1818
for byte in ascii {
1919
match byte {

src/io/buffered_reader.mbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ pub async fn[R : Reader] BufferedReader::op_as_view(
164164
self : Self[R],
165165
start? : Int = 0,
166166
end~ : Int,
167-
) -> @bytes.View {
167+
) -> BytesView {
168168
guard start < end
169169
self.ensure(end)
170170
self.buf.unsafe_reinterpret_as_bytes()[self.start + start:self.start + end]

src/io/buffered_reader_test.mbt

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,21 @@ async test "BufferedReader::read" {
3636
let reader = @io.BufferedReader::new(r)
3737
let buf = FixedArray::make(6, b'0')
3838
while reader.read(buf) is n && n > 0 {
39-
log.write_string("received: \{buf.unsafe_reinterpret_as_bytes()[0:n]}\n")
39+
let data = buf.unsafe_reinterpret_as_bytes()[0:n]
40+
let data = @encoding/utf8.decode(data)
41+
log.write_string("received: \{data}\n")
4042
}
4143
log.write_string("buffered reader closed\n")
4244
})
4345
inspect(
4446
log.to_string(),
4547
content=(
4648
#|writing 4 bytes of data
47-
#|received: b"\x61\x62\x63\x64"
49+
#|received: abcd
4850
#|writing 4 bytes of data
49-
#|received: b"\x65\x66\x67\x68"
51+
#|received: efgh
5052
#|writing 4 bytes of data
51-
#|received: b"\x69\x6a\x6b\x6c"
53+
#|received: ijkl
5254
#|buffered reader closed
5355
#|
5456
),
@@ -65,6 +67,7 @@ async test "BufferedReader::read_exactly" {
6567
let reader = @io.BufferedReader::new(r)
6668
for {
6769
let data = reader.read_exactly(6)
70+
let data = @encoding/utf8.decode(data)
6871
log.write_string("received: \{data}\n")
6972
}
7073
}) catch {
@@ -75,9 +78,9 @@ async test "BufferedReader::read_exactly" {
7578
content=(
7679
#|writing 4 bytes of data
7780
#|writing 4 bytes of data
78-
#|received: b"\x61\x62\x63\x64\x65\x66"
81+
#|received: abcdef
7982
#|writing 4 bytes of data
80-
#|received: b"\x67\x68\x69\x6a\x6b\x6c"
83+
#|received: ghijkl
8184
#|ReaderClosed
8285
),
8386
)
@@ -128,27 +131,31 @@ async test "BufferedReader::op_as_view" {
128131
root.spawn_bg(() => writer(log, w))
129132
defer r.close()
130133
let reader = @io.BufferedReader::new(r)
131-
log.write_string("reader[0:6]: \{reader[0:6]}\n")
134+
let slice = @encoding/utf8.decode(reader[0:6])
135+
log.write_string("reader[0:6]: \{slice}\n")
132136
// should be idempotent
133-
log.write_string("reader[0:6]: \{reader[0:6]}\n")
137+
let slice = @encoding/utf8.decode(reader[0:6])
138+
log.write_string("reader[0:6]: \{slice}\n")
134139
log.write_string("reader.drop(4)\n")
135140
reader.drop(4)
136-
log.write_string("reader[0:6]: \{reader[0:6]}\n")
141+
let slice = @encoding/utf8.decode(reader[0:6])
142+
log.write_string("reader[0:6]: \{slice}\n")
137143
log.write_string("reader.drop(4)\n")
138144
reader.drop(4)
139-
log.write_string("reader[0:6]: \{reader[0:6]}\n")
145+
let slice = @encoding/utf8.decode(reader[0:6])
146+
log.write_string("reader[0:6]: \{slice}\n")
140147
}),
141148
)
142149
inspect(
143150
log.to_string(),
144151
content=(
145152
#|writing 4 bytes of data
146153
#|writing 4 bytes of data
147-
#|reader[0:6]: b"\x61\x62\x63\x64\x65\x66"
148-
#|reader[0:6]: b"\x61\x62\x63\x64\x65\x66"
154+
#|reader[0:6]: abcdef
155+
#|reader[0:6]: abcdef
149156
#|reader.drop(4)
150157
#|writing 4 bytes of data
151-
#|reader[0:6]: b"\x65\x66\x67\x68\x69\x6a"
158+
#|reader[0:6]: efghij
152159
#|reader.drop(4)
153160
#|Err(ReaderClosed)
154161
),

src/io/buffered_writer_test.mbt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ async test "BufferedWriter::write_reader" {
7070
let buf = FixedArray::make(1024, b'0')
7171
while r1.read(buf) is n && n > 0 {
7272
@async.sleep(10)
73-
log.write_string("received \{buf.unsafe_reinterpret_as_bytes()[:n]}\n")
73+
let data = buf.unsafe_reinterpret_as_bytes()[:n]
74+
let data = @encoding/utf8.decode(data)
75+
log.write_string("received \{data}\n")
7476
}
7577
})
7678
root.spawn_bg(fn() {
@@ -90,9 +92,9 @@ async test "BufferedWriter::write_reader" {
9092
content=(
9193
#|sending 4 bytes
9294
#|sending 4 bytes
93-
#|received b"\x61\x62\x63\x64\x65\x66"
95+
#|received abcdef
9496
#|sending 4 bytes
95-
#|received b"\x67\x68\x69\x6a\x6b\x6c"
97+
#|received ghijkl
9698
#|
9799
),
98100
)

0 commit comments

Comments
 (0)