Move //src/com/facebook/buck/rules:test to //src/com/facebook/buck/test:test.

Summary:
src/com/facebook/buck/rules/BUCK had three java_library rules,
so it seemed like a good idea to get it down to two.

Test Plan: Sandcastle builds.
diff --git a/src/com/facebook/buck/cli/BUCK b/src/com/facebook/buck/cli/BUCK
index 7f40621..986b1fd 100644
--- a/src/com/facebook/buck/cli/BUCK
+++ b/src/com/facebook/buck/cli/BUCK
@@ -44,7 +44,7 @@
     '//src/com/facebook/buck/parser:project',
     '//src/com/facebook/buck/parser:support',
     '//src/com/facebook/buck/rules:rules',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/rules:types',
     '//src/com/facebook/buck/shell:steps',
     '//src/com/facebook/buck/step:step',
diff --git a/src/com/facebook/buck/cli/TestCommand.java b/src/com/facebook/buck/cli/TestCommand.java
index aa8b149..67a292c 100644
--- a/src/com/facebook/buck/cli/TestCommand.java
+++ b/src/com/facebook/buck/cli/TestCommand.java
@@ -35,8 +35,6 @@
 import com.facebook.buck.rules.BuildRuleType;
 import com.facebook.buck.rules.DependencyGraph;
 import com.facebook.buck.rules.IndividualTestEvent;
-import com.facebook.buck.rules.TestCaseSummary;
-import com.facebook.buck.rules.TestResults;
 import com.facebook.buck.rules.TestRule;
 import com.facebook.buck.rules.TestRunEvent;
 import com.facebook.buck.step.DefaultStepRunner;
@@ -45,6 +43,8 @@
 import com.facebook.buck.step.StepFailedException;
 import com.facebook.buck.step.StepRunner;
 import com.facebook.buck.step.fs.MakeCleanDirectoryStep;
+import com.facebook.buck.test.TestCaseSummary;
+import com.facebook.buck.test.TestResults;
 import com.facebook.buck.util.HumanReadableException;
 import com.facebook.buck.util.ProjectFilesystem;
 import com.facebook.buck.util.Verbosity;
diff --git a/src/com/facebook/buck/event/listener/BUCK b/src/com/facebook/buck/event/listener/BUCK
index 0a754d6..481b089 100644
--- a/src/com/facebook/buck/event/listener/BUCK
+++ b/src/com/facebook/buck/event/listener/BUCK
@@ -13,7 +13,7 @@
     '//src/com/facebook/buck/model:model',
     '//src/com/facebook/buck/parser:parser',
     '//src/com/facebook/buck/rules:rules',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/step:step',
     '//src/com/facebook/buck/timing:timing',
     '//src/com/facebook/buck/util:constants',
diff --git a/src/com/facebook/buck/event/listener/TestResultFormatter.java b/src/com/facebook/buck/event/listener/TestResultFormatter.java
index 8ddc153..d2ea172 100644
--- a/src/com/facebook/buck/event/listener/TestResultFormatter.java
+++ b/src/com/facebook/buck/event/listener/TestResultFormatter.java
@@ -16,9 +16,9 @@
 
 package com.facebook.buck.event.listener;
 
-import com.facebook.buck.rules.TestCaseSummary;
-import com.facebook.buck.rules.TestResultSummary;
-import com.facebook.buck.rules.TestResults;
+import com.facebook.buck.test.TestCaseSummary;
+import com.facebook.buck.test.TestResultSummary;
+import com.facebook.buck.test.TestResults;
 import com.facebook.buck.util.Ansi;
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
diff --git a/src/com/facebook/buck/java/BUCK b/src/com/facebook/buck/java/BUCK
index 8080ebe..3a98018 100644
--- a/src/com/facebook/buck/java/BUCK
+++ b/src/com/facebook/buck/java/BUCK
@@ -51,7 +51,7 @@
     '//src/com/facebook/buck/model:model',
     '//src/com/facebook/buck/parser:support',
     '//src/com/facebook/buck/rules:rules',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/shell:steps',
     '//src/com/facebook/buck/step:step',
     '//src/com/facebook/buck/step/fs:fs',
diff --git a/src/com/facebook/buck/java/JavaTestRule.java b/src/com/facebook/buck/java/JavaTestRule.java
index f294e09..65280f9 100644
--- a/src/com/facebook/buck/java/JavaTestRule.java
+++ b/src/com/facebook/buck/java/JavaTestRule.java
@@ -27,14 +27,14 @@
 import com.facebook.buck.rules.LabelsAttributeBuilder;
 import com.facebook.buck.rules.RuleKey;
 import com.facebook.buck.rules.SourcePath;
-import com.facebook.buck.rules.TestCaseSummary;
-import com.facebook.buck.rules.TestResults;
 import com.facebook.buck.rules.TestRule;
-import com.facebook.buck.rules.XmlTestResultParser;
 import com.facebook.buck.step.ExecutionContext;
 import com.facebook.buck.step.Step;
 import com.facebook.buck.step.TargetDevice;
 import com.facebook.buck.step.fs.MakeCleanDirectoryStep;
+import com.facebook.buck.test.TestCaseSummary;
+import com.facebook.buck.test.TestResults;
+import com.facebook.buck.test.XmlTestResultParser;
 import com.facebook.buck.util.BuckConstant;
 import com.facebook.buck.util.HumanReadableException;
 import com.facebook.buck.util.ProjectFilesystem;
diff --git a/src/com/facebook/buck/rules/BUCK b/src/com/facebook/buck/rules/BUCK
index 883bf8c..61a1fc5 100644
--- a/src/com/facebook/buck/rules/BUCK
+++ b/src/com/facebook/buck/rules/BUCK
@@ -1,22 +1,3 @@
-# Sources for dealing with test results.
-TEST_SRCS = [
-  'TestCaseSummary.java',
-  'TestResults.java',
-  'TestResultSummary.java',
-  'XmlTestResultParser.java',
-]
-java_library(
-  name = 'test',
-  srcs = TEST_SRCS,
-  deps = [
-    '//lib:guava',
-    '//lib:jsr305',
-    '//src/com/facebook/buck/util:io',
-    '//src/com/facebook/buck/util:util',
-  ],
-  visibility = ['PUBLIC'],
-)
-
 java_library(
   name = 'types',
   srcs = ['KnownBuildRuleTypes.java'],
@@ -41,9 +22,8 @@
 
 java_library(
   name = 'rules',
-  srcs = glob(['*.java'], excludes = TEST_SRCS + ['KnownBuildRuleTypes.java']),
+  srcs = glob(['*.java'], excludes = ['KnownBuildRuleTypes.java']),
   deps = [
-    ':test',
     '//lib:guava',
     '//lib:jsr305',
     '//src/com/facebook/buck/android:exceptions',
@@ -55,6 +35,7 @@
     '//src/com/facebook/buck/shell:steps',
     '//src/com/facebook/buck/step:step',
     '//src/com/facebook/buck/step/fs:fs',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/util:constants',
     '//src/com/facebook/buck/util:exceptions',
     '//src/com/facebook/buck/util:io',
diff --git a/src/com/facebook/buck/rules/IndividualTestEvent.java b/src/com/facebook/buck/rules/IndividualTestEvent.java
index 61a42e8..47ea83a 100644
--- a/src/com/facebook/buck/rules/IndividualTestEvent.java
+++ b/src/com/facebook/buck/rules/IndividualTestEvent.java
@@ -18,6 +18,7 @@
 
 import com.facebook.buck.event.AbstractBuckEvent;
 import com.facebook.buck.event.BuckEvent;
+import com.facebook.buck.test.TestResults;
 import com.google.common.base.Preconditions;
 
 import java.util.Objects;
diff --git a/src/com/facebook/buck/rules/TestRule.java b/src/com/facebook/buck/rules/TestRule.java
index 289c316..27d8b9a 100644
--- a/src/com/facebook/buck/rules/TestRule.java
+++ b/src/com/facebook/buck/rules/TestRule.java
@@ -18,6 +18,7 @@
 
 import com.facebook.buck.step.ExecutionContext;
 import com.facebook.buck.step.Step;
+import com.facebook.buck.test.TestResults;
 import com.google.common.collect.ImmutableSet;
 
 import java.util.List;
diff --git a/src/com/facebook/buck/rules/TestRunEvent.java b/src/com/facebook/buck/rules/TestRunEvent.java
index 7a77b61..b2c4a09 100644
--- a/src/com/facebook/buck/rules/TestRunEvent.java
+++ b/src/com/facebook/buck/rules/TestRunEvent.java
@@ -18,6 +18,7 @@
 
 import com.facebook.buck.event.AbstractBuckEvent;
 import com.facebook.buck.event.BuckEvent;
+import com.facebook.buck.test.TestResults;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
diff --git a/src/com/facebook/buck/shell/BUCK b/src/com/facebook/buck/shell/BUCK
index dfe7230..068d5b1 100644
--- a/src/com/facebook/buck/shell/BUCK
+++ b/src/com/facebook/buck/shell/BUCK
@@ -20,7 +20,7 @@
     '//src/com/facebook/buck/model:model',
     '//src/com/facebook/buck/parser:support',
     '//src/com/facebook/buck/rules:rules',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/step:step',
     '//src/com/facebook/buck/step/fs:fs',
     '//src/com/facebook/buck/util:constants',
@@ -41,7 +41,7 @@
     '//lib:jsr305',
     '//src/com/facebook/buck/event:event',
     '//src/com/facebook/buck/model:model',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/step:step',
     '//src/com/facebook/buck/util:io',
     '//src/com/facebook/buck/util:util',
diff --git a/src/com/facebook/buck/shell/RunShTestAndRecordResultStep.java b/src/com/facebook/buck/shell/RunShTestAndRecordResultStep.java
index eb39816..92fb636 100644
--- a/src/com/facebook/buck/shell/RunShTestAndRecordResultStep.java
+++ b/src/com/facebook/buck/shell/RunShTestAndRecordResultStep.java
@@ -16,9 +16,9 @@
 
 package com.facebook.buck.shell;
 
-import com.facebook.buck.rules.TestResultSummary;
 import com.facebook.buck.step.ExecutionContext;
 import com.facebook.buck.step.Step;
+import com.facebook.buck.test.TestResultSummary;
 import com.fasterxml.jackson.core.JsonGenerationException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/src/com/facebook/buck/shell/ShTestRule.java b/src/com/facebook/buck/shell/ShTestRule.java
index f5f7e1a..923f21d 100644
--- a/src/com/facebook/buck/shell/ShTestRule.java
+++ b/src/com/facebook/buck/shell/ShTestRule.java
@@ -26,13 +26,13 @@
 import com.facebook.buck.rules.Buildable;
 import com.facebook.buck.rules.LabelsAttributeBuilder;
 import com.facebook.buck.rules.RuleKey;
-import com.facebook.buck.rules.TestCaseSummary;
-import com.facebook.buck.rules.TestResultSummary;
-import com.facebook.buck.rules.TestResults;
 import com.facebook.buck.rules.TestRule;
 import com.facebook.buck.step.ExecutionContext;
 import com.facebook.buck.step.Step;
 import com.facebook.buck.step.fs.MakeCleanDirectoryStep;
+import com.facebook.buck.test.TestCaseSummary;
+import com.facebook.buck.test.TestResultSummary;
+import com.facebook.buck.test.TestResults;
 import com.facebook.buck.util.BuckConstant;
 import com.facebook.buck.util.ProjectFilesystem;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/src/com/facebook/buck/test/BUCK b/src/com/facebook/buck/test/BUCK
new file mode 100644
index 0000000..0cc84c8
--- /dev/null
+++ b/src/com/facebook/buck/test/BUCK
@@ -0,0 +1,12 @@
+# Sources for dealing with test results.
+java_library(
+  name = 'test',
+  srcs = glob(['*.java']),
+  deps = [
+    '//lib:guava',
+    '//lib:jsr305',
+    '//src/com/facebook/buck/util:io',
+    '//src/com/facebook/buck/util:util',
+  ],
+  visibility = ['PUBLIC'],
+)
diff --git a/src/com/facebook/buck/rules/TestCaseSummary.java b/src/com/facebook/buck/test/TestCaseSummary.java
similarity index 98%
rename from src/com/facebook/buck/rules/TestCaseSummary.java
rename to src/com/facebook/buck/test/TestCaseSummary.java
index 74c122c..37b96b1 100644
--- a/src/com/facebook/buck/rules/TestCaseSummary.java
+++ b/src/com/facebook/buck/test/TestCaseSummary.java
@@ -14,7 +14,7 @@
  * under the License.
  */
 
-package com.facebook.buck.rules;
+package com.facebook.buck.test;
 
 import com.facebook.buck.util.Ansi;
 import com.facebook.buck.util.TimeFormat;
diff --git a/src/com/facebook/buck/rules/TestResultSummary.java b/src/com/facebook/buck/test/TestResultSummary.java
similarity index 98%
rename from src/com/facebook/buck/rules/TestResultSummary.java
rename to src/com/facebook/buck/test/TestResultSummary.java
index 17d6c51..c841f8a 100644
--- a/src/com/facebook/buck/rules/TestResultSummary.java
+++ b/src/com/facebook/buck/test/TestResultSummary.java
@@ -14,7 +14,7 @@
  * under the License.
  */
 
-package com.facebook.buck.rules;
+package com.facebook.buck.test;
 
 import com.facebook.buck.util.Ansi;
 import com.facebook.buck.util.TimeFormat;
diff --git a/src/com/facebook/buck/rules/TestResults.java b/src/com/facebook/buck/test/TestResults.java
similarity index 98%
rename from src/com/facebook/buck/rules/TestResults.java
rename to src/com/facebook/buck/test/TestResults.java
index d3109f2..426300e 100644
--- a/src/com/facebook/buck/rules/TestResults.java
+++ b/src/com/facebook/buck/test/TestResults.java
@@ -14,7 +14,7 @@
  * under the License.
  */
 
-package com.facebook.buck.rules;
+package com.facebook.buck.test;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.ImmutableList;
diff --git a/src/com/facebook/buck/rules/XmlTestResultParser.java b/src/com/facebook/buck/test/XmlTestResultParser.java
similarity index 98%
rename from src/com/facebook/buck/rules/XmlTestResultParser.java
rename to src/com/facebook/buck/test/XmlTestResultParser.java
index d6b5319..889d41a 100644
--- a/src/com/facebook/buck/rules/XmlTestResultParser.java
+++ b/src/com/facebook/buck/test/XmlTestResultParser.java
@@ -14,7 +14,7 @@
  * under the License.
  */
 
-package com.facebook.buck.rules;
+package com.facebook.buck.test;
 
 import com.facebook.buck.util.XmlDomParser;
 import com.google.common.base.Preconditions;
diff --git a/test/com/facebook/buck/event/listener/BUCK b/test/com/facebook/buck/event/listener/BUCK
index f388207..e61392f 100644
--- a/test/com/facebook/buck/event/listener/BUCK
+++ b/test/com/facebook/buck/event/listener/BUCK
@@ -19,7 +19,7 @@
     '//src/com/facebook/buck/model:model',
     '//src/com/facebook/buck/parser:parser',
     '//src/com/facebook/buck/rules:rules',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/shell:steps',
     '//src/com/facebook/buck/step:step',
     '//src/com/facebook/buck/timing:timing',
diff --git a/test/com/facebook/buck/event/listener/TestResultFormatterTest.java b/test/com/facebook/buck/event/listener/TestResultFormatterTest.java
index 9ddd722..c6f34e6 100644
--- a/test/com/facebook/buck/event/listener/TestResultFormatterTest.java
+++ b/test/com/facebook/buck/event/listener/TestResultFormatterTest.java
@@ -18,9 +18,9 @@
 
 import static org.junit.Assert.assertEquals;
 
-import com.facebook.buck.rules.TestCaseSummary;
-import com.facebook.buck.rules.TestResultSummary;
-import com.facebook.buck.rules.TestResults;
+import com.facebook.buck.test.TestCaseSummary;
+import com.facebook.buck.test.TestResultSummary;
+import com.facebook.buck.test.TestResults;
 import com.facebook.buck.util.Ansi;
 import com.facebook.buck.util.environment.Platform;
 import com.google.common.base.Joiner;
diff --git a/test/com/facebook/buck/rules/BUCK b/test/com/facebook/buck/rules/BUCK
index 863c7a0..b02cb18 100644
--- a/test/com/facebook/buck/rules/BUCK
+++ b/test/com/facebook/buck/rules/BUCK
@@ -12,7 +12,7 @@
     '//lib:jsr305',
     '//src/com/facebook/buck/model:model',
     '//src/com/facebook/buck/rules:rules',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/step:step',
     '//src/com/facebook/buck/util:io',
   ],
@@ -42,7 +42,7 @@
     '//src/com/facebook/buck/model:model',
     '//src/com/facebook/buck/parser:parser',
     '//src/com/facebook/buck/rules:rules',
-    '//src/com/facebook/buck/rules:test',
+    '//src/com/facebook/buck/test:test',
     '//src/com/facebook/buck/shell:rules',
     '//src/com/facebook/buck/shell:steps',
     '//src/com/facebook/buck/step:step',
diff --git a/test/com/facebook/buck/rules/FakeTestRule.java b/test/com/facebook/buck/rules/FakeTestRule.java
index 9ee17b2..1f31f63 100644
--- a/test/com/facebook/buck/rules/FakeTestRule.java
+++ b/test/com/facebook/buck/rules/FakeTestRule.java
@@ -19,6 +19,7 @@
 import com.facebook.buck.model.BuildTargetPattern;
 import com.facebook.buck.step.ExecutionContext;
 import com.facebook.buck.step.Step;
+import com.facebook.buck.test.TestResults;
 import com.google.common.base.Functions;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
diff --git a/test/com/facebook/buck/rules/IndividualTestEventTest.java b/test/com/facebook/buck/rules/IndividualTestEventTest.java
index d7c0f3e..7770c3a 100644
--- a/test/com/facebook/buck/rules/IndividualTestEventTest.java
+++ b/test/com/facebook/buck/rules/IndividualTestEventTest.java
@@ -19,6 +19,8 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import com.facebook.buck.test.TestCaseSummary;
+import com.facebook.buck.test.TestResults;
 import com.google.common.collect.ImmutableList;
 
 import org.junit.Test;
diff --git a/test/com/facebook/buck/rules/TestRunEventTest.java b/test/com/facebook/buck/rules/TestRunEventTest.java
index 2f35d31..fed52ab 100644
--- a/test/com/facebook/buck/rules/TestRunEventTest.java
+++ b/test/com/facebook/buck/rules/TestRunEventTest.java
@@ -19,6 +19,7 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import com.facebook.buck.test.TestResults;
 import com.google.common.collect.ImmutableList;
 
 import org.junit.Test;
diff --git a/test/com/facebook/buck/test/BUCK b/test/com/facebook/buck/test/BUCK
new file mode 100644
index 0000000..556e300
--- /dev/null
+++ b/test/com/facebook/buck/test/BUCK
@@ -0,0 +1,11 @@
+java_test(
+  name = 'test',
+  srcs = glob(['*Test.java']),
+  deps = [
+    '//lib:junit',
+    '//src/com/facebook/buck/test:test',  
+  ],
+  source_under_test = [
+    '//src/com/facebook/buck/test:test',  
+  ],
+)
diff --git a/test/com/facebook/buck/rules/TestResultSummaryTest.java b/test/com/facebook/buck/test/TestResultSummaryTest.java
similarity index 98%
rename from test/com/facebook/buck/rules/TestResultSummaryTest.java
rename to test/com/facebook/buck/test/TestResultSummaryTest.java
index e8a2b73..56326d0 100644
--- a/test/com/facebook/buck/rules/TestResultSummaryTest.java
+++ b/test/com/facebook/buck/test/TestResultSummaryTest.java
@@ -14,7 +14,7 @@
  * under the License.
  */
 
-package com.facebook.buck.rules;
+package com.facebook.buck.test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;