MultiJVM test harnesses need to be published
Like the title says.
Leave a comment
Are we talking about the multi-jvm sbt plugin here or the MultiNodeSpec? Or both?
on 2012-08-18 00:56 *
By bjorn.antonsson@typesafe.com
I see. We should make sure that things needed ends up in testkit or some other published artifact.
on 2012-08-18 00:56 *
By bjorn.antonsson@typesafe.com
Assigned to set to bjorn.antonsson@typesafe.com
Status changed from Accepted to New
on 2012-08-30 07:15 *
By Patrik Nordwall
Component changed from None to cluster-tests
Priority changed from Normal (3) to High (2)
Changing priority to High, because if we are going to release akka-cluster as experimental in 2.1 users should also have a way of testing their stuff. Right now it is not possible because MultiNodeSpec is located in test and depends on AkkaSpec (only for internal use).
So before I tear things apart too much. Is it ok if AkkaSpec gets bundled with testkit, or should we don't do that?
We could make it private[akka] if we want to have control over it.
Seems a pity to duplicate it just to make MultiNodeSpec publishable.
We could make it private[akka] if we want to have control over it.
Seems a pity to duplicate it just to make MultiNodeSpec publishable.
on 2012-09-07 01:59 *
By Patrik Nordwall
I think one strong factor is the dependencies. I don't think testkit has a dependency to scalatest now (except for "test" dependency), and that is very good. Adding AkkaSpec to testkit would add a dependency to scalatest.
It's not very much code in AkkaSpec that it is worth it, in my opinion. I think that could be added to MultiNodeSpec directly instead of extending AkkaSpec.
Even better would be to make MultiNodeSpec agnostic to testing framework, i.e. make it a trait, but that is perhaps too complicated?
It's not very much code in AkkaSpec that it is worth it, in my opinion. I think that could be added to MultiNodeSpec directly instead of extending AkkaSpec.
Even better would be to make MultiNodeSpec agnostic to testing framework, i.e. make it a trait, but that is perhaps too complicated?
on 2012-09-07 02:32 *
By bjorn.antonsson@typesafe.com
I don't think that making MultiNodeSpec framework agnostic is worth it or easily possible since we need to have the shutdown hooks in the test case which as far as I know is handled differently in different frameworks.
Then we would have to include base implementations for different frameworks something that we might want to do later.
So thecurrent idea is to change as little as possible and include AkkaSpec in akka-testkit. The scalatest framework can be a compile dependecy, and not pollute akka-testkit.
Move everything else needed to use the MultiNodeSpec into akka-remote-tests once again with scalatest as a compile dependency not to force people to pull down scalatest.
This means that if you want to use MultiNodeSpec you have to include scalatest explicitly.
Then we would have to include base implementations for different frameworks something that we might want to do later.
So thecurrent idea is to change as little as possible and include AkkaSpec in akka-testkit. The scalatest framework can be a compile dependecy, and not pollute akka-testkit.
Move everything else needed to use the MultiNodeSpec into akka-remote-tests once again with scalatest as a compile dependency not to force people to pull down scalatest.
This means that if you want to use MultiNodeSpec you have to include scalatest explicitly.
on 2012-09-07 02:45 *
By Patrik Nordwall
ok, but verify that the compile dependency doesn't become a transitive dependency, also in published pom.xml files. ivy scopes doesn't work exactly as maven scopes.
on 2012-09-07 03:12 *
By Jonas Bonér
It would be worth the effort to try to avoid depending on ScalaTest. We are trying across the company to remove that dependency. Josh even wants us to rewrite all Akka's tests (but I don't think that will happen).
on 2012-09-12 05:03 *
By bjorn.antonsson@typesafe.com
Opened e separate ticket for making MultiNodeSpec test framework agnostic. #2495
Changed MultiNodeSpec to not depend on ScalaTest and removed all other dependencies to ScalaTest in the published artifacts.