import gleam/list import gleeunit import simplifile import tcp/echo_server import tcp/tcp pub fn main() -> Nil { gleeunit.main() } pub fn foo_test() { let socket_path = "/tmp/musicplayer-test.sock" let assert Ok(_) = echo_server.new(socket_path) let assert Ok(socket) = tcp.connect(socket_path) let messages = ["hello, ", "world!\n"] list.each(messages, fn(message) { let assert Ok(_) = tcp.send(socket, message) }) // TODO not valid syntax? // let assert Ok(Nil) = tcp.shutdown(socket) // // test: musicplayer_test.foo_test // code: let assert Ok(Nil) = tcp.shutdown(socket) // value: Ok // info: Pattern match failed, no pattern matched the value. let _ = tcp.shutdown(socket) let timeout_ms = 100 assert Ok("hello, world!\n") == tcp.receive(socket, timeout_ms) // TODO find better way to always do cleanup simplifile.delete(socket_path) }