diff options
author | 2018-03-19 10:26:07 -0700 | |
---|---|---|
committer | 2018-03-19 10:28:57 -0700 | |
commit | e6af9f9178e731a45e552b1d249ded90124945ba (patch) | |
tree | 35b1295422c1ceccea26fb54330b6811815a3e41 /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | 6d4386064edbd09b39b5bf5664c0f976713c0fec (diff) |
Add behavior to NestedSetCodec to prevent it from running during testing.
PiperOrigin-RevId: 189602622
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java new file mode 100644 index 0000000000..e3886dd276 --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java @@ -0,0 +1,47 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.devtools.build.lib.skyframe.serialization; + +/** + * Some static constants for deciding serialization behavior. + */ +public class SerializationConstants { + + /** + * If true, we attempt to to serialize ConfiguredTargetValue in testing. + */ + public static final boolean VALIDATE_CONFIGURED_TARGET_VALUE = + System.getenv("DONT_VALIDATE_CONFIGURED_TARGET_VALUE") == null; + + private static final boolean IN_TEST = System.getenv("TEST_TMPDIR") != null; + private static final boolean CHECK_SERIALIZATION = + System.getenv("DONT_SANITY_CHECK_SERIALIZATION") == null; + + private static final boolean TEST_NESTED_SET_SERIALIZATION = + System.getenv("TEST_NESTED_SET_SERIALIZATION") != null; + + /** + * If true, serialization should include NestedSet. Non-final so tests can opt-in to NestedSet + * serialization. + */ + public static boolean shouldSerializeNestedSet = TEST_NESTED_SET_SERIALIZATION || !IN_TEST; + + /** + * Returns true if serialization should be validated on all Skyframe writes. + */ + public static boolean shouldCheckSerializationBecauseInTest() { + return IN_TEST && CHECK_SERIALIZATION; + } +} |