From 3df5204252a018949f1cf01566a263d988b2f8aa Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 12 Nov 2023 17:06:18 -0500 Subject: [PATCH] check that at least one test was added --- t/merge-ready/added-test.t | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 t/merge-ready/added-test.t diff --git a/t/merge-ready/added-test.t b/t/merge-ready/added-test.t new file mode 100644 index 0000000..ce2edca --- /dev/null +++ b/t/merge-ready/added-test.t @@ -0,0 +1,35 @@ +use 5.38.0; + +use Test2::V0; + +use Git::Wrapper; + +my $target_branch = $ENV{TARGET_BRANCH} // 'main'; + +my $git = Git::Wrapper->new('.'); + +my $on_target = grep { "* $target_branch" eq $_ } $git->branch; + +if ($on_target) { + pass "nothing to check here"; +} +else { + my @diff = $git->diff($target_branch); + ok test_file_modified(@diff), "added to a test file"; +} + +sub test_file_modified (@diff) { + my $in_test_file = 0; + for (@diff) { + if (/^diff/) { + $in_test_file = /\.t$/; + next; + } + + return 1 if $in_test_file and /^\+/; + } + + return 0; +} + +done_testing;