aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2017-04-19 01:15:45 +0200
committerGravatar Klaus Aehlig <aehlig@google.com>2017-04-19 10:49:05 +0200
commit5d1042629e94e278dcc49db5f640829acc3bff1a (patch)
tree9ad5bf5968ddfe9d6f1dc21a27aba170e84faf11 /src/test/java/com
parent5d761ecc6d337bceda68df38781589e2c11967b4 (diff)
Deprecate use of option category to describe documentation level / usage restrictions.
Prevent the old category strings "undocumented," "hidden," or "internal" from being used as categories, to prevent developers from relying on deprecated behavior. PiperOrigin-RevId: 153525499
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/common/options/OptionsDataTest.java29
-rw-r--r--src/test/java/com/google/devtools/common/options/OptionsParserTest.java3
2 files changed, 29 insertions, 3 deletions
diff --git a/src/test/java/com/google/devtools/common/options/OptionsDataTest.java b/src/test/java/com/google/devtools/common/options/OptionsDataTest.java
index 5fc531a660..0066ca3605 100644
--- a/src/test/java/com/google/devtools/common/options/OptionsDataTest.java
+++ b/src/test/java/com/google/devtools/common/options/OptionsDataTest.java
@@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.fail;
import com.google.common.collect.ImmutableList;
+import com.google.devtools.common.options.OptionsParser.ConstructionException;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
@@ -242,7 +243,7 @@ public class OptionsDataTest {
public void errorForInvalidOptionConverter() throws Exception {
try {
construct(InvalidOptionConverter.class);
- } catch (AssertionError e) {
+ } catch (ConstructionException e) {
// Expected exception
return;
}
@@ -264,13 +265,37 @@ public class OptionsDataTest {
public void errorForInvalidListOptionConverter() throws Exception {
try {
construct(InvalidListOptionConverter.class);
- } catch (AssertionError e) {
+ } catch (ConstructionException e) {
// Expected exception
return;
}
fail();
}
+ /** Dummy options class using deprecated category. */
+ public static class InvalidUndocumentedCategory extends OptionsBase {
+ @Option(
+ name = "experimental_foo",
+ category = "undocumented",
+ defaultValue = "true"
+ )
+ public boolean experimentalFoo;
+ }
+
+ @Test
+ public void invalidUndocumentedCategoryFails() {
+ try {
+ construct(InvalidUndocumentedCategory.class);
+ fail();
+ } catch (ConstructionException e) {
+ // Expected exception
+ assertThat(e).hasMessageThat().contains(
+ "Documentation level is no longer read from the option category.");
+ assertThat(e).hasMessageThat().contains("undocumented");
+ assertThat(e).hasMessageThat().contains("experimental_foo");
+ }
+ }
+
/**
* Dummy options class.
*
diff --git a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
index d7e39151d2..3d85315258 100644
--- a/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
+++ b/src/test/java/com/google/devtools/common/options/OptionsParserTest.java
@@ -27,6 +27,7 @@ import static org.junit.Assert.fail;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.common.options.Converters.CommaSeparatedOptionListConverter;
+import com.google.devtools.common.options.OptionsParser.ConstructionException;
import com.google.devtools.common.options.OptionsParser.OptionUsageRestrictions;
import com.google.devtools.common.options.OptionsParser.OptionValueDescription;
import com.google.devtools.common.options.OptionsParser.UnparsedOptionValueDescription;
@@ -1403,7 +1404,7 @@ public class OptionsParserTest {
public void illegalListType() throws Exception {
try {
OptionsParser.newOptionsParser(IllegalListTypeExample.class);
- } catch (AssertionError e) {
+ } catch (ConstructionException e) {
// Expected exception
return;
}