diff options
Diffstat (limited to 'src/test/java/com')
11 files changed, 128 insertions, 14 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/test/TestTimeoutConverterTest.java b/src/test/java/com/google/devtools/build/lib/analysis/test/TestTimeoutConverterTest.java new file mode 100644 index 0000000000..792e962560 --- /dev/null +++ b/src/test/java/com/google/devtools/build/lib/analysis/test/TestTimeoutConverterTest.java @@ -0,0 +1,107 @@ +// Copyright 2017 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.analysis.test; + +import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.fail; + +import com.google.devtools.build.lib.packages.TestTimeout; +import com.google.devtools.build.lib.packages.TestTimeout.TestTimeoutConverter; +import com.google.devtools.common.options.OptionsParsingException; +import java.time.Duration; +import java.util.Map; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * A test for {@link TestTimeoutConverter}. + */ +@RunWith(JUnit4.class) +public class TestTimeoutConverterTest { + private Map<TestTimeout, Duration> timeouts; + + protected void setTimeouts(String option) throws OptionsParsingException { + timeouts = new TestTimeoutConverter().convert(option); + } + + protected void assertTimeout(TestTimeout timeout, int expected) { + assertThat(timeouts).containsEntry(timeout, Duration.ofSeconds(expected)); + } + + protected void assertDefaultTimeout(TestTimeout timeout) { + assertTimeout(timeout, timeout.getTimeoutSeconds()); + } + + protected void assertFailure(String option) { + try { + setTimeouts(option); + fail("Incorrectly parsed '" + option + "'"); + } catch (OptionsParsingException e) { + // expected; + } + } + + @Test + public void testDefaultTimeout() throws Exception { + setTimeouts("-1"); + assertDefaultTimeout(TestTimeout.SHORT); + assertDefaultTimeout(TestTimeout.MODERATE); + assertDefaultTimeout(TestTimeout.LONG); + assertDefaultTimeout(TestTimeout.ETERNAL); + } + + @Test + public void testUniversalTimeout() throws Exception { + setTimeouts("1"); + assertTimeout(TestTimeout.SHORT, 1); + assertTimeout(TestTimeout.MODERATE, 1); + assertTimeout(TestTimeout.LONG, 1); + assertTimeout(TestTimeout.ETERNAL, 1); + + setTimeouts("2,"); // comma at the end is ignored. + assertTimeout(TestTimeout.SHORT, 2); + assertTimeout(TestTimeout.MODERATE, 2); + assertTimeout(TestTimeout.LONG, 2); + assertTimeout(TestTimeout.ETERNAL, 2); + } + + @Test + public void testSeparateTimeouts() throws Exception { + setTimeouts("1,0,-1,3"); + assertTimeout(TestTimeout.SHORT, 1); + assertDefaultTimeout(TestTimeout.MODERATE); + assertDefaultTimeout(TestTimeout.LONG); + assertTimeout(TestTimeout.ETERNAL, 3); + + setTimeouts("0,-1,3,20"); + assertDefaultTimeout(TestTimeout.SHORT); + assertDefaultTimeout(TestTimeout.MODERATE); + assertTimeout(TestTimeout.LONG, 3); + assertTimeout(TestTimeout.ETERNAL, 20); + } + + @Test + public void testIncorrectStrings() throws Exception { + assertFailure(""); + assertFailure("1a"); + assertFailure("1 2 3 4"); + assertFailure("1:2:3:4"); + assertFailure("1,2,3"); + assertFailure("1,2,3,4,"); + assertFailure("1,2,,3,4"); + assertFailure("1,2,3 4"); + assertFailure("1,2,3,4,5"); + } +} diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index b47c717240..ae0c922a15 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -80,6 +80,8 @@ import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigurationFactory; import com.google.devtools.build.lib.analysis.config.PatchTransition; import com.google.devtools.build.lib.analysis.extra.ExtraAction; +import com.google.devtools.build.lib.analysis.test.BaselineCoverageAction; +import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.buildtool.BuildRequest; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; @@ -117,8 +119,6 @@ import com.google.devtools.build.lib.pkgcache.PackageCacheOptions; import com.google.devtools.build.lib.pkgcache.PackageManager; import com.google.devtools.build.lib.pkgcache.PathPackageLocator; import com.google.devtools.build.lib.rules.repository.RepositoryDelegatorFunction; -import com.google.devtools.build.lib.rules.test.BaselineCoverageAction; -import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.skyframe.AspectValue; import com.google.devtools.build.lib.skyframe.BazelSkyframeExecutorConstants; import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java index ffd847c52e..7650b01f09 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidDeviceTest.java @@ -29,8 +29,8 @@ import com.google.devtools.build.lib.analysis.Runfiles; import com.google.devtools.build.lib.analysis.RunfilesProvider; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction; +import com.google.devtools.build.lib.analysis.test.ExecutionInfoProvider; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; -import com.google.devtools.build.lib.rules.test.ExecutionInfoProvider; import java.io.IOException; import java.util.HashSet; import java.util.List; diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java index 7c013507a5..041368975a 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java @@ -30,11 +30,11 @@ import com.google.devtools.build.lib.actions.util.ActionsTestUtil; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.OutputGroupProvider; +import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.analysis.util.AnalysisMock; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.packages.ImplicitOutputsFunction; import com.google.devtools.build.lib.packages.util.MockCcSupport; -import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.util.FileType; diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java index c78b771a88..e8533552a5 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/AppleBinaryTest.java @@ -27,6 +27,7 @@ import com.google.devtools.build.lib.actions.CommandAction; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.analysis.actions.SymlinkAction; +import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.rules.apple.AppleConfiguration.ConfigurationDistinguisher; import com.google.devtools.build.lib.rules.apple.ApplePlatform; import com.google.devtools.build.lib.rules.apple.ApplePlatform.PlatformType; @@ -34,7 +35,6 @@ import com.google.devtools.build.lib.rules.apple.AppleToolchain; import com.google.devtools.build.lib.rules.objc.AppleBinary.BinaryType; import com.google.devtools.build.lib.rules.objc.CompilationSupport.ExtraLinkArgs; import com.google.devtools.build.lib.rules.objc.ObjcCommandLineOptions.ObjcCrosstoolMode; -import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.syntax.SkylarkDict; import com.google.devtools.build.lib.testutil.Scratch; import java.io.IOException; diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java index f33a9e6636..224559e8b6 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/IosTestTest.java @@ -29,14 +29,14 @@ import com.google.devtools.build.lib.analysis.RunfilesProvider; import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction; import com.google.devtools.build.lib.analysis.actions.TemplateExpansionAction.Substitution; import com.google.devtools.build.lib.analysis.config.CompilationMode; +import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider; +import com.google.devtools.build.lib.analysis.test.TestProvider; +import com.google.devtools.build.lib.analysis.test.TestRunnerAction; import com.google.devtools.build.lib.packages.util.MockObjcSupport; import com.google.devtools.build.lib.packages.util.MockProtoSupport; import com.google.devtools.build.lib.rules.apple.AppleConfiguration.ConfigurationDistinguisher; import com.google.devtools.build.lib.rules.apple.XcodeVersionProperties; import com.google.devtools.build.lib.rules.objc.ObjcCommandLineOptions.ObjcCrosstoolMode; -import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; -import com.google.devtools.build.lib.rules.test.TestProvider; -import com.google.devtools.build.lib.rules.test.TestRunnerAction; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.xcode.plmerge.proto.PlMergeProtos; import java.util.List; diff --git a/src/test/java/com/google/devtools/build/lib/rules/test/SkylarkTestingModuleTest.java b/src/test/java/com/google/devtools/build/lib/rules/test/SkylarkTestingModuleTest.java index 0d6318f606..2bb09f4789 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/test/SkylarkTestingModuleTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/test/SkylarkTestingModuleTest.java @@ -16,6 +16,10 @@ package com.google.devtools.build.lib.rules.test; import static com.google.common.truth.Truth.assertThat; import com.google.devtools.build.lib.analysis.ConfiguredTarget; +import com.google.devtools.build.lib.analysis.test.ExecutionInfoProvider; +import com.google.devtools.build.lib.analysis.test.TestEnvironmentProvider; +import com.google.devtools.build.lib.analysis.test.TestProvider; +import com.google.devtools.build.lib.analysis.test.TestRunnerAction; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/src/test/java/com/google/devtools/build/lib/rules/test/TestTargetPropertiesTest.java b/src/test/java/com/google/devtools/build/lib/rules/test/TestTargetPropertiesTest.java index 2a12f56d0b..5571f5fcde 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/test/TestTargetPropertiesTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/test/TestTargetPropertiesTest.java @@ -18,6 +18,9 @@ import static com.google.common.truth.Truth.assertThat; import com.google.devtools.build.lib.actions.ResourceSet; import com.google.devtools.build.lib.analysis.ConfiguredTarget; +import com.google.devtools.build.lib.analysis.test.TestProvider; +import com.google.devtools.build.lib.analysis.test.TestRunnerAction; +import com.google.devtools.build.lib.analysis.test.TestTargetProperties; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java index f2b690fe38..287e9e1ac3 100644 --- a/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java +++ b/src/test/java/com/google/devtools/build/lib/runtime/TestResultAnalyzerTest.java @@ -20,12 +20,12 @@ import static org.mockito.Mockito.when; import com.google.common.collect.ImmutableList; import com.google.common.eventbus.EventBus; import com.google.devtools.build.lib.analysis.ConfiguredTarget; +import com.google.devtools.build.lib.analysis.test.TestProvider; +import com.google.devtools.build.lib.analysis.test.TestProvider.TestParams; +import com.google.devtools.build.lib.analysis.test.TestResult; +import com.google.devtools.build.lib.analysis.test.TestRunnerAction; import com.google.devtools.build.lib.exec.ExecutionOptions; import com.google.devtools.build.lib.packages.TestTimeout; -import com.google.devtools.build.lib.rules.test.TestProvider; -import com.google.devtools.build.lib.rules.test.TestProvider.TestParams; -import com.google.devtools.build.lib.rules.test.TestResult; -import com.google.devtools.build.lib.rules.test.TestRunnerAction; import com.google.devtools.build.lib.runtime.TerminalTestResultNotifier.TestSummaryOptions; import com.google.devtools.build.lib.testutil.Suite; import com.google.devtools.build.lib.testutil.TestSpec; diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java index 0e65dc7b0c..9137268a8f 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsWithDynamicConfigurationsTest.java @@ -34,6 +34,7 @@ import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.PatchTransition; +import com.google.devtools.build.lib.analysis.test.TestConfiguration; import com.google.devtools.build.lib.analysis.util.MockRule; import com.google.devtools.build.lib.analysis.util.TestAspects; import com.google.devtools.build.lib.analysis.util.TestAspects.DummyRuleFactory; @@ -45,7 +46,6 @@ import com.google.devtools.build.lib.packages.NonconfigurableAttributeMapper; import com.google.devtools.build.lib.packages.Rule; import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleTransitionFactory; -import com.google.devtools.build.lib.rules.test.TestConfiguration; import com.google.devtools.build.lib.testutil.Suite; import com.google.devtools.build.lib.testutil.TestSpec; import com.google.devtools.build.lib.util.FileTypeSet; diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java index 71e084da10..35b1e3797b 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java @@ -28,6 +28,7 @@ import com.google.devtools.build.lib.analysis.FileProvider; import com.google.devtools.build.lib.analysis.OutputGroupProvider; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget; import com.google.devtools.build.lib.analysis.RunfilesProvider; +import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; @@ -36,7 +37,6 @@ import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException; import com.google.devtools.build.lib.packages.Info; import com.google.devtools.build.lib.packages.Provider; import com.google.devtools.build.lib.packages.SkylarkProvider; -import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; import com.google.devtools.build.lib.skyframe.PackageFunction; import com.google.devtools.build.lib.skyframe.SkyFunctions; import com.google.devtools.build.lib.skyframe.SkylarkImportLookupFunction; |