Fix UART adapter code to interface with `mimic`

pull/1124/head
Rick Carlino 2020-01-22 13:35:13 -06:00
parent 7b5b564204
commit 21a1201a06
5 changed files with 12 additions and 14 deletions

View File

@ -1,5 +1 @@
use Mix.Config
if Mix.env() == :test do
config :farmbot_firmware, :uart_adapter, FarmbotFirmware.UartTestAdapter
end

View File

@ -72,6 +72,6 @@ defmodule FarmbotFirmware.UARTTransport do
end
def uart_adapter() do
Application.get_env(:farmbot_firmware, :uart_adapter, UartDefaultAdapter)
UartDefaultAdapter
end
end

View File

@ -25,6 +25,7 @@
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"},
"mime": {:hex, :mime, "1.3.0", "5e8d45a39e95c650900d03f897fbf99ae04f60ab1daa4a34c7a20a5151b7a5fe", [:mix], [], "hexpm"},
"mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm"},
"mimic": {:hex, :mimic, "1.1.3", "3bad83d5271b4faa7bbfef587417a6605cbbc802a353395d446a1e5f46fe7115", [:mix], [], "hexpm"},
"mox": {:hex, :mox, "0.5.1", "f86bb36026aac1e6f924a4b6d024b05e9adbed5c63e8daa069bd66fb3292165b", [:mix], [], "hexpm"},
"nerves_uart": {:hex, :nerves_uart, "1.2.0", "195424116b925cd3bf9d666be036c2a80655e6ca0f8d447e277667a60005c50e", [:mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm"},
"nimble_parsec": {:hex, :nimble_parsec, "0.5.3", "def21c10a9ed70ce22754fdeea0810dafd53c2db3219a0cd54cf5526377af1c6", [:mix], [], "hexpm"},

View File

@ -4,10 +4,10 @@ defmodule FarmbotFirmware.UARTTransportTest do
setup [:verify_on_exit!]
doctest FarmbotFirmware.UARTTransport
alias FarmbotFirmware.{UartTestAdapter, UARTTransport}
alias FarmbotFirmware.{UartDefaultAdapter, UARTTransport}
test "UARTTransport.init/1" do
expect(UartTestAdapter, :start_link, fn ->
expect(UartDefaultAdapter, :start_link, fn ->
{:ok, :FAKE_UART}
end)
@ -24,7 +24,7 @@ defmodule FarmbotFirmware.UARTTransportTest do
end
test "UARTTransport.terminate/2" do
expect(UartTestAdapter, :stop, fn uart ->
expect(UartDefaultAdapter, :stop, fn uart ->
assert uart == :whatever
end)
@ -37,11 +37,11 @@ defmodule FarmbotFirmware.UARTTransportTest do
fake_opts = [fake_opts: true]
expect(UartTestAdapter, :generate_opts, fn ->
expect(UartDefaultAdapter, :generate_opts, fn ->
fake_opts
end)
expect(UartTestAdapter, :open, fn uart, dev, opts ->
expect(UartDefaultAdapter, :open, fn uart, dev, opts ->
assert uart == state.uart
assert dev == state.device
assert fake_opts == opts
@ -58,11 +58,11 @@ defmodule FarmbotFirmware.UARTTransportTest do
fake_opts = [fake_opts: true]
expect(UartTestAdapter, :generate_opts, fn ->
expect(UartDefaultAdapter, :generate_opts, fn ->
fake_opts
end)
expect(UartTestAdapter, :open, fn _, _, _ ->
expect(UartDefaultAdapter, :open, fn _, _, _ ->
{:error, "Simulated UART failure. This is OK"}
end)
@ -105,7 +105,7 @@ defmodule FarmbotFirmware.UARTTransportTest do
code = {nil, {:command_movement, []}}
state = %{uart: :FAKE_UART, device: :FAKE_DEVICE, open: false}
expect(UartTestAdapter, :write, fn _pid, code ->
expect(UartDefaultAdapter, :write, fn _pid, code ->
assert "G00 " == code
:whatever
end)
@ -124,7 +124,7 @@ defmodule FarmbotFirmware.UARTTransportTest do
test "UARTTransport.open/2" do
me = self()
expect(UartTestAdapter, :open, fn pid, path, opts ->
expect(UartDefaultAdapter, :open, fn pid, path, opts ->
assert pid == me
assert path == "/dev/null"
assert opts == [a: :b]

View File

@ -1,2 +1,3 @@
Application.ensure_all_started(:mimic)
Mimic.copy(FarmbotFirmware.UartDefaultAdapter)
ExUnit.start()