diff options
author | Alex Humesky <ahumesky@google.com> | 2016-05-09 18:38:55 +0000 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2016-05-10 07:56:28 +0000 |
commit | 0595007b17931aff8c2412db21bb93f73c94c5b7 (patch) | |
tree | c35f536ff5d2cedaa71adc8d6d116e8b4d622196 /src/test/java/com/google/devtools/build/lib | |
parent | 219150f8d2c0d595007fbfa9506702f86bb13a9c (diff) |
Adds the option to invocation policy SetValue operation to append to repeated
flags, instead of always replacing all the values.
--
MOS_MIGRATED_REVID=121858949
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java index 25b026f7d7..a9f545921f 100644 --- a/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java +++ b/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java @@ -215,7 +215,6 @@ public class InvocationPolicyEnforcerTest { TestOptions testOptions = getTestOptions(); assertThat(testOptions.testMultipleString) .containsExactly("user value 1", "user value 2").inOrder(); - //assertEquals(, testOptions.test_multiple_string); enforcer.enforce(parser, "build"); @@ -273,6 +272,36 @@ public class InvocationPolicyEnforcerTest { } @Test + public void testSetValueAppendsToMultipleValuedFlag() throws Exception { + InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder(); + invocationPolicyBuilder.addFlagPoliciesBuilder() + .setFlagName("test_multiple_string") + .getSetValueBuilder() + .addFlagValue("policy value 1") + .addFlagValue("policy value 2") + .setAppend(true); + + InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder); + parser.parse("--test_multiple_string=user value 1", "--test_multiple_string=user value 2"); + + // Options should not be modified by running the parser through OptionsPolicyEnforcer.create(). + TestOptions testOptions = getTestOptions(); + assertThat(testOptions.testMultipleString) + .containsExactly("user value 1", "user value 2").inOrder(); + + enforcer.enforce(parser, "build"); + + // Get the options again after policy enforcement. + testOptions = getTestOptions(); + assertThat(testOptions.testMultipleString) + .containsExactly( + "user value 1", + "user value 2", + "policy value 1", + "policy value 2").inOrder(); + } + + @Test public void testSetValueWithExpansionFlags() throws Exception { InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder(); invocationPolicyBuilder.addFlagPoliciesBuilder() @@ -334,7 +363,6 @@ public class InvocationPolicyEnforcerTest { InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder); parser.parse("--test_string=user value"); - // Repeatable flags always default to the empty list. TestOptions testOptions = getTestOptions(); assertEquals("user value", testOptions.testString); @@ -356,7 +384,6 @@ public class InvocationPolicyEnforcerTest { InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder); parser.parse("--test_string=user value"); - // Repeatable flags always default to the empty list. TestOptions testOptions = getTestOptions(); assertEquals("user value", testOptions.testString); |