Packages
nerves_bootstrap
1.0.0-rc.2
1.16.0
1.15.3
1.15.2
1.15.1
1.15.0
1.14.5
1.14.4
1.14.3
1.14.2
1.14.0
1.13.1
1.13.0
1.12.2
1.12.1
1.12.0
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.6
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.0
1.8.1
1.8.0
1.7.1
1.7.0
1.6.3
1.6.2
1.6.1
1.6.0
1.5.3
1.5.2
1.5.1
1.5.0
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
Nerves mix integration bootstrap and new project generator
Current section
Files
Jump to
Current section
Files
test/nerves_new_test.exs
Code.require_file("mix_helper.exs", __DIR__)
defmodule Nerves.NewTest do
use ExUnit.Case
import MixHelper
@app_name "my_device"
setup do
# The shell asks to install deps.
# We will politely say not to.
send(self(), {:mix_shell_input, :yes?, false})
:ok
end
test "new project default targets", context do
in_tmp(context.test, fn ->
Mix.Tasks.Nerves.New.run([@app_name])
assert_file("#{@app_name}/README.md")
assert_file("#{@app_name}/mix.exs", fn file ->
assert file =~ "app: :#{@app_name}"
assert file =~ "defp system(\"rpi\"), do: [{:nerves_system_rpi, \"~> 1.0-rc\""
assert file =~ "defp system(\"rpi0\"), do: [{:nerves_system_rpi0, \"~> 1.0-rc\""
assert file =~ "defp system(\"rpi2\"), do: [{:nerves_system_rpi2, \"~> 1.0-rc\""
assert file =~ "defp system(\"rpi3\"), do: [{:nerves_system_rpi3, \"~> 1.0-rc\""
assert file =~ "defp system(\"bbb\"), do: [{:nerves_system_bbb, \"~> 1.0-rc\""
assert file =~ "defp system(\"ev3\"), do: [{:nerves_system_ev3, \"~> 1.0-rc\""
assert file =~ "defp system(\"qemu_arm\"), do: [{:nerves_system_qemu_arm, \"~> 1.0-rc\""
end)
end)
end
test "new project single target", context do
in_tmp(context.test, fn ->
Mix.Tasks.Nerves.New.run([@app_name, "--target", "rpi"])
assert_file("#{@app_name}/README.md")
assert_file("#{@app_name}/mix.exs", fn file ->
assert file =~ "app: :#{@app_name}"
assert file =~ "defp system(\"rpi\"), do: [{:nerves_system_rpi, \"~> 1.0-rc\""
refute file =~ "defp system(\"rpi0\"), do: [{:nerves_system_rpi0, \"~> 1.0-rc\""
end)
end)
end
test "new project multiple target", context do
in_tmp(context.test, fn ->
Mix.Tasks.Nerves.New.run([@app_name, "--target", "rpi", "--target", "rpi3"])
assert_file("#{@app_name}/README.md")
assert_file("#{@app_name}/mix.exs", fn file ->
assert file =~ "app: :#{@app_name}"
assert file =~ "defp system(\"rpi\"), do: [{:nerves_system_rpi, \"~> 1.0-rc\""
assert file =~ "defp system(\"rpi3\"), do: [{:nerves_system_rpi3, \"~> 1.0-rc\""
refute file =~ "defp system(\"rpi0\"), do: [{:nerves_system_rpi0, \"~> 1.0-rc\""
end)
end)
end
test "new project defined cookie set", context do
in_tmp(context.test, fn ->
Mix.Tasks.Nerves.New.run([@app_name, "--cookie", "12345"])
assert_file("#{@app_name}/rel/vm.args", fn file ->
assert file =~ "-setcookie 12345"
end)
end)
end
test "new project default cookie set", context do
in_tmp(context.test, fn ->
Mix.Tasks.Nerves.New.run([@app_name])
assert_file("#{@app_name}/rel/vm.args", fn file ->
assert file =~ ~r/.*-setcookie [a-zA-Z0-9+\/]{64}\n|\r|\n\r/s
end)
end)
end
test "new project adds comment about enabling heart", context do
in_tmp(context.test, fn ->
Mix.Tasks.Nerves.New.run([@app_name])
assert_file("#{@app_name}/rel/vm.args", fn file ->
assert file =~ "#-heart -env HEART_BEAT_TIMEOUT"
end)
end)
end
end