Packages
nerves_bootstrap
0.8.1
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, \">= 0.0.0\""
assert file =~ "defp system(\"rpi0\"), do: [{:nerves_system_rpi0, \">= 0.0.0\""
assert file =~ "defp system(\"rpi2\"), do: [{:nerves_system_rpi2, \">= 0.0.0\""
assert file =~ "defp system(\"rpi3\"), do: [{:nerves_system_rpi3, \">= 0.0.0\""
assert file =~ "defp system(\"bbb\"), do: [{:nerves_system_bbb, \">= 0.0.0\""
assert file =~ "defp system(\"ev3\"), do: [{:nerves_system_ev3, \">= 0.0.0\""
assert file =~ "defp system(\"qemu_arm\"), do: [{:nerves_system_qemu_arm, \">= 0.0.0\""
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, \">= 0.0.0\""
refute file =~ "defp system(\"rpi0\"), do: [{:nerves_system_rpi0, \">= 0.0.0\""
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, \">= 0.0.0\""
assert file =~ "defp system(\"rpi3\"), do: [{:nerves_system_rpi3, \">= 0.0.0\""
refute file =~ "defp system(\"rpi0\"), do: [{:nerves_system_rpi0, \">= 0.0.0\""
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
end