From c79570cf340e158d5025ccdb1358c4e1548d2558 Mon Sep 17 00:00:00 2001 From: Ulf Adams Date: Tue, 11 Oct 2016 12:29:40 +0000 Subject: Rollback of commit 9c25afe750a937b2152c21a93effc8b9ba82c27b. *** Reason for rollback *** Seems to break some parts of aspects. *** Original change description *** Make EvalUtils.getDataTypeNameFromClass() look for @SkylarkModules in parent classes This is needed to let subclasses of @SkylarkModules have the same type() string as their superclass, without requiring a second annotation for the subclass (which would lead to redundant documentation being generated). -- MOS_MIGRATED_REVID=135786137 --- .../devtools/build/lib/syntax/EvalUtilsTest.java | 12 ------- .../build/lib/syntax/SkylarkEvaluationTest.java | 2 +- .../lib/syntax/SkylarkInterfaceUtilsTest.java | 42 +--------------------- 3 files changed, 2 insertions(+), 54 deletions(-) (limited to 'src/test') diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java index 65b175c015..7ce40aa90c 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java @@ -19,7 +19,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.syntax.SkylarkList.MutableList; import com.google.devtools.build.lib.syntax.SkylarkList.Tuple; import com.google.devtools.build.lib.syntax.util.EvaluationTestCase; @@ -53,15 +52,6 @@ public class EvalUtilsTest extends EvaluationTestCase { assertThat(EvalUtils.toIterable("abc", null)).hasSize(3); } - /** MockClassA */ - @SkylarkModule(name = "MockClassA", doc = "MockClassA") - public static class MockClassA { - } - - /** MockClassB */ - public static class MockClassB extends MockClassA { - } - @Test public void testDataTypeNames() throws Exception { assertEquals("string", EvalUtils.getDataTypeName("foo")); @@ -70,8 +60,6 @@ public class EvalUtilsTest extends EvaluationTestCase { assertEquals("list", EvalUtils.getDataTypeName(makeList(null))); assertEquals("dict", EvalUtils.getDataTypeName(makeDict(null))); assertEquals("NoneType", EvalUtils.getDataTypeName(Runtime.NONE)); - assertEquals("MockClassA", EvalUtils.getDataTypeName(new MockClassA())); - assertEquals("MockClassA", EvalUtils.getDataTypeName(new MockClassB())); } @Test diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java index 2fee2c36fd..97a3935d2a 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java @@ -778,7 +778,7 @@ public class SkylarkEvaluationTest extends EvaluationTest { new SkylarkTest() .update("mock", new MockSubClass()) .testIfExactError( - "Type Mock has no function is_empty_class_not_annotated(string)", + "Type MockSubClass has no function is_empty_class_not_annotated(string)", "b = mock.is_empty_class_not_annotated('a')"); } diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkInterfaceUtilsTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkInterfaceUtilsTest.java index 23fc0b39d3..4172024e2a 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkInterfaceUtilsTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkInterfaceUtilsTest.java @@ -81,41 +81,6 @@ public class SkylarkInterfaceUtilsTest { public void foo() {} } - /** MockClassZ */ - public static class MockClassZ { - } - - @Test - public void testGetSkylarkModuleBasic() throws Exception { - // Normal case. - SkylarkModule ann = SkylarkInterfaceUtils.getSkylarkModule(MockClassA.class); - assertThat(ann).isNotNull(); - assertThat(ann.doc()).isEqualTo("MockClassA"); - } - - @Test - public void testGetSkylarkModuleSubclass() throws Exception { - // Subclass's annotation is used. - SkylarkModule ann = SkylarkInterfaceUtils.getSkylarkModule(MockClassC.class); - assertThat(ann).isNotNull(); - assertThat(ann.doc()).isEqualTo("MockClassC"); - } - - @Test - public void testGetSkylarkModuleSubclassNoSubannotation() throws Exception { - // Falls back on superclass's annotation. - SkylarkModule ann = SkylarkInterfaceUtils.getSkylarkModule(MockClassD.class); - assertThat(ann).isNotNull(); - assertThat(ann.doc()).isEqualTo("MockClassC"); - } - - @Test - public void testGetSkylarkModuleNotFound() throws Exception { - // Doesn't exist. - SkylarkModule ann = SkylarkInterfaceUtils.getSkylarkModule(MockClassZ.class); - assertThat(ann).isNull(); - } - @Test public void testGetSkylarkCallableBasic() throws Exception { // Normal case. Ensure two-arg form is consistent with one-arg form. @@ -162,15 +127,10 @@ public class SkylarkInterfaceUtilsTest { SkylarkCallable ann = SkylarkInterfaceUtils.getSkylarkCallable(method); assertThat(ann).isNull(); - // ... including when it's only present in a subclass that was bypassed... + // ... including when it's only present in a subclass that was bypassed. method = MockClassC.class.getMethod("baz"); ann = SkylarkInterfaceUtils.getSkylarkCallable(MockClassA.class, method); assertThat(ann).isNull(); - - // ... or when the method itself is only in the subclass that was bypassed. - method = MockClassC.class.getMethod("qux"); - ann = SkylarkInterfaceUtils.getSkylarkCallable(MockClassA.class, method); - assertThat(ann).isNull(); } @Test -- cgit v1.2.3