farmbot_os/farmbot_celery_script/test/farmbot_celery_script/run_time/sys_call_handler_test.exs

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