diff options
author | Florian Weikert <fwe@google.com> | 2015-12-02 15:24:59 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2015-12-02 22:26:43 +0000 |
commit | 9de1ae45ca47d7678265575937273c1670af272f (patch) | |
tree | 71bf275ad0226fc356360c5b68dc1a24844fe170 /src/test/java/com/google | |
parent | 1fa52bb79eb61fa55a8714aa5c0e66871dd90223 (diff) |
Migrated tests in devtools/build/lib/rules/cpp to JUnit 4.
--
MOS_MIGRATED_REVID=109195712
Diffstat (limited to 'src/test/java/com/google')
5 files changed, 76 insertions, 26 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProviderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProviderTest.java index 56751a61ad..d0e4c2e40a 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProviderTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProviderTest.java @@ -17,18 +17,24 @@ import static com.google.common.truth.Truth.assertThat; import com.google.devtools.build.lib.actions.util.ActionsTestUtil; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget; -import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.analysis.util.BuildViewTestCaseForJunit4; import com.google.devtools.build.lib.testutil.TestConstants; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + /** * Tests for Skylark providers for cpp rules. */ -public class CcSkylarkApiProviderTest extends BuildViewTestCase { +@RunWith(JUnit4.class) +public class CcSkylarkApiProviderTest extends BuildViewTestCaseForJunit4 { private CcSkylarkApiProvider getApi(String label) throws Exception { RuleConfiguredTarget rule = (RuleConfiguredTarget) getConfiguredTarget(label); return (CcSkylarkApiProvider) rule.get(CcSkylarkApiProvider.NAME); } + @Test public void testTransitiveHeaders() throws Exception { scratch.file( "pkg/BUILD", @@ -47,6 +53,7 @@ public class CcSkylarkApiProviderTest extends BuildViewTestCase { .contains("lib.h"); } + @Test public void testLinkFlags() throws Exception { scratch.file( "pkg/BUILD", @@ -82,6 +89,7 @@ public class CcSkylarkApiProviderTest extends BuildViewTestCase { .isEmpty(); } + @Test public void testLibraries() throws Exception { scratch.file( "pkg/BUILD", @@ -106,6 +114,7 @@ public class CcSkylarkApiProviderTest extends BuildViewTestCase { .isEmpty(); } + @Test public void testCcFlags() throws Exception { scratch.file( "pkg/BUILD", diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcTransitiveGeneratedHeaderDepsTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcTransitiveGeneratedHeaderDepsTest.java index 8702ffc09b..d749a763a1 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcTransitiveGeneratedHeaderDepsTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcTransitiveGeneratedHeaderDepsTest.java @@ -15,6 +15,9 @@ package com.google.devtools.build.lib.rules.cpp; import static com.google.common.truth.Truth.assertThat; import static com.google.devtools.build.lib.util.StringUtilities.joinLines; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import com.google.common.base.Function; import com.google.common.base.Predicate; @@ -23,10 +26,15 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Ordering; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.ConfiguredTarget; -import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.analysis.util.BuildViewTestCaseForJunit4; import com.google.devtools.build.lib.util.Pair; import com.google.devtools.build.lib.vfs.PathFragment; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -38,15 +46,11 @@ import java.util.Set; * Tests how generated header dependencies make up a little middlemen + * headers DAG which hangs off of cc_library nodes. */ -public class CcTransitiveGeneratedHeaderDepsTest extends BuildViewTestCase { - - @Override - protected void setUp() throws Exception { - super.setUp(); - writeFiles(); - } +@RunWith(JUnit4.class) +public class CcTransitiveGeneratedHeaderDepsTest extends BuildViewTestCaseForJunit4 { - private void writeFiles() throws Exception { + @Before + public final void writeFiles() throws Exception { scratch.file("foo/BUILD", "cc_library(name = 'foo',", " srcs = ['foo.cc'],", " deps = ['//bar', '//boo'])"); @@ -93,6 +97,7 @@ public class CcTransitiveGeneratedHeaderDepsTest extends BuildViewTestCase { return createTargets(); } + @Test public void testQuoteIncludeDirs() throws Exception { ConfiguredTarget fooLib = setupWithOptions(); ImmutableList<PathFragment> quoteIncludeDirs = @@ -113,6 +118,7 @@ public class CcTransitiveGeneratedHeaderDepsTest extends BuildViewTestCase { }); } + @Test public void testGeneratesTreeOfMiddlemenAndGeneratedHeaders() throws Exception { ConfiguredTarget fooLib = setupWithOptions("--noextract_generated_inclusions"); Set<Artifact> middlemen = fooLib.getProvider(CppCompilationContext.class) @@ -135,6 +141,7 @@ public class CcTransitiveGeneratedHeaderDepsTest extends BuildViewTestCase { ""), new MiddlemenRenderer(middlemen).toString()); } + @Test public void testExtractInclusionsInActionGraph() throws Exception { ConfiguredTarget fooLib = setupWithOptions("--extract_generated_inclusions"); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java index 89c6000ad6..16f4b85583 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java @@ -20,16 +20,21 @@ import com.google.common.collect.ImmutableList; import com.google.common.testing.EqualsTester; import com.google.devtools.build.lib.actions.MiddlemanFactory; import com.google.devtools.build.lib.analysis.ConfiguredTarget; -import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.analysis.util.BuildViewTestCaseForJunit4; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; /** * Tests for {@link CppCompilationContext}. */ -public class CppCompilationContextTest extends BuildViewTestCase { +@RunWith(JUnit4.class) +public class CppCompilationContextTest extends BuildViewTestCaseForJunit4 { - @Override - protected void setUp() throws Exception { - super.setUp(); + @Before + public final void createBuildFile() throws Exception { scratch.file("foo/BUILD", "cc_binary(name = 'foo',", " srcs = ['foo.cc'])", @@ -37,6 +42,7 @@ public class CppCompilationContextTest extends BuildViewTestCase { " srcs = ['bar.cc'])"); } + @Test public void testEqualsAndHashCode() throws Exception { MiddlemanFactory middlemanFactory = getTestAnalysisEnvironment().getMiddlemanFactory(); ConfiguredTarget fooBin = getConfiguredTarget("//foo:foo"); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java index 8ed44605c1..9c3b480e1d 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java @@ -15,6 +15,8 @@ package com.google.devtools.build.lib.rules.cpp; import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.NULL_ACTION_OWNER; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; @@ -28,7 +30,7 @@ import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.util.ActionTester; import com.google.devtools.build.lib.analysis.util.ActionTester.ActionCombinationFactory; import com.google.devtools.build.lib.analysis.util.AnalysisTestUtil; -import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.analysis.util.BuildViewTestCaseForJunit4; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.rules.cpp.CppLinkAction.Builder; @@ -37,10 +39,15 @@ import com.google.devtools.build.lib.rules.cpp.Link.LinkTargetType; import com.google.devtools.build.lib.rules.cpp.LinkerInputs.LibraryToLink; import com.google.devtools.build.lib.vfs.PathFragment; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + /** * Tests for {@link CppLinkAction}. */ -public class CppLinkActionTest extends BuildViewTestCase { +@RunWith(JUnit4.class) +public class CppLinkActionTest extends BuildViewTestCaseForJunit4 { private RuleContext createDummyRuleContext() throws Exception { return view.getRuleContextForTesting(reporter, scratchConfiguredTarget( "dummyRuleContext", "dummyRuleContext", @@ -64,6 +71,7 @@ public class CppLinkActionTest extends BuildViewTestCase { * This mainly checks that non-static links don't have identical keys. Many options are only * allowed on non-static links, and we test several of them here. */ + @Test public void testComputeKeyNonStatic() throws Exception { final RuleContext ruleContext = createDummyRuleContext(); final PathFragment outputPath = new PathFragment("dummyRuleContext/output/path.xyz"); @@ -103,6 +111,7 @@ public class CppLinkActionTest extends BuildViewTestCase { * This mainly checks that static library links don't have identical keys, and it also compares * them with simple dynamic library links. */ + @Test public void testComputeKeyStatic() throws Exception { final RuleContext ruleContext = createDummyRuleContext(); final PathFragment outputPath = new PathFragment("dummyRuleContext/output/path.xyz"); @@ -132,6 +141,7 @@ public class CppLinkActionTest extends BuildViewTestCase { }); } + @Test public void testCommandLineSplitting() throws Exception { RuleContext ruleContext = createDummyRuleContext(); Artifact output = getDerivedArtifact( @@ -159,6 +169,7 @@ public class CppLinkActionTest extends BuildViewTestCase { * Links a small target. * Checks that resource estimates are above the minimum and scale correctly. */ + @Test public void testSmallLocalLinkResourceEstimate() throws Exception { assertLinkSizeAccuracy(3); } @@ -168,6 +179,7 @@ public class CppLinkActionTest extends BuildViewTestCase { * Checks that resource estimates are above the minimum and scale correctly. * The actual link action is irrelevant; we are just checking the estimate. */ + @Test public void testLargeLocalLinkResourceEstimate() throws Exception { assertLinkSizeAccuracy(7000); } @@ -185,7 +197,7 @@ public class CppLinkActionTest extends BuildViewTestCase { .build(); // Ensure that minima are enforced. - ResourceSet resources = ((CppLinkAction) linkAction).estimateResourceConsumptionLocal(); + ResourceSet resources = linkAction.estimateResourceConsumptionLocal(); assertTrue(resources.getMemoryMb() >= CppLinkAction.MIN_STATIC_LINK_RESOURCES.getMemoryMb()); assertTrue(resources.getCpuUsage() >= CppLinkAction.MIN_STATIC_LINK_RESOURCES.getCpuUsage()); assertTrue(resources.getIoUsage() >= CppLinkAction.MIN_STATIC_LINK_RESOURCES.getIoUsage()); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java index fbb98f0bc3..5ce4417e72 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java @@ -15,6 +15,12 @@ package com.google.devtools.build.lib.rules.cpp; import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import com.google.common.base.Functions; import com.google.common.collect.ImmutableList; @@ -24,7 +30,7 @@ import com.google.devtools.build.lib.analysis.config.CompilationMode; import com.google.devtools.build.lib.analysis.config.ConfigurationEnvironment; import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException; import com.google.devtools.build.lib.analysis.util.AnalysisMock; -import com.google.devtools.build.lib.analysis.util.AnalysisTestCase; +import com.google.devtools.build.lib.analysis.util.AnalysisTestCaseForJunit4; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.rules.cpp.CppConfiguration.Tool; @@ -32,6 +38,10 @@ import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.LipoMode; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + import java.io.IOException; import java.util.Arrays; import java.util.Collection; @@ -40,14 +50,10 @@ import java.util.Collections; /** * Tests for {@link CppConfigurationLoader}. */ -public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { +@RunWith(JUnit4.class) +public class CrosstoolConfigurationLoaderTest extends AnalysisTestCaseForJunit4 { private static final Collection<String> NO_FEATURES = Collections.emptySet(); - @Override - protected void setUp() throws Exception { - super.setUp(); - } - private CppConfiguration create(CppConfigurationLoader loader, String... args) throws Exception { ConfigurationEnvironment env = new ConfigurationEnvironment.TargetProviderEnvironment( @@ -150,6 +156,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { * ways. Do not modify the configuration file in this test, except if you are * absolutely certain that it is backwards-compatible. */ + @Test public void testSimpleCompleteConfiguration() throws Exception { CppConfigurationLoader loader = loaderWithOptionalTool(""); @@ -221,6 +228,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { * including non-default toolchains, missing sections and repeated entries * (and their order in the end result.) */ + @Test public void testComprehensiveCompleteConfiguration() throws Exception { CppConfigurationLoader loader = loader( @@ -701,6 +709,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { * --glibc flags, as long as they select a unique result. Also tests the error * messages we get when they don't. */ + @Test public void testCompilerLibcSearch() throws Exception { CppConfigurationLoader loader = loader( @@ -837,6 +846,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { } } + @Test public void testIncompleteFile() throws Exception { try { CrosstoolConfigurationLoader.toReleaseConfiguration("/CROSSTOOL", "major_version: \"12\""); @@ -886,6 +896,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { return s.toString(); } + @Test public void testConfigWithMissingToolDefs() throws Exception { CppConfigurationLoader loader = loader(getConfigWithMissingToolDef(Tool.STRIP)); try { @@ -899,6 +910,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { /** * For a fission-supporting crosstool: check the dwp tool path. */ + @Test public void testFissionConfigWithMissingDwp() throws Exception { CppConfigurationLoader loader = loader(getConfigWithMissingToolDef(Tool.DWP, "supports_fission: true")); @@ -913,6 +925,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { /** * For a non-fission-supporting crosstool, there's no need to check the dwp tool path. */ + @Test public void testNonFissionConfigWithMissingDwp() throws Exception { CppConfigurationLoader loader = loader(getConfigWithMissingToolDef(Tool.DWP, "supports_fission: false")); @@ -920,6 +933,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { create(loader, "--cpu=cpu"); } + @Test public void testInvalidFile() throws Exception { try { CrosstoolConfigurationLoader.toReleaseConfiguration("/CROSSTOOL", "some xxx : yak \""); @@ -935,6 +949,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { /** * Tests interpretation of static_runtimes_filegroup / dynamic_runtimes_filegroup. */ + @Test public void testCustomRuntimeLibraryPaths() throws Exception { CppConfigurationLoader loader = loader( @@ -991,6 +1006,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { * Crosstools should load fine with or without 'gcov-tool'. Those that define 'gcov-tool' * should also add a make variable. */ + @Test public void testOptionalGcovTool() throws Exception { // Crosstool with gcov-tool CppConfigurationLoader loader = |