From 21a1201a06c6d70c5f110fbc77d112007a244758 Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Wed, 22 Jan 2020 13:35:13 -0600 Subject: [PATCH] Fix UART adapter code to interface with `mimic` --- farmbot_firmware/config/config.exs | 4 ---- .../transports/uart_transport.ex | 2 +- farmbot_firmware/mix.lock | 1 + .../transports/uart_transport_test.exs | 18 +++++++++--------- farmbot_firmware/test/test_helper.exs | 1 + 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/farmbot_firmware/config/config.exs b/farmbot_firmware/config/config.exs index ac775c9e..d2d855e6 100644 --- a/farmbot_firmware/config/config.exs +++ b/farmbot_firmware/config/config.exs @@ -1,5 +1 @@ use Mix.Config - -if Mix.env() == :test do - config :farmbot_firmware, :uart_adapter, FarmbotFirmware.UartTestAdapter -end diff --git a/farmbot_firmware/lib/farmbot_firmware/transports/uart_transport.ex b/farmbot_firmware/lib/farmbot_firmware/transports/uart_transport.ex index b32031e6..a779f859 100644 --- a/farmbot_firmware/lib/farmbot_firmware/transports/uart_transport.ex +++ b/farmbot_firmware/lib/farmbot_firmware/transports/uart_transport.ex @@ -72,6 +72,6 @@ defmodule FarmbotFirmware.UARTTransport do end def uart_adapter() do - Application.get_env(:farmbot_firmware, :uart_adapter, UartDefaultAdapter) + UartDefaultAdapter end end diff --git a/farmbot_firmware/mix.lock b/farmbot_firmware/mix.lock index 8c7c45b4..08f14787 100644 --- a/farmbot_firmware/mix.lock +++ b/farmbot_firmware/mix.lock @@ -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"}, 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 9c0fd249..cc321fd3 100644 --- a/farmbot_firmware/test/farmbot_firmware/transports/uart_transport_test.exs +++ b/farmbot_firmware/test/farmbot_firmware/transports/uart_transport_test.exs @@ -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] diff --git a/farmbot_firmware/test/test_helper.exs b/farmbot_firmware/test/test_helper.exs index fb9b1fa4..cc3e81b6 100644 --- a/farmbot_firmware/test/test_helper.exs +++ b/farmbot_firmware/test/test_helper.exs @@ -1,2 +1,3 @@ Application.ensure_all_started(:mimic) +Mimic.copy(FarmbotFirmware.UartDefaultAdapter) ExUnit.start()