Crystal bindings: tests.
This commit is contained in:
parent
5ee0a6e6e0
commit
23de66befc
39
zig-impl/crystal/some-crystal-app/src/tests.cr
Normal file
39
zig-impl/crystal/some-crystal-app/src/tests.cr
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
def test_without_wait()
|
||||
ctx = Pointer(Void).null
|
||||
LibIPC.init (pointerof(ctx))
|
||||
fd : Int32 = 0
|
||||
LibIPC.connect_service(ctx, pointerof(fd), "pong", 4)
|
||||
pp! fd
|
||||
LibIPC.write(ctx, fd, "Hello", 5)
|
||||
|
||||
buflen : LibC::UInt64T = 10
|
||||
buffer = uninitialized UInt8[10]
|
||||
LibIPC.read(ctx, fd, buffer.to_unsafe, pointerof(buflen))
|
||||
received = String.new(buffer.to_unsafe, buflen)
|
||||
pp! received
|
||||
|
||||
LibIPC.deinit (pointerof(ctx))
|
||||
end
|
||||
|
||||
def test_with_wait()
|
||||
ctx = Pointer(Void).null
|
||||
LibIPC.init (pointerof(ctx))
|
||||
fd : Int32 = 0
|
||||
LibIPC.connect_service(ctx, pointerof(fd), "pong", 4)
|
||||
LibIPC.write(ctx, fd, "Hello", 5)
|
||||
|
||||
buflen : LibC::UInt64T = 10
|
||||
buffer = uninitialized UInt8[10]
|
||||
eventtype : UInt8 = 0
|
||||
index : LibC::UInt64T = 0
|
||||
|
||||
LibIPC.timer(ctx, 2000) # Wait at most 2 seconds.
|
||||
LibIPC.wait(ctx, pointerof(eventtype), pointerof(index), pointerof(fd), buffer.to_unsafe, pointerof(buflen))
|
||||
|
||||
#pp! LibIPC::EventType.new(eventtype), fd, index, buflen
|
||||
received = String.new(buffer.to_unsafe, buflen)
|
||||
pp! received
|
||||
|
||||
LibIPC.deinit (pointerof(ctx))
|
||||
end
|
Reference in New Issue
Block a user