*Ignore previous mail, here’s reformatted one.*
Hi,
in Forge Arquillian Addon we are struggling with integration tests executed
using org.jboss.forge.addon.shell.test.ShellTest. We’ve noticed that
particular tests are “randomly” failing every n-th execution. Interestingly
enough it’s almost always AddArquillianAlgeronPublisherTest
<
https://github.com/forge/addon-arquillian/blob/e6b6e905ec86ceef1c1a72862d...
hanging on 2nd or 3rd command. Not sure what makes it so special, but at
least it’s a starting point for further investigation. Without a serious
scientific method I can conclude it’s almost 5/10 runs of the full build.
We spent some time investigating without that much of luck, but what we
have observed is that
public boolean isEnabled(UIContext context) {
Boolean parent = super.isEnabled(context);
if (parent) {
return getSelectedProject(context).hasFacet(AlgeronConsumer.class);
}
return parent;
}
is sometimes not recognizing that parent is a project. This might a be
lead. Above snippet comes from AbstractAlgeronPublisherCommand
<
https://github.com/forge/addon-arquillian/blob/e6b6e905ec86ceef1c1a72862d...
.
Moreover we are explictly installing all the required facets, as we thought
that could be the root cause.
@Beforepublic void setUp() throws Exception {
final AddonRegistry addonRegistry =
Furnace.instance(getClass().getClassLoader()).getAddonRegistry();
projectFactory = addonRegistry.getServices(ProjectFactory.class).get();
shellTest = addonRegistry.getServices(ShellTest.class).get();
project = projectFactory.createTempProject(asList(JavaSourceFacet.class,
ArquillianFacet.class, AlgeronProvider.class, AlgeronConsumer.class,
AlgeronPublisherFacet.class));
shellTest.getShell().setCurrentResource(project.getRoot());
}
But it seems it’s not the problem. Or maybe we are doing something wrong
here as well?
Any hints would be more than welcome :) This is really bothering us at the
moment :\
Cheers,
Bartosz.
On Wed, Feb 15, 2017 at 1:38 PM, Bartosz Majsak <bartosz(a)redhat.com> wrote:
Hi,
in Forge Arquillian Addon we are struggling with integration tests
executed using `org.jboss.forge.addon.shell.test.ShellTest`. We've
noticed that particular tests are "randomly" failing every n-th execution.
Interestingly enough it’s almost always [`AddArquillianAlgeronPublisherT
est`](https://github.com/forge/addon-arquillian/blob/
e6b6e905ec86ceef1c1a72862ded27e680039f71/src/test/java/test/
integration/algeron/AddArquillianAlgeronPublisherTest.java) hanging on
2nd or 3rd command. Not sure what makes it so special, but at least it's a
starting point for further investigation. Without a serious scientific
method I can conclude it's almost 5/10 runs of the full build.
We spent some time investigating without that much of luck, but what we
have observed is that
```java
public boolean isEnabled(UIContext context) {
Boolean parent = super.isEnabled(context);
if (parent) {
return getSelectedProject(context).hasFacet(AlgeronConsumer.
class);
}
return parent;
}
```
is sometimes not recognizing that `parent` is a project. This might a be
lead. Above snippet comes from [`AbstractAlgeronPublisherCommand`](
https://github.com/forge/addon-arquillian/blob/
e6b6e905ec86ceef1c1a72862ded27e680039f71/src/main/java/org/
jboss/forge/arquillian/command/algeron/AbstractAlgeronPublisherComman
d.java#L64).
Moreover we are explictly installing all the required facets, as we
thought that could be the root cause.
But it seems it's not the problem. Or maybe we are doing something wrong
here as well?
Any hints would be more than welcome :) This is really bothering us at the
moment :\
Cheers,
Bartosz.