diff --git a/lib/mix/lib/mix/tasks/xref.ex b/lib/mix/lib/mix/tasks/xref.ex index 40d3742fe0..591cb48cf7 100644 --- a/lib/mix/lib/mix/tasks/xref.ex +++ b/lib/mix/lib/mix/tasks/xref.ex @@ -1238,6 +1238,10 @@ defmodule Mix.Tasks.Xref do Mix.raise("--min-cycle-label requires the --label option to be given") end + if integer <= 0 do + Mix.raise("--min-cycle-label must be greater than 0") + end + integer else 1 diff --git a/lib/mix/test/mix/tasks/xref_test.exs b/lib/mix/test/mix/tasks/xref_test.exs index a12b4c849e..ad7c9d6222 100644 --- a/lib/mix/test/mix/tasks/xref_test.exs +++ b/lib/mix/test/mix/tasks/xref_test.exs @@ -579,6 +579,12 @@ defmodule Mix.Tasks.XrefTest do """) end + test "bad min_cycle_label" do + assert_raise Mix.Error, "--min-cycle-label must be greater than 0", fn -> + assert_graph(["--format", "cycles", "--label", "compile", "--min-cycle-label", "0"], "") + end + end + test "cycles with min_cycle_size greater than actual length" do assert_graph(["--format", "cycles", "--min-cycle-size", "3"], """ No cycles found