aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/skylark/javatests/com/google/devtools/skylark
diff options
context:
space:
mode:
authorGravatar laurentlb <laurentlb@google.com>2018-03-22 08:55:01 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-22 08:56:53 -0700
commit3e9c776167b06fb7ff1e6b92de202548cb35c00a (patch)
tree411d274be5a015047205af653ff366d0ded200a6 /src/tools/skylark/javatests/com/google/devtools/skylark
parent52c3d908e2d0beffff7336052cf3fc9849d8092b (diff)
Skylint check for returning old-style providers.
RELNOTES: None. PiperOrigin-RevId: 190071755
Diffstat (limited to 'src/tools/skylark/javatests/com/google/devtools/skylark')
-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();
+ }
}