[SPARK-7558] Guard against direct uses of FunSuite / FunSuiteLike

This is a follow-up patch to #6441.

Author: Andrew Or <andrew@databricks.com>

Closes #6510 from andrewor14/extends-funsuite-check and squashes the following commits:

6618b46 [Andrew Or] Exempt SparkSinkSuite from the FunSuite check
99d02ac [Andrew Or] Merge branch 'master' of github.com:apache/spark into extends-funsuite-check
48874dd [Andrew Or] Guard against direct uses of FunSuite / FunSuiteLike
This commit is contained in:
Andrew Or 2015-05-29 22:57:46 -07:00 committed by Reynold Xin
parent 7ed06c3992
commit 609c4923f9
3 changed files with 18 additions and 0 deletions

View file

@ -17,12 +17,14 @@
package org.apache.spark package org.apache.spark
// scalastyle:off
import org.scalatest.{FunSuite, Outcome} import org.scalatest.{FunSuite, Outcome}
/** /**
* Base abstract class for all unit tests in Spark for handling common functionality. * Base abstract class for all unit tests in Spark for handling common functionality.
*/ */
private[spark] abstract class SparkFunSuite extends FunSuite with Logging { private[spark] abstract class SparkFunSuite extends FunSuite with Logging {
// scalastyle:on
/** /**
* Log the suite name and the test name before and after each test. * Log the suite name and the test name before and after each test.

View file

@ -31,9 +31,18 @@ import org.apache.flume.Context
import org.apache.flume.channel.MemoryChannel import org.apache.flume.channel.MemoryChannel
import org.apache.flume.event.EventBuilder import org.apache.flume.event.EventBuilder
import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory
// Due to MNG-1378, there is not a way to include test dependencies transitively.
// We cannot include Spark core tests as a dependency here because it depends on
// Spark core main, which has too many dependencies to require here manually.
// For this reason, we continue to use FunSuite and ignore the scalastyle checks
// that fail if this is detected.
//scalastyle:off
import org.scalatest.FunSuite import org.scalatest.FunSuite
class SparkSinkSuite extends FunSuite { class SparkSinkSuite extends FunSuite {
//scalastyle:on
val eventsPerBatch = 1000 val eventsPerBatch = 1000
val channelCapacity = 5000 val channelCapacity = 5000

View file

@ -153,4 +153,11 @@
</parameters> </parameters>
</check> </check>
<check level="error" class="org.scalastyle.scalariform.NotImplementedErrorUsage" enabled="true"></check> <check level="error" class="org.scalastyle.scalariform.NotImplementedErrorUsage" enabled="true"></check>
<!-- As of SPARK-7558, all tests in Spark should extend o.a.s.SparkFunSuite instead of FunSuited directly -->
<check level="error" class="org.scalastyle.scalariform.TokenChecker" enabled="true">
<parameters>
<parameter name="regex">^FunSuite[A-Za-z]*$</parameter>
</parameters>
<customMessage>Tests must extend org.apache.spark.SparkFunSuite instead.</customMessage>
</check>
</scalastyle> </scalastyle>