aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Florian Weikert <fwe@google.com>2015-12-02 15:24:59 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-12-02 22:26:43 +0000
commit9de1ae45ca47d7678265575937273c1670af272f (patch)
tree71bf275ad0226fc356360c5b68dc1a24844fe170 /src/test/java/com/google/devtools/build/lib
parent1fa52bb79eb61fa55a8714aa5c0e66871dd90223 (diff)
Migrated tests in devtools/build/lib/rules/cpp to JUnit 4.
-- MOS_MIGRATED_REVID=109195712
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProviderTest.java13
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CcTransitiveGeneratedHeaderDepsTest.java25
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContextTest.java16
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java18
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java30
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 =