25 lines
572 B
Elixir
25 lines
572 B
Elixir
defmodule Farmbot.CeleryScript.RunTime.SysCallHandlerTest do
|
|
use ExUnit.Case, async: true
|
|
alias Farmbot.CeleryScript.RunTime.SysCallHandler
|
|
alias Farmbot.CeleryScript.AST
|
|
|
|
test "trying to get results before they are ready crashes" do
|
|
Process.flag(:trap_exit, true)
|
|
|
|
fun = fn _ ->
|
|
Process.sleep(500)
|
|
:ok
|
|
end
|
|
|
|
ast = AST.new(:implode, %{}, [])
|
|
|
|
pid = SysCallHandler.apply_sys_call_fun(fun, ast)
|
|
|
|
assert_raise RuntimeError, "no results", fn ->
|
|
SysCallHandler.get_results(pid)
|
|
end
|
|
|
|
refute Process.alive?(pid)
|
|
end
|
|
end
|