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