Packages
nerves_bootstrap
0.6.3
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.BootstrapTest 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 =~ "def system(\"rpi\"), do: [{:nerves_system_rpi, \">= 0.0.0\""
assert file =~ "def system(\"rpi0\"), do: [{:nerves_system_rpi0, \">= 0.0.0\""
assert file =~ "def system(\"rpi2\"), do: [{:nerves_system_rpi2, \">= 0.0.0\""
assert file =~ "def system(\"rpi3\"), do: [{:nerves_system_rpi3, \">= 0.0.0\""
assert file =~ "def system(\"bbb\"), do: [{:nerves_system_bbb, \">= 0.0.0\""
assert file =~ "def system(\"linkit\"), do: [{:nerves_system_linkit, \">= 0.0.0\""
assert file =~ "def system(\"ev3\"), do: [{:nerves_system_ev3, \">= 0.0.0\""
assert file =~ "def 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 =~ "def system(\"rpi\"), do: [{:nerves_system_rpi, \">= 0.0.0\""
refute file =~ "def 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 =~ "def system(\"rpi\"), do: [{:nerves_system_rpi, \">= 0.0.0\""
assert file =~ "def system(\"rpi3\"), do: [{:nerves_system_rpi3, \">= 0.0.0\""
refute file =~ "def 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