Current section
Files
Jump to
Current section
Files
test/tasks/lcov_test.exs
defmodule LcovEx.Tasks.LcovTest do
use ExUnit.Case, async: true
describe "ExampleProject" do
setup do
on_exit(fn ->
# Cleanup
File.rm("example_project/cover/lcov.info")
end)
end
test "lcov task" do
assert Mix.Tasks.Lcov.run(["./example_project"])
assert File.read!("example_project/cover/lcov.info") == output()
end
test "mix lcov" do
assert {output, 0} = System.cmd("mix", ["lcov"], cd: "example_project")
assert output =~ "Generating lcov file ..."
assert output =~ "File successfully created at cover/lcov.info"
assert File.read!("example_project/cover/lcov.info") == output()
end
test "mix lcov --quiet" do
assert {output, 0} = System.cmd("mix", ["lcov", "--quiet"], cd: "example_project")
refute output =~ "Generating lcov file ..."
refute output =~ "File successfully created at cover/lcov.info"
assert File.read!("example_project/cover/lcov.info") == output()
end
end
describe "ExampleUmbrellaProject" do
setup do
on_exit(fn ->
# Cleanup
File.rm("example_umbrella_project/apps/example_project/cover/lcov.info")
File.rm("example_umbrella_project/apps/example_project_2/cover/lcov.info")
end)
end
test "mix lcov" do
assert {output, 0} = System.cmd("mix", ["lcov"], cd: "example_umbrella_project")
assert output =~ "Generating lcov file ..."
assert output =~ "File successfully created at cover/lcov.info"
assert File.read!("example_umbrella_project/apps/example_project/cover/lcov.info") ==
output()
assert File.read!("example_umbrella_project/apps/example_project_2/cover/lcov.info") ==
output_2()
end
end
defp output do
"""
TN:Elixir.ExampleProject
SF:lib/example_project.ex
FNDA:1,covered/0
FNDA:0,not_covered/0
FNF:2
FNH:1
DA:5,1
DA:9,0
LF:2
LH:1
end_of_record
TN:Elixir.ExampleProject.ExampleModule
SF:lib/example_project/example_module.ex
FNDA:1,cover/0
FNDA:1,get_value/0
FNF:2
FNH:2
DA:5,1
LF:1
LH:1
end_of_record
"""
end
defp output_2 do
"""
TN:Elixir.ExampleProject2
SF:lib/example_project_2.ex
FNDA:1,covered/0
FNDA:0,not_covered/0
FNF:2
FNH:1
DA:5,1
DA:9,0
LF:2
LH:1
end_of_record
TN:Elixir.ExampleProject2.ExampleModule
SF:lib/example_project_2/example_module.ex
FNDA:1,cover/0
FNDA:1,get_value/0
FNF:2
FNH:2
DA:5,1
LF:1
LH:1
end_of_record
"""
end
end