diff options
author | 2017-03-23 17:22:02 +0000 | |
---|---|---|
committer | 2017-03-23 17:55:10 +0000 | |
commit | 12b98fb6003abbe55c69a0ea1c282fb990c88971 (patch) | |
tree | 88edd6e017a615e16dfa4537da4f9546d1d83c25 /src/test/java/com/google/devtools | |
parent | 73b7b2ef372310df1418b841a1250f7cb49f2c60 (diff) |
Add new utility function to encode options as argument list
...in a way preserving the list structure and without escaping. In other
words, return the options as needed for an execve(3) call.
--
Change-Id: Ifb168d2e720392fb3a97d557960e0c1f1a83f543
Reviewed-on: https://cr.bazel.build/9458
PiperOrigin-RevId: 151019830
MOS_MIGRATED_REVID=151019830
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java index b12103c377..9995dfc34f 100644 --- a/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java +++ b/src/test/java/com/google/devtools/build/lib/util/OptionsUtilsTest.java @@ -18,6 +18,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.devtools.build.lib.util.OptionsUtils.PathFragmentListConverter; import com.google.devtools.build.lib.vfs.PathFragment; @@ -25,14 +26,12 @@ import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionPriority; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; - +import java.util.Arrays; +import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; -import java.util.Arrays; -import java.util.List; - /** * Test for {@link OptionsUtils}. */ @@ -71,6 +70,7 @@ public class OptionsUtilsTest { OptionsParser parser = OptionsParser.newOptionsParser(IntrospectionExample.class); parser.parse("--alpha=no", "--gamma=no", "--echo=no"); assertEquals("--alpha=no --gamma=no", OptionsUtils.asShellEscapedString(parser)); + assertEquals(ImmutableList.of("--alpha=no", "--gamma=no"), OptionsUtils.asArgumentList(parser)); } @Test @@ -79,6 +79,7 @@ public class OptionsUtilsTest { parser.parse(OptionPriority.COMMAND_LINE, null, Arrays.asList("--alpha=no")); parser.parse(OptionPriority.COMPUTED_DEFAULT, null, Arrays.asList("--beta=no")); assertEquals("--beta=no --alpha=no", OptionsUtils.asShellEscapedString(parser)); + assertEquals(ImmutableList.of("--beta=no", "--alpha=no"), OptionsUtils.asArgumentList(parser)); } public static class BooleanOpts extends OptionsBase { @@ -98,12 +99,14 @@ public class OptionsUtilsTest { OptionsParser parser = OptionsParser.newOptionsParser(BooleanOpts.class); parser.parse(OptionPriority.COMMAND_LINE, null, Arrays.asList("--b_one", "--nob_two")); assertEquals("--b_one --nob_two", OptionsUtils.asShellEscapedString(parser)); + assertEquals(ImmutableList.of("--b_one", "--nob_two"), OptionsUtils.asArgumentList(parser)); parser = OptionsParser.newOptionsParser(BooleanOpts.class); parser.parse(OptionPriority.COMMAND_LINE, null, Arrays.asList("--b_one=true", "--b_two=0")); assertTrue(parser.getOptions(BooleanOpts.class).bOne); assertFalse(parser.getOptions(BooleanOpts.class).bTwo); assertEquals("--b_one --nob_two", OptionsUtils.asShellEscapedString(parser)); + assertEquals(ImmutableList.of("--b_one", "--nob_two"), OptionsUtils.asArgumentList(parser)); } @Test @@ -112,6 +115,8 @@ public class OptionsUtilsTest { parser.parse(OptionPriority.COMMAND_LINE, null, Arrays.asList("--alpha=one")); parser.parse(OptionPriority.COMMAND_LINE, null, Arrays.asList("--alpha=two")); assertEquals("--alpha=one --alpha=two", OptionsUtils.asShellEscapedString(parser)); + assertEquals( + ImmutableList.of("--alpha=one", "--alpha=two"), OptionsUtils.asArgumentList(parser)); } private static List<PathFragment> list(PathFragment... fragments) { |