Package org.apache.spark
Class TestUtils
Object
org.apache.spark.TestUtils
Utilities for tests. Included in main codebase since it's used by multiple
projects.
TODO: See if we can move this to the test codebase by specifying test dependencies between projects.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <E extends Throwable>
voidassertExceptionMsg
(Throwable exception, String msg, boolean ignoreCase, scala.reflect.ClassTag<E> evidence$1) Asserts that exception message contains the message.static void
assertNotSpilled
(SparkContext sc, String identifier, scala.Function0<scala.runtime.BoxedUnit> body) Run some code involving jobs submitted to the given context and assert that the jobs did not spill.static void
assertSpilled
(SparkContext sc, String identifier, scala.Function0<scala.runtime.BoxedUnit> body) Run some code involving jobs submitted to the given context and assert that the jobs spilled.static void
configTestLog4j2
(String level) config a log4j2 properties used for testsuitestatic File
createCompiledClass
(String className, File destDir, String toStringValue, String baseClass, scala.collection.Seq<URL> classpathUrls, scala.collection.Seq<String> implementsClasses, String extraCodeBody, scala.Option<String> packageName) Creates a compiled class with the given name.static File
createCompiledClass
(String className, File destDir, org.apache.spark.TestUtils.JavaSourceFromString sourceFile, scala.collection.Seq<URL> classpathUrls) Creates a compiled class with the source file.static URL
createJar
(scala.collection.Seq<File> files, File jarFile, scala.Option<String> directoryPrefix, scala.Option<String> mainClass) Create a jar file that contains this set of files.static URL
createJarWithClasses
(scala.collection.Seq<String> classNames, String toStringValue, scala.collection.Seq<scala.Tuple2<String, String>> classNamesWithBase, scala.collection.Seq<URL> classpathUrls) Create a jar that defines classes with the given names.static URL
createJarWithFiles
(scala.collection.immutable.Map<String, String> files, File dir) Create a jar file containing multiple files.static String
createTempJsonFile
(File dir, String prefix, org.json4s.JsonAST.JValue jsonValue) Creates a temp JSON file that contains the input JSON record.static String
createTempScriptWithExpectedOutput
(File dir, String prefix, String output) Creates a temp bash script that prints the given output.static scala.Option<String>
getAbsolutePathFromExecutable
(String executable) Get the absolute path from the executable.static int
httpResponseCode
(URL url, String method, scala.collection.Seq<scala.Tuple2<String, String>> headers) Returns the response code from an HTTP(S) URL.static String
httpResponseMessage
(URL url, String method, scala.collection.Seq<scala.Tuple2<String, String>> headers) Returns the response message from an HTTP(S) URL.static boolean
static String[]
listDirectory
(File path) Returns the list of files at 'path' recursively.static String
static File[]
Lists files recursively.static boolean
testCommandAvailable
(String command) Test if a command is available.static <T> T
withHttpConnection
(URL url, String method, scala.collection.Seq<scala.Tuple2<String, String>> headers, scala.Function1<HttpURLConnection, T> fn) static void
withHttpServer
(String resBaseDir, scala.Function1<URL, scala.runtime.BoxedUnit> body) static <L extends SparkListener>
voidwithListener
(SparkContext sc, L listener, scala.Function1<L, scala.runtime.BoxedUnit> body) Runs some code with the given listener installed in the SparkContext.
-
Constructor Details
-
TestUtils
public TestUtils()
-
-
Method Details
-
createJarWithClasses
public static URL createJarWithClasses(scala.collection.Seq<String> classNames, String toStringValue, scala.collection.Seq<scala.Tuple2<String, String>> classNamesWithBase, scala.collection.Seq<URL> classpathUrls) Create a jar that defines classes with the given names.Note: if this is used during class loader tests, class names should be unique in order to avoid interference between tests.
- Parameters:
classNames
- (undocumented)toStringValue
- (undocumented)classNamesWithBase
- (undocumented)classpathUrls
- (undocumented)- Returns:
- (undocumented)
-
createJarWithFiles
Create a jar file containing multiple files. Thefiles
map contains a mapping of file names in the jar file to their contents.- Parameters:
files
- (undocumented)dir
- (undocumented)- Returns:
- (undocumented)
-
createJar
public static URL createJar(scala.collection.Seq<File> files, File jarFile, scala.Option<String> directoryPrefix, scala.Option<String> mainClass) Create a jar file that contains this set of files. All files will be located in the specified directory or at the root of the jar.- Parameters:
files
- (undocumented)jarFile
- (undocumented)directoryPrefix
- (undocumented)mainClass
- (undocumented)- Returns:
- (undocumented)
-
createCompiledClass
public static File createCompiledClass(String className, File destDir, org.apache.spark.TestUtils.JavaSourceFromString sourceFile, scala.collection.Seq<URL> classpathUrls) Creates a compiled class with the source file. Class file will be placed in destDir. -
createCompiledClass
public static File createCompiledClass(String className, File destDir, String toStringValue, String baseClass, scala.collection.Seq<URL> classpathUrls, scala.collection.Seq<String> implementsClasses, String extraCodeBody, scala.Option<String> packageName) Creates a compiled class with the given name. Class file will be placed in destDir. -
assertSpilled
public static void assertSpilled(SparkContext sc, String identifier, scala.Function0<scala.runtime.BoxedUnit> body) Run some code involving jobs submitted to the given context and assert that the jobs spilled.- Parameters:
sc
- (undocumented)identifier
- (undocumented)body
- (undocumented)
-
assertNotSpilled
public static void assertNotSpilled(SparkContext sc, String identifier, scala.Function0<scala.runtime.BoxedUnit> body) Run some code involving jobs submitted to the given context and assert that the jobs did not spill.- Parameters:
sc
- (undocumented)identifier
- (undocumented)body
- (undocumented)
-
assertExceptionMsg
public static <E extends Throwable> void assertExceptionMsg(Throwable exception, String msg, boolean ignoreCase, scala.reflect.ClassTag<E> evidence$1) Asserts that exception message contains the message. Please note this checks all exceptions in the tree. If a type parameterE
is supplied, this will additionally confirm that the exception is a subtype of the exception provided in the type parameter.- Parameters:
exception
- (undocumented)msg
- (undocumented)ignoreCase
- (undocumented)evidence$1
- (undocumented)
-
testCommandAvailable
Test if a command is available.- Parameters:
command
- (undocumented)- Returns:
- (undocumented)
-
minimumPythonSupportedVersion
-
isPythonVersionAvailable
public static boolean isPythonVersionAvailable() -
getAbsolutePathFromExecutable
Get the absolute path from the executable. This implementation was borrowed fromspark/dev/sparktestsupport/shellutils.py
.- Parameters:
executable
- (undocumented)- Returns:
- (undocumented)
-
httpResponseCode
public static int httpResponseCode(URL url, String method, scala.collection.Seq<scala.Tuple2<String, String>> headers) Returns the response code from an HTTP(S) URL.- Parameters:
url
- (undocumented)method
- (undocumented)headers
- (undocumented)- Returns:
- (undocumented)
-
httpResponseMessage
public static String httpResponseMessage(URL url, String method, scala.collection.Seq<scala.Tuple2<String, String>> headers) Returns the response message from an HTTP(S) URL.- Parameters:
url
- (undocumented)method
- (undocumented)headers
- (undocumented)- Returns:
- (undocumented)
-
withHttpConnection
public static <T> T withHttpConnection(URL url, String method, scala.collection.Seq<scala.Tuple2<String, String>> headers, scala.Function1<HttpURLConnection, T> fn) -
withListener
public static <L extends SparkListener> void withListener(SparkContext sc, L listener, scala.Function1<L, scala.runtime.BoxedUnit> body) Runs some code with the given listener installed in the SparkContext. After the code runs, this method will wait until all events posted to the listener bus are processed, and then remove the listener from the bus.- Parameters:
sc
- (undocumented)listener
- (undocumented)body
- (undocumented)
-
withHttpServer
-
configTestLog4j2
config a log4j2 properties used for testsuite- Parameters:
level
- (undocumented)
-
recursiveList
Lists files recursively.- Parameters:
f
- (undocumented)- Returns:
- (undocumented)
-
listDirectory
Returns the list of files at 'path' recursively. This skips files that are ignored normally by MapReduce.- Parameters:
path
- (undocumented)- Returns:
- (undocumented)
-
createTempJsonFile
public static String createTempJsonFile(File dir, String prefix, org.json4s.JsonAST.JValue jsonValue) Creates a temp JSON file that contains the input JSON record. -
createTempScriptWithExpectedOutput
Creates a temp bash script that prints the given output.
-