diff --git a/farmbot_firmware/test/farmbot_firmware/command_test.exs b/farmbot_firmware/test/farmbot_firmware/command_test.exs index 2a986a4d..e36b6ae9 100644 --- a/farmbot_firmware/test/farmbot_firmware/command_test.exs +++ b/farmbot_firmware/test/farmbot_firmware/command_test.exs @@ -6,6 +6,7 @@ defmodule FarmbotFirmware.CommandTest do import ExUnit.CaptureLog @subject FarmbotFirmware.Command + @tag :capture_log test "command() runs RPCs" do arg = [transport: FarmbotFirmware.StubTransport] {:ok, pid} = FarmbotFirmware.start_link(arg, []) @@ -19,6 +20,7 @@ defmodule FarmbotFirmware.CommandTest do assert :ok == FarmbotFirmware.command(pid, cmd) end + @tag :capture_log test "command() refuses to run RPCs in :boot state" do arg = [transport: FarmbotFirmware.StubTransport] {:ok, pid} = FarmbotFirmware.start_link(arg, []) diff --git a/farmbot_firmware/test/farmbot_firmware/transports/uart_transport_test.exs b/farmbot_firmware/test/farmbot_firmware/transports/uart_transport_test.exs index 50678f5c..8238359b 100644 --- a/farmbot_firmware/test/farmbot_firmware/transports/uart_transport_test.exs +++ b/farmbot_firmware/test/farmbot_firmware/transports/uart_transport_test.exs @@ -4,6 +4,7 @@ defmodule FarmbotFirmware.UARTTransportTest do doctest FarmbotFirmware.UARTTransport alias FarmbotFirmware.{UartDefaultAdapter, UARTTransport} setup :verify_on_exit! + import ExUnit.CaptureLog test "UARTTransport.init/1" do expect(UartDefaultAdapter, :start_link, fn -> @@ -61,15 +62,22 @@ defmodule FarmbotFirmware.UARTTransportTest do fake_opts end) + error = "Simulated UART failure. This is OK" + expect(UartDefaultAdapter, :open, fn _, _, _ -> - {:error, "Simulated UART failure. This is OK"} + {:error, error} end) - {:noreply, state2, retry_timeout} = - UARTTransport.handle_info(:timeout, state) + logs = + capture_log(fn -> + {:noreply, state2, retry_timeout} = + UARTTransport.handle_info(:timeout, state) - assert retry_timeout == 5000 - assert state.open == state2.open + assert retry_timeout == 5000 + assert state.open == state2.open + end) + + assert logs =~ error end test "UARTTransport handles `Circuits-UART` speecific errors" do diff --git a/farmbot_firmware/test/farmbot_firmware_test.exs b/farmbot_firmware/test/farmbot_firmware_test.exs index 04af88bf..c0778fda 100644 --- a/farmbot_firmware/test/farmbot_firmware_test.exs +++ b/farmbot_firmware/test/farmbot_firmware_test.exs @@ -19,6 +19,7 @@ defmodule FarmbotFirmwareTest do pid end + @tag :capture_log test "various reports" do pid = firmware_server() @@ -63,6 +64,7 @@ defmodule FarmbotFirmwareTest do Process.sleep(1000) end + @tag :capture_log test "various command()s" do pid = firmware_server() diff --git a/farmbot_firmware/test/param_test.exs b/farmbot_firmware/test/param_test.exs index 8b6357ff..47ff100e 100644 --- a/farmbot_firmware/test/param_test.exs +++ b/farmbot_firmware/test/param_test.exs @@ -1,6 +1,7 @@ defmodule FarmbotFirmware.ParamTest do use ExUnit.Case alias FarmbotFirmware.Param + import ExUnit.CaptureLog test "to_human()" do float_value = 1.23 @@ -215,6 +216,11 @@ defmodule FarmbotFirmware.ParamTest do end test "Handling of uknown parameters" do - assert :unknown_parameter == Param.decode(-999) + log = + capture_log(fn -> + assert :unknown_parameter == Param.decode(-999) + end) + + assert log =~ "unknown firmware parameter: -999" end end