Github user xuanyuanking commented on a diff in the pull request:
https://github.com/apache/spark/pull/22165#discussion_r224955955
--- Diff:
core/src/test/scala/org/apache/spark/scheduler/ContextBarrierStateSuite.scala
---
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.spark.scheduler
+
+import scala.concurrent.duration._
+import scala.language.postfixOps
+
+import org.mockito.ArgumentMatcher
+import org.mockito.Matchers._
+import org.mockito.Mockito._
+import org.scalatest.concurrent.Eventually
+
+import org.apache.spark._
+import org.apache.spark.rpc.{RpcAddress, RpcCallContext, RpcEnv}
+
+class ContextBarrierStateSuite extends SparkFunSuite with
LocalSparkContext with Eventually {
+
+ private def mockRpcCallContext() = {
+ val rpcAddress = mock(classOf[RpcAddress])
+ val rpcCallContext = mock(classOf[RpcCallContext])
+ when(rpcCallContext.senderAddress).thenReturn(rpcAddress)
+ rpcCallContext
+ }
+
+ test("normal test for single task") {
+ val barrierCoordinator = new BarrierCoordinator(
--- End diff --
```
So you don't have to launch a SparkContext for the test. Could you please
check whether this is feasible?
```
Thanks for Xingbo's guidance and sorry for misunderstand at first. That's
feasible. But maybe this is the last thing not clear cause we still need a real
BarrierCoordinator. Because a mock one will cause the `timer` NPE. Thanks
@jiangxb1987
https://github.com/apache/spark/blob/2eaf0587883ac3c65e77d01ffbb39f64c6152f87/core/src/main/scala/org/apache/spark/BarrierCoordinator.scala#L152
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]