aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/skylark/javatests/com/google
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/skylark/javatests/com/google')
-rw-r--r--src/tools/skylark/javatests/com/google/devtools/skylark/skylint/DeprecatedApiCheckerTest.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/DeprecatedApiCheckerTest.java b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/DeprecatedApiCheckerTest.java
index 0e356eac3e..e17251f263 100644
--- a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/DeprecatedApiCheckerTest.java
+++ b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/DeprecatedApiCheckerTest.java
@@ -49,4 +49,30 @@ public class DeprecatedApiCheckerTest {
Truth.assertThat(findIssues("ctx.actions()")).isEmpty();
}
+
+ @Test
+ public void testRuleImplReturnValue() {
+ Truth.assertThat(
+ findIssues("def _impl(ctx): return struct()", "x = rule(implementation=_impl)")
+ .toString())
+ .contains("1:17-1:31: Avoid using the legacy provider syntax.");
+
+ Truth.assertThat(
+ findIssues(
+ "def _impl(ctx):",
+ " if True: return struct()",
+ " return",
+ "x = rule(_impl, attrs = {})")
+ .toString())
+ .contains("2:12-2:26: Avoid using the legacy provider syntax.");
+
+ Truth.assertThat(
+ findIssues(
+ "def _impl(): return struct()",
+ "def _impl2(): return []",
+ "x = rule(",
+ " implementation=_impl2,",
+ ")"))
+ .isEmpty();
+ }
}