Files
nixpkgs/pkgs/by-name/in/inko/test.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

43 lines
820 B
Nix

{
inko,
writeText,
runCommand,
...
}:
let
source =
writeText "hello.inko" # inko
''
import std.process (sleep)
import std.stdio (STDOUT)
import std.time (Duration)
class async Printer {
fn async print(message: String, channel: Channel[Nil]) {
let _ = STDOUT.new.print(message)
channel.send(nil)
}
}
class async Main {
fn async main {
let channel = Channel.new(size: 2)
Printer().print('Hello', channel)
Printer().print('world', channel)
channel.receive
channel.receive
}
}
'';
in
runCommand "inko-test" { } ''
${inko}/bin/inko run ${source} > $out
cat $out | grep -q Hello
cat $out | grep -q world
''