For repeated singleton annotations, utPLSQL keeps the first annotation and warns about later occurrences within the same suite or context scope. A procedure-level %test is incompatible with %beforeall, %afterall, %beforeeach, and %aftereach; utPLSQL warns about the setup or cleanup annotation. The PL/SQL can compile successfully, but the conflicting annotation is ineffective in utPLSQL.

Noncompliant Code Example

CREATE PACKAGE test_pkg AS
  -- %test
  -- %test(Duplicate test description)
  PROCEDURE some_test;
END test_pkg;

Compliant Solution

CREATE PACKAGE test_pkg AS
  -- %test(Some test description)
  PROCEDURE some_test;
END test_pkg;

Multiple distinct %beforeall, %afterall, %beforeeach, %aftereach, %beforetest, and %aftertest procedures are valid and are not reported by this rule.