This is an automated email from the ASF dual-hosted git repository.

srowen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new 29b9537e00d [SPARK-38848][TESTS] Replcace all `@Test(expected = 
XXException)` with `assertThrows`
29b9537e00d is described below

commit 29b9537e00d857c92378648ca7163ba0dc63da39
Author: yangjie01 <yangji...@baidu.com>
AuthorDate: Tue Apr 12 09:24:10 2022 -0500

    [SPARK-38848][TESTS] Replcace all `@Test(expected = XXException)` with 
`assertThrows`
    
    ### What changes were proposed in this pull request?
    `Test` no longer has `expected` parameters in Junit 5, this pr replace them 
with `assertThrows` to reduce the workload of future migration from Junit 4 to 
Junit 5.
    
    ### Why are the changes needed?
    Reduce Api usage that JUnit 5 no longer supports.
    
    ### Does this PR introduce _any_ user-facing change?
    No
    
    ### How was this patch tested?
    Pass GA
    
    Closes #36133 from LuciferYang/assert-throws-2.
    
    Lead-authored-by: yangjie01 <yangji...@baidu.com>
    Co-authored-by: YangJie <yangji...@baidu.com>
    Signed-off-by: Sean Owen <sro...@gmail.com>
---
 .../spark/util/kvstore/LevelDBTypeInfoSuite.java   | 42 ++++++++++++----------
 .../spark/util/kvstore/RocksDBTypeInfoSuite.java   | 42 ++++++++++++----------
 .../client/TransportClientFactorySuite.java        |  7 ++--
 .../spark/network/crypto/AuthEngineSuite.java      | 33 +++++++++--------
 .../network/util/TransportFrameDecoderSuite.java   | 12 +++----
 .../shuffle/RemoteBlockPushResolverSuite.java      |  5 +--
 .../org/apache/spark/unsafe/PlatformUtilSuite.java |  8 ++---
 .../org/apache/spark/api/java/OptionalSuite.java   | 15 ++++----
 .../spark/memory/TaskMemoryManagerSuite.java       |  8 ++---
 .../shuffle/sort/UnsafeShuffleWriterSuite.java     |  8 ++---
 .../spark/launcher/ChildProcAppHandleSuite.java    | 28 ++++++++-------
 .../launcher/SparkSubmitCommandBuilderSuite.java   | 11 +++---
 .../launcher/SparkSubmitOptionParserSuite.java     |  6 ++--
 .../org/apache/spark/sql/JavaDataFrameSuite.java   |  5 +--
 .../org/apache/spark/sql/JavaDatasetSuite.java     | 30 +++++++++-------
 .../test/org/apache/spark/sql/JavaUDFSuite.java    |  5 +--
 16 files changed, 149 insertions(+), 116 deletions(-)

diff --git 
a/common/kvstore/src/test/java/org/apache/spark/util/kvstore/LevelDBTypeInfoSuite.java
 
b/common/kvstore/src/test/java/org/apache/spark/util/kvstore/LevelDBTypeInfoSuite.java
index 38db3bedaef..0359e11404c 100644
--- 
a/common/kvstore/src/test/java/org/apache/spark/util/kvstore/LevelDBTypeInfoSuite.java
+++ 
b/common/kvstore/src/test/java/org/apache/spark/util/kvstore/LevelDBTypeInfoSuite.java
@@ -43,34 +43,40 @@ public class LevelDBTypeInfoSuite {
     assertEquals(t1.child, ti.getIndexValue("child", t1));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testNoNaturalIndex() throws Exception {
-    newTypeInfo(NoNaturalIndex.class);
+  @Test
+  public void testNoNaturalIndex() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(NoNaturalIndex.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testNoNaturalIndex2() throws Exception {
-    newTypeInfo(NoNaturalIndex2.class);
+  @Test
+  public void testNoNaturalIndex2() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(NoNaturalIndex2.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testDuplicateIndex() throws Exception {
-    newTypeInfo(DuplicateIndex.class);
+  @Test
+  public void testDuplicateIndex() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(DuplicateIndex.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testEmptyIndexName() throws Exception {
-    newTypeInfo(EmptyIndexName.class);
+  @Test
+  public void testEmptyIndexName() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(EmptyIndexName.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testIllegalIndexName() throws Exception {
-    newTypeInfo(IllegalIndexName.class);
+  @Test
+  public void testIllegalIndexName() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(IllegalIndexName.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testIllegalIndexMethod() throws Exception {
-    newTypeInfo(IllegalIndexMethod.class);
+  @Test
+  public void testIllegalIndexMethod() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(IllegalIndexMethod.class));
   }
 
   @Test
diff --git 
a/common/kvstore/src/test/java/org/apache/spark/util/kvstore/RocksDBTypeInfoSuite.java
 
b/common/kvstore/src/test/java/org/apache/spark/util/kvstore/RocksDBTypeInfoSuite.java
index a51fd1a7fea..f694fd36b68 100644
--- 
a/common/kvstore/src/test/java/org/apache/spark/util/kvstore/RocksDBTypeInfoSuite.java
+++ 
b/common/kvstore/src/test/java/org/apache/spark/util/kvstore/RocksDBTypeInfoSuite.java
@@ -43,34 +43,40 @@ public class RocksDBTypeInfoSuite {
     assertEquals(t1.child, ti.getIndexValue("child", t1));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testNoNaturalIndex() throws Exception {
-    newTypeInfo(NoNaturalIndex.class);
+  @Test
+  public void testNoNaturalIndex() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(NoNaturalIndex.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testNoNaturalIndex2() throws Exception {
-    newTypeInfo(NoNaturalIndex2.class);
+  @Test
+  public void testNoNaturalIndex2() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(NoNaturalIndex2.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testDuplicateIndex() throws Exception {
-    newTypeInfo(DuplicateIndex.class);
+  @Test
+  public void testDuplicateIndex() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(DuplicateIndex.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testEmptyIndexName() throws Exception {
-    newTypeInfo(EmptyIndexName.class);
+  @Test
+  public void testEmptyIndexName() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(EmptyIndexName.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testIllegalIndexName() throws Exception {
-    newTypeInfo(IllegalIndexName.class);
+  @Test
+  public void testIllegalIndexName() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(IllegalIndexName.class));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testIllegalIndexMethod() throws Exception {
-    newTypeInfo(IllegalIndexMethod.class);
+  @Test
+  public void testIllegalIndexMethod() {
+    assertThrows(IllegalArgumentException.class,
+      () -> newTypeInfo(IllegalIndexMethod.class));
   }
 
   @Test
diff --git 
a/common/network-common/src/test/java/org/apache/spark/network/client/TransportClientFactorySuite.java
 
b/common/network-common/src/test/java/org/apache/spark/network/client/TransportClientFactorySuite.java
index c542f313823..4ee9a6ed10b 100644
--- 
a/common/network-common/src/test/java/org/apache/spark/network/client/TransportClientFactorySuite.java
+++ 
b/common/network-common/src/test/java/org/apache/spark/network/client/TransportClientFactorySuite.java
@@ -218,11 +218,12 @@ public class TransportClientFactorySuite {
     }
   }
 
-  @Test(expected = IOException.class)
-  public void closeFactoryBeforeCreateClient() throws IOException, 
InterruptedException {
+  @Test
+  public void closeFactoryBeforeCreateClient() {
     TransportClientFactory factory = context.createClientFactory();
     factory.close();
-    factory.createClient(TestUtils.getLocalHost(), server1.getPort());
+    Assert.assertThrows(IOException.class,
+      () -> factory.createClient(TestUtils.getLocalHost(), server1.getPort()));
   }
 
   @Test
diff --git 
a/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthEngineSuite.java
 
b/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthEngineSuite.java
index 22dbdc7ad57..c6029a70bd6 100644
--- 
a/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthEngineSuite.java
+++ 
b/common/network-common/src/test/java/org/apache/spark/network/crypto/AuthEngineSuite.java
@@ -77,7 +77,7 @@ public class AuthEngineSuite {
     }
   }
 
-  @Test(expected = IllegalArgumentException.class)
+  @Test
   public void testCorruptChallengeAppId() throws Exception {
 
     try (AuthEngine client = new AuthEngine("appId", "secret", conf);
@@ -85,33 +85,33 @@ public class AuthEngineSuite {
       AuthMessage clientChallenge = client.challenge();
       AuthMessage corruptChallenge =
               new AuthMessage("junk", clientChallenge.salt, 
clientChallenge.ciphertext);
-      AuthMessage serverResponse = server.response(corruptChallenge);
+      assertThrows(IllegalArgumentException.class, () -> 
server.response(corruptChallenge));
     }
   }
 
-  @Test(expected = GeneralSecurityException.class)
+  @Test
   public void testCorruptChallengeSalt() throws Exception {
 
     try (AuthEngine client = new AuthEngine("appId", "secret", conf);
          AuthEngine server = new AuthEngine("appId", "secret", conf)) {
       AuthMessage clientChallenge = client.challenge();
       clientChallenge.salt[0] ^= 1;
-      AuthMessage serverResponse = server.response(clientChallenge);
+      assertThrows(GeneralSecurityException.class, () -> 
server.response(clientChallenge));
     }
   }
 
-  @Test(expected = GeneralSecurityException.class)
+  @Test
   public void testCorruptChallengeCiphertext() throws Exception {
 
     try (AuthEngine client = new AuthEngine("appId", "secret", conf);
          AuthEngine server = new AuthEngine("appId", "secret", conf)) {
       AuthMessage clientChallenge = client.challenge();
       clientChallenge.ciphertext[0] ^= 1;
-      AuthMessage serverResponse = server.response(clientChallenge);
+      assertThrows(GeneralSecurityException.class, () -> 
server.response(clientChallenge));
     }
   }
 
-  @Test(expected = IllegalArgumentException.class)
+  @Test
   public void testCorruptResponseAppId() throws Exception {
 
     try (AuthEngine client = new AuthEngine("appId", "secret", conf);
@@ -120,11 +120,12 @@ public class AuthEngineSuite {
       AuthMessage serverResponse = server.response(clientChallenge);
       AuthMessage corruptResponse =
               new AuthMessage("junk", serverResponse.salt, 
serverResponse.ciphertext);
-      client.deriveSessionCipher(clientChallenge, corruptResponse);
+      assertThrows(IllegalArgumentException.class,
+        () -> client.deriveSessionCipher(clientChallenge, corruptResponse));
     }
   }
 
-  @Test(expected = GeneralSecurityException.class)
+  @Test
   public void testCorruptResponseSalt() throws Exception {
 
     try (AuthEngine client = new AuthEngine("appId", "secret", conf);
@@ -132,11 +133,12 @@ public class AuthEngineSuite {
       AuthMessage clientChallenge = client.challenge();
       AuthMessage serverResponse = server.response(clientChallenge);
       serverResponse.salt[0] ^= 1;
-      client.deriveSessionCipher(clientChallenge, serverResponse);
+      assertThrows(GeneralSecurityException.class,
+        () -> client.deriveSessionCipher(clientChallenge, serverResponse));
     }
   }
 
-  @Test(expected = GeneralSecurityException.class)
+  @Test
   public void testCorruptServerCiphertext() throws Exception {
 
     try (AuthEngine client = new AuthEngine("appId", "secret", conf);
@@ -144,7 +146,8 @@ public class AuthEngineSuite {
       AuthMessage clientChallenge = client.challenge();
       AuthMessage serverResponse = server.response(clientChallenge);
       serverResponse.ciphertext[0] ^= 1;
-      client.deriveSessionCipher(clientChallenge, serverResponse);
+      assertThrows(GeneralSecurityException.class,
+        () -> client.deriveSessionCipher(clientChallenge, serverResponse));
     }
   }
 
@@ -155,7 +158,7 @@ public class AuthEngineSuite {
               
AuthMessage.decodeMessage(ByteBuffer.wrap(Hex.decode(clientChallengeHex)));
       // This tests that the server will accept an old challenge as expected. 
However,
       // it will generate a fresh ephemeral keypair, so we can't replay an old 
session.
-      AuthMessage freshServerResponse = server.response(clientChallenge);
+      server.response(clientChallenge);
     }
   }
 
@@ -177,12 +180,12 @@ public class AuthEngineSuite {
     }
   }
 
-  @Test(expected = GeneralSecurityException.class)
+  @Test
   public void testMismatchedSecret() throws Exception {
     try (AuthEngine client = new AuthEngine("appId", "secret", conf);
          AuthEngine server = new AuthEngine("appId", "different_secret", 
conf)) {
       AuthMessage clientChallenge = client.challenge();
-      server.response(clientChallenge);
+      assertThrows(GeneralSecurityException.class, () -> 
server.response(clientChallenge));
     }
   }
 
diff --git 
a/common/network-common/src/test/java/org/apache/spark/network/util/TransportFrameDecoderSuite.java
 
b/common/network-common/src/test/java/org/apache/spark/network/util/TransportFrameDecoderSuite.java
index 163c52b0238..c4f5ef4ffcc 100644
--- 
a/common/network-common/src/test/java/org/apache/spark/network/util/TransportFrameDecoderSuite.java
+++ 
b/common/network-common/src/test/java/org/apache/spark/network/util/TransportFrameDecoderSuite.java
@@ -200,15 +200,15 @@ public class TransportFrameDecoderSuite {
     }
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testNegativeFrameSize() throws Exception {
-    testInvalidFrame(-1);
+  @Test
+  public void testNegativeFrameSize() {
+    assertThrows(IllegalArgumentException.class, () -> testInvalidFrame(-1));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testEmptyFrame() throws Exception {
+  @Test
+  public void testEmptyFrame() {
     // 8 because frame size includes the frame length.
-    testInvalidFrame(8);
+    assertThrows(IllegalArgumentException.class, () -> testInvalidFrame(8));
   }
 
   /**
diff --git 
a/common/network-shuffle/src/test/java/org/apache/spark/network/shuffle/RemoteBlockPushResolverSuite.java
 
b/common/network-shuffle/src/test/java/org/apache/spark/network/shuffle/RemoteBlockPushResolverSuite.java
index 20aae7c303b..5d153ae6cde 100644
--- 
a/common/network-shuffle/src/test/java/org/apache/spark/network/shuffle/RemoteBlockPushResolverSuite.java
+++ 
b/common/network-shuffle/src/test/java/org/apache/spark/network/shuffle/RemoteBlockPushResolverSuite.java
@@ -979,7 +979,7 @@ public class RemoteBlockPushResolverSuite {
         ATTEMPT_ID_1, ATTEMPT_ID_2, testApp));
   }
 
-  @Test(expected = ClosedChannelException.class)
+  @Test
   public void testOngoingMergeOfBlockFromPreviousAttemptIsAborted()
       throws IOException, InterruptedException {
     Semaphore closed = new Semaphore(0);
@@ -1016,7 +1016,8 @@ public class RemoteBlockPushResolverSuite {
       MERGE_DIRECTORY_META_2);
     closed.acquire();
     // Should throw ClosedChannelException here.
-    stream1.onData(stream1.getID(), blocks[3]);
+    assertThrows(ClosedChannelException.class,
+      () -> stream1.onData(stream1.getID(), blocks[3]));
   }
 
   @Test
diff --git 
a/common/unsafe/src/test/java/org/apache/spark/unsafe/PlatformUtilSuite.java 
b/common/unsafe/src/test/java/org/apache/spark/unsafe/PlatformUtilSuite.java
index 19e4182b38a..c59878fea99 100644
--- a/common/unsafe/src/test/java/org/apache/spark/unsafe/PlatformUtilSuite.java
+++ b/common/unsafe/src/test/java/org/apache/spark/unsafe/PlatformUtilSuite.java
@@ -95,18 +95,18 @@ public class PlatformUtilSuite {
     Assert.assertEquals(MemoryBlock.FREED_IN_ALLOCATOR_PAGE_NUMBER, 
block.pageNumber);
   }
 
-  @Test(expected = AssertionError.class)
+  @Test
   public void onHeapMemoryAllocatorThrowsAssertionErrorOnDoubleFree() {
     MemoryBlock block = MemoryAllocator.HEAP.allocate(1024);
     MemoryAllocator.HEAP.free(block);
-    MemoryAllocator.HEAP.free(block);
+    Assert.assertThrows(AssertionError.class, () -> 
MemoryAllocator.HEAP.free(block));
   }
 
-  @Test(expected = AssertionError.class)
+  @Test
   public void offHeapMemoryAllocatorThrowsAssertionErrorOnDoubleFree() {
     MemoryBlock block = MemoryAllocator.UNSAFE.allocate(1024);
     MemoryAllocator.UNSAFE.free(block);
-    MemoryAllocator.UNSAFE.free(block);
+    Assert.assertThrows(AssertionError.class, () -> 
MemoryAllocator.UNSAFE.free(block));
   }
 
   @Test
diff --git a/core/src/test/java/org/apache/spark/api/java/OptionalSuite.java 
b/core/src/test/java/org/apache/spark/api/java/OptionalSuite.java
index 4b97c18198c..53c4016bdf6 100644
--- a/core/src/test/java/org/apache/spark/api/java/OptionalSuite.java
+++ b/core/src/test/java/org/apache/spark/api/java/OptionalSuite.java
@@ -33,9 +33,10 @@ public class OptionalSuite {
     Assert.assertEquals("foo", Optional.empty().orElse("foo"));
   }
 
-  @Test(expected = NullPointerException.class)
+  @Test
   public void testEmptyGet() {
-    Optional.empty().get();
+    Assert.assertThrows(NullPointerException.class,
+      () -> Optional.empty().get());
   }
 
   @Test
@@ -46,9 +47,10 @@ public class OptionalSuite {
     Assert.assertEquals("foo", Optional.absent().orElse("foo"));
   }
 
-  @Test(expected = NullPointerException.class)
+  @Test
   public void testAbsentGet() {
-    Optional.absent().get();
+    Assert.assertThrows(NullPointerException.class,
+      () -> Optional.absent().get());
   }
 
   @Test
@@ -60,9 +62,10 @@ public class OptionalSuite {
     Assert.assertEquals(Integer.valueOf(1), Optional.of(1).orElse(2));
   }
 
-  @Test(expected = NullPointerException.class)
+  @Test
   public void testOfWithNull() {
-    Optional.of(null);
+    Assert.assertThrows(NullPointerException.class,
+      () -> Optional.of(null));
   }
 
   @Test
diff --git 
a/core/src/test/java/org/apache/spark/memory/TaskMemoryManagerSuite.java 
b/core/src/test/java/org/apache/spark/memory/TaskMemoryManagerSuite.java
index c173bc73ba2..902df64a6ca 100644
--- a/core/src/test/java/org/apache/spark/memory/TaskMemoryManagerSuite.java
+++ b/core/src/test/java/org/apache/spark/memory/TaskMemoryManagerSuite.java
@@ -82,24 +82,24 @@ public class TaskMemoryManagerSuite {
     Assert.assertEquals(MemoryBlock.FREED_IN_ALLOCATOR_PAGE_NUMBER, 
dataPage.pageNumber);
   }
 
-  @Test(expected = AssertionError.class)
+  @Test
   public void freeingPageDirectlyInAllocatorTriggersAssertionError() {
     final TaskMemoryManager manager = new TaskMemoryManager(
       new TestMemoryManager(
         new SparkConf().set(package$.MODULE$.MEMORY_OFFHEAP_ENABLED(), 
false)), 0);
     final MemoryConsumer c = new TestMemoryConsumer(manager, 
MemoryMode.ON_HEAP);
     final MemoryBlock dataPage = manager.allocatePage(256, c);
-    MemoryAllocator.HEAP.free(dataPage);
+    Assert.assertThrows(AssertionError.class, () -> 
MemoryAllocator.HEAP.free(dataPage));
   }
 
-  @Test(expected = AssertionError.class)
+  @Test
   public void callingFreePageOnDirectlyAllocatedPageTriggersAssertionError() {
     final TaskMemoryManager manager = new TaskMemoryManager(
       new TestMemoryManager(
         new SparkConf().set(package$.MODULE$.MEMORY_OFFHEAP_ENABLED(), 
false)), 0);
     final MemoryConsumer c = new TestMemoryConsumer(manager, 
MemoryMode.ON_HEAP);
     final MemoryBlock dataPage = MemoryAllocator.HEAP.allocate(256);
-    manager.freePage(dataPage, c);
+    Assert.assertThrows(AssertionError.class, () -> manager.freePage(dataPage, 
c));
   }
 
   @Test
diff --git 
a/core/src/test/java/org/apache/spark/shuffle/sort/UnsafeShuffleWriterSuite.java
 
b/core/src/test/java/org/apache/spark/shuffle/sort/UnsafeShuffleWriterSuite.java
index a865e79077a..e038cd87687 100644
--- 
a/core/src/test/java/org/apache/spark/shuffle/sort/UnsafeShuffleWriterSuite.java
+++ 
b/core/src/test/java/org/apache/spark/shuffle/sort/UnsafeShuffleWriterSuite.java
@@ -228,9 +228,9 @@ public class UnsafeShuffleWriterSuite implements 
ShuffleChecksumTestHelper {
     return recordsList;
   }
 
-  @Test(expected=IllegalStateException.class)
+  @Test
   public void mustCallWriteBeforeSuccessfulStop() throws IOException, 
SparkException {
-    createWriter(false).stop(true);
+    assertThrows(IllegalStateException.class, () -> 
createWriter(false).stop(true));
   }
 
   @Test
@@ -241,7 +241,7 @@ public class UnsafeShuffleWriterSuite implements 
ShuffleChecksumTestHelper {
   static class PandaException extends RuntimeException {
   }
 
-  @Test(expected=PandaException.class)
+  @Test
   public void writeFailurePropagates() throws Exception {
     class BadRecords extends 
scala.collection.AbstractIterator<Product2<Object, Object>> {
       @Override public boolean hasNext() {
@@ -252,7 +252,7 @@ public class UnsafeShuffleWriterSuite implements 
ShuffleChecksumTestHelper {
       }
     }
     final UnsafeShuffleWriter<Object, Object> writer = createWriter(true);
-    writer.write(new BadRecords());
+    assertThrows(PandaException.class, () -> writer.write(new BadRecords()));
   }
 
   @Test
diff --git 
a/launcher/src/test/java/org/apache/spark/launcher/ChildProcAppHandleSuite.java 
b/launcher/src/test/java/org/apache/spark/launcher/ChildProcAppHandleSuite.java
index 6a0c5845e80..c99202d4c70 100644
--- 
a/launcher/src/test/java/org/apache/spark/launcher/ChildProcAppHandleSuite.java
+++ 
b/launcher/src/test/java/org/apache/spark/launcher/ChildProcAppHandleSuite.java
@@ -165,27 +165,29 @@ public class ChildProcAppHandleSuite extends BaseSuite {
     assertEquals(Arrays.asList("output"), 
Files.lines(out).collect(Collectors.toList()));
   }
 
-  @Test(expected = IllegalArgumentException.class)
+  @Test
   public void testBadLogRedirect() throws Exception {
     File out = Files.createTempFile("stdout", "txt").toFile();
     out.deleteOnExit();
-    new SparkLauncher()
-      .redirectError()
-      .redirectOutput(out)
-      .redirectToLog("foo")
-      .launch()
-      .waitFor();
+    assertThrows(IllegalArgumentException.class,
+      () -> new SparkLauncher()
+              .redirectError()
+              .redirectOutput(out)
+              .redirectToLog("foo")
+              .launch()
+              .waitFor());
   }
 
-  @Test(expected = IllegalArgumentException.class)
+  @Test
   public void testRedirectErrorTwiceFails() throws Exception {
     File err = Files.createTempFile("stderr", "txt").toFile();
     err.deleteOnExit();
-    new SparkLauncher()
-      .redirectError()
-      .redirectError(err)
-      .launch()
-      .waitFor();
+    assertThrows(IllegalArgumentException.class,
+      () -> new SparkLauncher()
+              .redirectError()
+              .redirectError(err)
+              .launch()
+              .waitFor());
   }
 
   @Test
diff --git 
a/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitCommandBuilderSuite.java
 
b/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitCommandBuilderSuite.java
index d892ebcf3b2..967df3a563c 100644
--- 
a/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitCommandBuilderSuite.java
+++ 
b/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitCommandBuilderSuite.java
@@ -193,11 +193,11 @@ public class SparkSubmitCommandBuilderSuite extends 
BaseSuite {
       env.get("SPARKR_SUBMIT_ARGS"));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void testExamplesRunnerNoArg() throws Exception {
+  @Test
+  public void testExamplesRunnerNoArg() {
     List<String> sparkSubmitArgs = 
Arrays.asList(SparkSubmitCommandBuilder.RUN_EXAMPLE);
     Map<String, String> env = new HashMap<>();
-    buildCommand(sparkSubmitArgs, env);
+    assertThrows(IllegalArgumentException.class, () -> 
buildCommand(sparkSubmitArgs, env));
   }
 
   @Test
@@ -254,9 +254,10 @@ public class SparkSubmitCommandBuilderSuite extends 
BaseSuite {
             || new 
File(primaryResource).getName().startsWith("spark-examples"));
   }
 
-  @Test(expected = IllegalArgumentException.class)
+  @Test
   public void testMissingAppResource() {
-    new SparkSubmitCommandBuilder().buildSparkSubmitArgs();
+    assertThrows(IllegalArgumentException.class,
+      () -> new SparkSubmitCommandBuilder().buildSparkSubmitArgs());
   }
 
   @Test
diff --git 
a/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitOptionParserSuite.java
 
b/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitOptionParserSuite.java
index 4e26cf6c109..d7035dfcc56 100644
--- 
a/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitOptionParserSuite.java
+++ 
b/launcher/src/test/java/org/apache/spark/launcher/SparkSubmitOptionParserSuite.java
@@ -23,6 +23,7 @@ import java.util.List;
 
 import org.junit.Before;
 import org.junit.Test;
+import static org.junit.Assert.assertThrows;
 import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.*;
 
@@ -74,9 +75,10 @@ public class SparkSubmitOptionParserSuite extends BaseSuite {
     verify(parser).handleExtraArgs(eq(Arrays.asList("bar")));
   }
 
-  @Test(expected=IllegalArgumentException.class)
+  @Test
   public void testMissingArg() {
-    parser.parse(Arrays.asList(parser.MASTER));
+    assertThrows(IllegalArgumentException.class,
+      () -> parser.parse(Arrays.asList(parser.MASTER)));
   }
 
   @Test
diff --git 
a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java 
b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java
index c0b4690dd62..1342e5cc38d 100644
--- a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java
+++ b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDataFrameSuite.java
@@ -523,10 +523,11 @@ public class JavaDataFrameSuite {
 
   // Checks a simple case for DataFrame here and put exhaustive tests for the 
issue
   // of circular references in `JavaDatasetSuite`.
-  @Test(expected = UnsupportedOperationException.class)
+  @Test
   public void testCircularReferenceBean() {
     CircularReference1Bean bean = new CircularReference1Bean();
-    spark.createDataFrame(Arrays.asList(bean), CircularReference1Bean.class);
+    Assert.assertThrows(UnsupportedOperationException.class,
+      () -> spark.createDataFrame(Arrays.asList(bean), 
CircularReference1Bean.class));
   }
 
   @Test
diff --git 
a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java 
b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java
index 22978fb8c28..120c95aa866 100644
--- a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java
+++ b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java
@@ -707,14 +707,16 @@ public class JavaDatasetSuite implements Serializable {
    */
   private static class PrivateClassTest { }
 
-  @Test(expected = UnsupportedOperationException.class)
+  @Test
   public void testJavaEncoderErrorMessageForPrivateClass() {
-    Encoders.javaSerialization(PrivateClassTest.class);
+    Assert.assertThrows(UnsupportedOperationException.class,
+      () -> Encoders.javaSerialization(PrivateClassTest.class));
   }
 
-  @Test(expected = UnsupportedOperationException.class)
+  @Test
   public void testKryoEncoderErrorMessageForPrivateClass() {
-    Encoders.kryo(PrivateClassTest.class);
+    Assert.assertThrows(UnsupportedOperationException.class,
+      () -> Encoders.kryo(PrivateClassTest.class));
   }
 
   public static class SimpleJavaBean implements Serializable {
@@ -1747,29 +1749,33 @@ public class JavaDatasetSuite implements Serializable {
     }
   }
 
-  @Test(expected = UnsupportedOperationException.class)
+  @Test
   public void testCircularReferenceBean1() {
     CircularReference1Bean bean = new CircularReference1Bean();
-    spark.createDataset(Arrays.asList(bean), 
Encoders.bean(CircularReference1Bean.class));
+    Assert.assertThrows(UnsupportedOperationException.class,
+      () -> spark.createDataset(Arrays.asList(bean), 
Encoders.bean(CircularReference1Bean.class)));
   }
 
-  @Test(expected = UnsupportedOperationException.class)
+  @Test
   public void testCircularReferenceBean2() {
     CircularReference3Bean bean = new CircularReference3Bean();
-    spark.createDataset(Arrays.asList(bean), 
Encoders.bean(CircularReference3Bean.class));
+    Assert.assertThrows(UnsupportedOperationException.class,
+      () -> spark.createDataset(Arrays.asList(bean), 
Encoders.bean(CircularReference3Bean.class)));
   }
 
-  @Test(expected = UnsupportedOperationException.class)
+  @Test
   public void testCircularReferenceBean3() {
     CircularReference4Bean bean = new CircularReference4Bean();
-    spark.createDataset(Arrays.asList(bean), 
Encoders.bean(CircularReference4Bean.class));
+    Assert.assertThrows(UnsupportedOperationException.class,
+      () -> spark.createDataset(Arrays.asList(bean), 
Encoders.bean(CircularReference4Bean.class)));
   }
 
-  @Test(expected = RuntimeException.class)
+  @Test
   public void testNullInTopLevelBean() {
     NestedSmallBean bean = new NestedSmallBean();
     // We cannot set null in top-level bean
-    spark.createDataset(Arrays.asList(bean, null), 
Encoders.bean(NestedSmallBean.class));
+    Assert.assertThrows(RuntimeException.class,
+      () -> spark.createDataset(Arrays.asList(bean, null), 
Encoders.bean(NestedSmallBean.class)));
   }
 
   @Test
diff --git a/sql/core/src/test/java/test/org/apache/spark/sql/JavaUDFSuite.java 
b/sql/core/src/test/java/test/org/apache/spark/sql/JavaUDFSuite.java
index cd64f858b14..4a63ac5911b 100644
--- a/sql/core/src/test/java/test/org/apache/spark/sql/JavaUDFSuite.java
+++ b/sql/core/src/test/java/test/org/apache/spark/sql/JavaUDFSuite.java
@@ -107,10 +107,11 @@ public class JavaUDFSuite implements Serializable {
     Assert.assertEquals(55, sum);
   }
 
-  @Test(expected = AnalysisException.class)
+  @Test
   public void udf5Test() {
     spark.udf().register("inc", (Long i) -> i + 1, DataTypes.LongType);
-    List<Row> results = spark.sql("SELECT inc(1, 5)").collectAsList();
+    Assert.assertThrows(AnalysisException.class,
+      () -> spark.sql("SELECT inc(1, 5)").collectAsList());
   }
 
   @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to