From aeec6a7b28591fcfb2715c98fc6ef61e43c64d0b Mon Sep 17 00:00:00 2001 From: huangtianhua <huangtianhua@huawei.com> Date: Fri, 19 Jul 2019 16:02:12 -0700 Subject: [PATCH] [SPARK-28433][SQL][TEST] Remove hardware-dependent `0.0/0.0` and NaN comparison assertions ## What changes were proposed in this pull request? This PR removes a few hardware-dependent assertions which can cause a failure in `aarch64`. **x86_64** ``` rootdonotdel-openlab-allinone-l00242678:/home/ubuntu# uname -a Linux donotdel-openlab-allinone-l00242678 4.4.0-154-generic #181-Ubuntu SMP Tue Jun 25 05:29:03 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux scala> import java.lang.Float.floatToRawIntBits import java.lang.Float.floatToRawIntBits scala> floatToRawIntBits(0.0f/0.0f) res0: Int = -4194304 scala> floatToRawIntBits(Float.NaN) res1: Int = 2143289344 ``` **aarch64** ``` [rootarm-huangtianhua spark]# uname -a Linux arm-huangtianhua 4.14.0-49.el7a.aarch64 #1 SMP Tue Apr 10 17:22:26 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux scala> import java.lang.Float.floatToRawIntBits import java.lang.Float.floatToRawIntBits scala> floatToRawIntBits(0.0f/0.0f) res1: Int = 2143289344 scala> floatToRawIntBits(Float.NaN) res2: Int = 2143289344 ``` ## How was this patch tested? Pass the Jenkins (This removes the test coverage). Closes #25186 from huangtianhua/special-test-case-for-aarch64. Authored-by: huangtianhua <huangtianhua@huawei.com> Signed-off-by: Dongjoon Hyun <dhyun@apple.com> --- .../org/apache/spark/sql/DataFrameAggregateSuite.scala | 7 ------- .../apache/spark/sql/DataFrameWindowFunctionsSuite.scala | 7 ------- 2 files changed, 14 deletions(-) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala index e005a3e9a258e..e49ef012f5ebb 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala @@ -725,13 +725,6 @@ class DataFrameAggregateSuite extends QueryTest with SharedSQLContext { } test("SPARK-26021: NaN and -0.0 in grouping expressions") { - import java.lang.Float.floatToRawIntBits - import java.lang.Double.doubleToRawLongBits - - // 0.0/0.0 and NaN are different values. - assert(floatToRawIntBits(0.0f/0.0f) != floatToRawIntBits(Float.NaN)) - assert(doubleToRawLongBits(0.0/0.0) != doubleToRawLongBits(Double.NaN)) - checkAnswer( Seq(0.0f, -0.0f, 0.0f/0.0f, Float.NaN).toDF("f").groupBy("f").count(), Row(0.0f, 2) :: Row(Float.NaN, 2) :: Nil) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameWindowFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameWindowFunctionsSuite.scala index f4ba2f0673c0a..a07553008fd78 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameWindowFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameWindowFunctionsSuite.scala @@ -697,13 +697,6 @@ class DataFrameWindowFunctionsSuite extends QueryTest with SharedSQLContext { } test("NaN and -0.0 in window partition keys") { - import java.lang.Float.floatToRawIntBits - import java.lang.Double.doubleToRawLongBits - - // 0.0/0.0 and NaN are different values. - assert(floatToRawIntBits(0.0f/0.0f) != floatToRawIntBits(Float.NaN)) - assert(doubleToRawLongBits(0.0/0.0) != doubleToRawLongBits(Double.NaN)) - val df = Seq( (Float.NaN, Double.NaN), (0.0f/0.0f, 0.0/0.0),