diff --git a/core/src/test/scala/org/apache/spark/SparkFunSuite.scala b/core/src/test/scala/org/apache/spark/SparkFunSuite.scala index cf4400e080e37..ec641f8294b29 100644 --- a/core/src/test/scala/org/apache/spark/SparkFunSuite.scala +++ b/core/src/test/scala/org/apache/spark/SparkFunSuite.scala @@ -19,6 +19,7 @@ package org.apache.spark // scalastyle:off import java.io.File +import java.util.{Locale, TimeZone} import org.apache.log4j.spi.LoggingEvent @@ -63,6 +64,11 @@ abstract class SparkFunSuite with Logging { // scalastyle:on + // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) + TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) + // Add Locale setting + Locale.setDefault(Locale.US) + protected val enableAutoThreadAudit = true protected override def beforeAll(): Unit = { diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/SortOrderExpressionsSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/SortOrderExpressionsSuite.scala index f2696849d7753..4e6976f76ea5f 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/SortOrderExpressionsSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/SortOrderExpressionsSuite.scala @@ -18,7 +18,6 @@ package org.apache.spark.sql.catalyst.expressions import java.sql.Timestamp -import java.util.TimeZone import org.apache.spark.SparkFunSuite import org.apache.spark.sql.types._ @@ -35,15 +34,7 @@ class SortOrderExpressionsSuite extends SparkFunSuite with ExpressionEvalHelper val l1 = Literal.create(20132983L, LongType) val l2 = Literal.create(-20132983L, LongType) val millis = 1524954911000L - // Explicitly choose a time zone, since Date objects can create different values depending on - // local time zone of the machine on which the test is running - val oldDefaultTZ = TimeZone.getDefault - val d1 = try { - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - Literal.create(new java.sql.Date(millis), DateType) - } finally { - TimeZone.setDefault(oldDefaultTZ) - } + val d1 = Literal.create(new java.sql.Date(millis), DateType) val t1 = Literal.create(new Timestamp(millis), TimestampType) val f1 = Literal.create(0.7788229f, FloatType) val f2 = Literal.create(-0.7788229f, FloatType) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala b/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala index 4a21ae9242039..e52d2262a6bf8 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala @@ -17,7 +17,7 @@ package org.apache.spark.sql -import java.util.{Locale, TimeZone} +import java.util.TimeZone import scala.collection.JavaConverters._ @@ -35,11 +35,6 @@ abstract class QueryTest extends PlanTest { protected def spark: SparkSession - // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - // Add Locale setting - Locale.setDefault(Locale.US) - /** * Runs the plan and makes sure the answer contains all of the keywords. */ diff --git a/sql/core/src/test/scala/org/apache/spark/sql/SQLQueryTestSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/SQLQueryTestSuite.scala index 2b977e74ebd15..92da58c27a141 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/SQLQueryTestSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/SQLQueryTestSuite.scala @@ -18,7 +18,7 @@ package org.apache.spark.sql import java.io.File -import java.util.{Locale, TimeZone} +import java.util.Locale import java.util.regex.Pattern import scala.collection.mutable.{ArrayBuffer, HashMap} @@ -672,16 +672,9 @@ class SQLQueryTestSuite extends QueryTest with SharedSparkSession { session.sql("DROP TABLE IF EXISTS tenk1") } - private val originalTimeZone = TimeZone.getDefault - private val originalLocale = Locale.getDefault - override def beforeAll(): Unit = { super.beforeAll() createTestTables(spark) - // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - // Add Locale setting - Locale.setDefault(Locale.US) RuleExecutor.resetMetrics() CodeGenerator.resetCompileTime() WholeStageCodegenExec.resetCodeGenTime() @@ -689,8 +682,6 @@ class SQLQueryTestSuite extends QueryTest with SharedSparkSession { override def afterAll(): Unit = { try { - TimeZone.setDefault(originalTimeZone) - Locale.setDefault(originalLocale) removeTestTables(spark) // For debugging dump some statistics about how much time was spent in various optimizer rules diff --git a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala index 29825e5116ef9..d941c4bc75b42 100644 --- a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala +++ b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala @@ -18,7 +18,6 @@ package org.apache.spark.sql.hive.execution import java.io.File -import java.util.{Locale, TimeZone} import org.scalatest.BeforeAndAfter @@ -36,8 +35,6 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter { private lazy val hiveQueryDir = TestHive.getHiveFile( "ql/src/test/queries/clientpositive".split("/").mkString(File.separator)) - private val originalTimeZone = TimeZone.getDefault - private val originalLocale = Locale.getDefault private val originalColumnBatchSize = TestHive.conf.columnBatchSize private val originalInMemoryPartitionPruning = TestHive.conf.inMemoryPartitionPruning private val originalCrossJoinEnabled = TestHive.conf.crossJoinEnabled @@ -51,10 +48,6 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter { override def beforeAll(): Unit = { super.beforeAll() TestHive.setCacheTables(true) - // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - // Add Locale setting - Locale.setDefault(Locale.US) // Set a relatively small column batch size for testing purposes TestHive.setConf(SQLConf.COLUMN_BATCH_SIZE, 5) // Enable in-memory partition pruning for testing purposes @@ -73,8 +66,6 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter { override def afterAll(): Unit = { try { TestHive.setCacheTables(false) - TimeZone.setDefault(originalTimeZone) - Locale.setDefault(originalLocale) TestHive.setConf(SQLConf.COLUMN_BATCH_SIZE, originalColumnBatchSize) TestHive.setConf(SQLConf.IN_MEMORY_PARTITION_PRUNING, originalInMemoryPartitionPruning) TestHive.setConf(SQLConf.CROSS_JOINS_ENABLED, originalCrossJoinEnabled) diff --git a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveWindowFunctionQuerySuite.scala b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveWindowFunctionQuerySuite.scala index ed23f65815917..2c0970c85449f 100644 --- a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveWindowFunctionQuerySuite.scala +++ b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveWindowFunctionQuerySuite.scala @@ -18,7 +18,6 @@ package org.apache.spark.sql.hive.execution import java.io.File -import java.util.{Locale, TimeZone} import org.scalatest.BeforeAndAfter @@ -33,17 +32,11 @@ import org.apache.spark.util.Utils * files, every `createQueryTest` calls should explicitly set `reset` to `false`. */ class HiveWindowFunctionQuerySuite extends HiveComparisonTest with BeforeAndAfter { - private val originalTimeZone = TimeZone.getDefault - private val originalLocale = Locale.getDefault private val testTempDir = Utils.createTempDir() override def beforeAll(): Unit = { super.beforeAll() TestHive.setCacheTables(true) - // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - // Add Locale setting - Locale.setDefault(Locale.US) // Create the table used in windowing.q sql("DROP TABLE IF EXISTS part") @@ -103,8 +96,6 @@ class HiveWindowFunctionQuerySuite extends HiveComparisonTest with BeforeAndAfte override def afterAll(): Unit = { try { TestHive.setCacheTables(false) - TimeZone.setDefault(originalTimeZone) - Locale.setDefault(originalLocale) TestHive.reset() } finally { super.afterAll() @@ -747,17 +738,11 @@ class HiveWindowFunctionQuerySuite extends HiveComparisonTest with BeforeAndAfte class HiveWindowFunctionQueryFileSuite extends HiveCompatibilitySuite with BeforeAndAfter { - private val originalTimeZone = TimeZone.getDefault - private val originalLocale = Locale.getDefault private val testTempDir = Utils.createTempDir() override def beforeAll(): Unit = { super.beforeAll() TestHive.setCacheTables(true) - // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - // Add Locale setting - Locale.setDefault(Locale.US) // The following settings are used for generating golden files with Hive. // We have to use kryo to correctly let Hive serialize plans with window functions. @@ -772,8 +757,6 @@ class HiveWindowFunctionQueryFileSuite override def afterAll(): Unit = { try { TestHive.setCacheTables(false) - TimeZone.setDefault(originalTimeZone) - Locale.setDefault(originalLocale) TestHive.reset() } finally { super.afterAll() diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveInspectorSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveInspectorSuite.scala index 5912992694e84..13c48f38e7f78 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveInspectorSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveInspectorSuite.scala @@ -18,7 +18,6 @@ package org.apache.spark.sql.hive import java.util -import java.util.{Locale, TimeZone} import org.apache.hadoop.hive.ql.udf.UDAFPercentile import org.apache.hadoop.hive.serde2.io.DoubleWritable @@ -74,11 +73,6 @@ class HiveInspectorSuite extends SparkFunSuite with HiveInspectors { .get()) } - // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - // Add Locale setting - Locale.setDefault(Locale.US) - val data = Literal(true) :: Literal(null) :: diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala index 1e89db2bdd01a..63b985fbe4d32 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveQuerySuite.scala @@ -20,7 +20,7 @@ package org.apache.spark.sql.hive.execution import java.io.File import java.net.URI import java.sql.Timestamp -import java.util.{Locale, TimeZone} +import java.util.Locale import scala.util.Try @@ -47,9 +47,6 @@ case class TestData(a: Int, b: String) * included in the hive distribution. */ class HiveQuerySuite extends HiveComparisonTest with SQLTestUtils with BeforeAndAfter { - private val originalTimeZone = TimeZone.getDefault - private val originalLocale = Locale.getDefault - import org.apache.spark.sql.hive.test.TestHive.implicits._ private val originalCrossJoinEnabled = TestHive.conf.crossJoinEnabled @@ -59,10 +56,6 @@ class HiveQuerySuite extends HiveComparisonTest with SQLTestUtils with BeforeAnd override def beforeAll(): Unit = { super.beforeAll() TestHive.setCacheTables(true) - // Timezone is fixed to America/Los_Angeles for those timezone sensitive tests (timestamp_*) - TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")) - // Add Locale setting - Locale.setDefault(Locale.US) // Ensures that cross joins are enabled so that we can test them TestHive.setConf(SQLConf.CROSS_JOINS_ENABLED, true) } @@ -70,8 +63,6 @@ class HiveQuerySuite extends HiveComparisonTest with SQLTestUtils with BeforeAnd override def afterAll(): Unit = { try { TestHive.setCacheTables(false) - TimeZone.setDefault(originalTimeZone) - Locale.setDefault(originalLocale) sql("DROP TEMPORARY FUNCTION IF EXISTS udtf_count2") TestHive.setConf(SQLConf.CROSS_JOINS_ENABLED, originalCrossJoinEnabled) } finally {