profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/kriegfrj/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Fr Jeremy Krieg kriegfrj Greek Welfare Centre of South Australia - St Philothei 213 Henley Beach Rd, Torrensville, South Australia https://www.greekwelfaresa.org.au I am CEO of the Greek Welfare Centre of SA and a priest of the Greek Orthodox Archdiocese of Australia, and one-time software engineer.

kriegfrj/apiguardian 0

@API Guardian

kriegfrj/aries-typedevent 0

Apache aries

kriegfrj/assertj-android 0

A set of AssertJ helpers geared toward testing Android.

kriegfrj/assertj-assertions-generator-maven-plugin 0

A maven plugin to generate assertions for your custom types

kriegfrj/assertj-core 0

AssertJ is a library of assertions similar to fest-assert but providing a richer set of assertions.

kriegfrj/assertj-mockito 0

assertj-mockito is a library integrating mockito with assertj's soft assertions.

kriegfrj/assertj-robolectric 0

AssertJ extensions for Robolectric

kriegfrj/AutoCreatePage 0

MediaWiki extension to create pages with a parser function

kriegfrj/bnd 0

Bnd/Bndtools. Tooling to build OSGi bundles including Eclipse, Maven, and Gradle plugins.

delete branch kriegfrj/bnd

delete branch : 4849-use-local-class

delete time in an hour

push eventbndtools/bnd

Fr Jeremy Krieg

commit sha 66a797d8ae2afc4e71ee63657a867587bf5956ce

[quickfix test] Change empty buildpath test to avoid ref to JUnit Suspect transient network errors were causing this test to be flaky. Fixes #4849 Signed-off-by: Fr Jeremy Krieg <fr.jkrieg@greekwelfaresa.org.au>

view details

Fr Jeremy Krieg

commit sha 5e7166a477a5af73c42740995076718855327f13

Merge pull request #4850 from kriegfrj/4849-use-local-class [quickfix test] Change empty buildpath test to avoid ref to JUnit

view details

push time in an hour

PR merged bndtools/bnd

[quickfix test] Change empty buildpath test to avoid ref to JUnit

Suspect transient network errors were causing this test to be flaky.

Fixes #4849 (hopefully)

+3 -3

0 comment

1 changed file

kriegfrj

pr closed time in an hour

issue closedbndtools/bnd

[quickfix test] New transient error

All the work on the quickfix test seems to have nearly eliminated the transient failures. However, they haven't disappeared completely.

Because they now happen so rarely they will be hard to track down and fix. I'm going to record them here in the hope that this will aid the process of finding a pattern.

The error below is caused because, for some reason, the quickfix did not find the jupiter-api bundle. There are a couple of reasons this could happen:

  1. the bundle was already on the build path.
  2. the bundle was not successfully downloaded in time for the test to run (possible transient error for Maven Central).

I could work around this issue by reimplementing the test to use a class in the local bundle instead of a Maven Central bundle.

TEST bndtools.core.test.editors.quickfix.BuildpathQuickFixProcessor_WithEmptyBuildpath_Test#testWithShortClassNameInRepoAndBuildpath() <<< ERROR: 
Multiple Failures (1 failure)
-- failure 1 --
[package test; public class Test{ >>>Tag<<< unqualifiedTagType; }
Pb(2) Tag cannot be resolved to a type
Id: TypeRelated + 2
[33, 3]
Tag
] 
Expecting elements:
  []
to have exactly 1 times Suggestion to add 'junit-jupiter-api' to -buildpath for class org.junit.jupiter.api.Tag
at BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.testWithShortClassNameInRepoAndBuildpath(BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.java:366)
org.assertj.core.error.AssertJMultipleFailuresError: 
Multiple Failures (1 failure)
-- failure 1 --
[package test; public class Test{ >>>Tag<<< unqualifiedTagType; }
Pb(2) Tag cannot be resolved to a type
Id: TypeRelated + 2
[33, 3]
Tag
] 
Expecting elements:
  []
to have exactly 1 times Suggestion to add 'junit-jupiter-api' to -buildpath for class org.junit.jupiter.api.Tag
at BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.testWithShortClassNameInRepoAndBuildpath(BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.java:366)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterTestExecutionCallbacks$9(TestMethodTestDescriptor.java:233)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:273)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$14(TestMethodTestDescriptor.java:273)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:272)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterTestExecutionCallbacks(TestMethodTestDescriptor.java:232)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at aQute.tester.bundle.engine.BundleDescriptor.executeChild(BundleDescriptor.java:49)
	at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$7(BundleEngine.java:120)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:120)
	at aQute.tester.bundle.engine.BundleEngine.lambda$execute$5(BundleEngine.java:100)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at aQute.tester.bundle.engine.BundleEngine.execute(BundleEngine.java:100)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
	at aQute.tester.junit.platform.Activator.test(Activator.java:439)
	at aQute.tester.junit.platform.Activator.automatic(Activator.java:344)
	at aQute.tester.junit.platform.Activator.run(Activator.java:216)
	at java.lang.Thread.run(Thread.java:748)

> Task :bndtools.core.test:testOSGi FAILED

closed time in an hour

kriegfrj

PR opened bndtools/bnd

[quickfix test] Change empty buildpath test to avoid ref to JUnit

Suspect transient network errors were causing this test to be flaky.

Fixes #4849 (hopefully)

+3 -3

0 comment

1 changed file

pr created time in an hour

create barnchkriegfrj/bnd

branch : 4849-use-local-class

created branch time in an hour

issue openedbndtools/bnd

[quickfix test] New transient error

All the work on the quickfix test seems to have nearly eliminated the transient failures. However, they haven't disappeared completely.

Because they now happen so rarely they will be hard to track down and fix. I'm going to record them here in the hope that this will aid the process of finding a pattern.

The error below is caused because, for some reason, the quickfix did not find the jupiter-api bundle. There are a couple of reasons this could happen:

  1. the bundle was already on the build path.
  2. the bundle was not successfully downloaded in time for the test to run (possible transient error for Maven Central).

I could work around this issue by reimplementing the test to use a class in the local bundle instead of a Maven Central bundle.

TEST bndtools.core.test.editors.quickfix.BuildpathQuickFixProcessor_WithEmptyBuildpath_Test#testWithShortClassNameInRepoAndBuildpath() <<< ERROR: 
Multiple Failures (1 failure)
-- failure 1 --
[package test; public class Test{ >>>Tag<<< unqualifiedTagType; }
Pb(2) Tag cannot be resolved to a type
Id: TypeRelated + 2
[33, 3]
Tag
] 
Expecting elements:
  []
to have exactly 1 times Suggestion to add 'junit-jupiter-api' to -buildpath for class org.junit.jupiter.api.Tag
at BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.testWithShortClassNameInRepoAndBuildpath(BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.java:366)
org.assertj.core.error.AssertJMultipleFailuresError: 
Multiple Failures (1 failure)
-- failure 1 --
[package test; public class Test{ >>>Tag<<< unqualifiedTagType; }
Pb(2) Tag cannot be resolved to a type
Id: TypeRelated + 2
[33, 3]
Tag
] 
Expecting elements:
  []
to have exactly 1 times Suggestion to add 'junit-jupiter-api' to -buildpath for class org.junit.jupiter.api.Tag
at BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.testWithShortClassNameInRepoAndBuildpath(BuildpathQuickFixProcessor_WithEmptyBuildpath_Test.java:366)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterTestExecutionCallbacks$9(TestMethodTestDescriptor.java:233)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:273)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$14(TestMethodTestDescriptor.java:273)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:272)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterTestExecutionCallbacks(TestMethodTestDescriptor.java:232)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at aQute.tester.bundle.engine.BundleDescriptor.executeChild(BundleDescriptor.java:49)
	at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$7(BundleEngine.java:120)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:120)
	at aQute.tester.bundle.engine.BundleEngine.lambda$execute$5(BundleEngine.java:100)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at aQute.tester.bundle.engine.BundleEngine.execute(BundleEngine.java:100)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
	at aQute.tester.junit.platform.Activator.test(Activator.java:439)
	at aQute.tester.junit.platform.Activator.automatic(Activator.java:344)
	at aQute.tester.junit.platform.Activator.run(Activator.java:216)
	at java.lang.Thread.run(Thread.java:748)

> Task :bndtools.core.test:testOSGi FAILED

created time in an hour

Pull request review commentbndtools/bnd

fixes Project refresh after mavenBndRepo Update in View

 public static void refreshPlugins() throws Exception { 	}  	public static void refreshPlugin(Refreshable plugin) throws Exception {-		if (plugin.refresh()) {+		refreshPlugin(plugin, false);+	}++	public static void refreshPlugin(Refreshable plugin, boolean force) throws Exception {+		if (plugin.refresh() || force) {

Gotcha - but in that case, wouldn't a warning comment achieve the same thing?

juergen-albert

comment created time in 15 hours

PullRequestReviewEvent

Pull request review commentbndtools/bnd

fixes Project refresh after mavenBndRepo Update in View

 public static void refreshPlugins() throws Exception { 	}  	public static void refreshPlugin(Refreshable plugin) throws Exception {-		if (plugin.refresh()) {+		refreshPlugin(plugin, false);+	}++	public static void refreshPlugin(Refreshable plugin, boolean force) throws Exception {+		if (plugin.refresh() || force) {

Unless the JLS permits the arguments to be reordered (I don't think it does?) there doesn't seem to be any harm in short-circuiting.

juergen-albert

comment created time in a day

PullRequestReviewEvent
GollumEvent

issue commentbndtools/bnd

[tester] Support test re-run interface of Eclipse

I don't think I'm quite going to get this one done.

I have it about 80% working. The trick is, for it to be useful, you need a configuration option to suppress the tester's built-in automatic re-run of all tests. The reason for this is: There's usually not much point re-running an individual test unless you've changed something in either the test code or the code-under-test. But at the moment, as soon as you change something it will end the current test session and start afresh with a new one, re-running the test anyway. For the re-run feature to be useful, you need an option to suppress the automatic re-run of tests (at least while a test session is still open). This complication is what led me to put in on the backburner.

I think that the most pressing usability issue is the related one that I fixed in #4813.

kriegfrj

comment created time in 2 days

pull request commentbndtools/bnd

Introduced Remote Bundle Install UI Support

I haven't looked at this in detail, but one suggestion I have is for the project bsn to be org.bndtools.remoteinstall rather than than just bndtools.remoteinstall.

amitjoy

comment created time in 2 days

delete branch kriegfrj/bnd

delete branch : launch-facade-fixes

delete time in 2 days

push eventbndtools/bnd

Fr Jeremy Krieg

commit sha d6934907b024ad938ae6ef8239ae7c9f1e67f002

[launch] Fix shortcuts disappearing A stray : meant that the property tester for the contextual launch was being configured with an empty class. We were handling the null case but not the empty string case. Removed the stray colon and changed to handle both error conditions. Fixes #4832. Signed-off-by: Fr Jeremy Krieg <fr.jkrieg@greekwelfaresa.org.au>

view details

Fr Jeremy Krieg

commit sha d3a0ef2c242e39fe275049368d30bc67e6b83e18

Merge pull request #4840 from kriegfrj/launch-facade-fixes [launch] Fix shortcuts disappearing

view details

push time in 2 days

issue closedbndtools/bnd

[launch] Intermittent stack trace error

I captured this stack trace while working on Bndtools and wanted to record it for posterity.

There have been a couple of reports on the dev Slack forum (from @stbischof and myself) of some of the context menu launch shortcuts going missing. Usually it is fixed by a restart. I suspect that there is some race condition with the facade implementation of the property tester, the result of which then gets cached for the life of the Workbench. There are other side effects (eg, other menu items going missing, some launches not working when they should, etc). I suspect that the stack trace below is a significant clue.

2021-09-13 15:12:28,498 [main] ERROR org.eclipse.equinox.logger - Launch shortcut 'bndtools.launch.JUnitShortcut' enablement expression caused exception.
org.eclipse.core.runtime.CoreException: No property tester contributes a property org.bndtools.core.isInBndJavaProject to type class org.eclipse.jdt.internal.core.CompilationUnit
	at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(TypeExtensionManager.java:130)
	at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:100)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.AdaptExpression.evaluate(AdaptExpression.java:118)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateOr(CompositeExpression.java:69)
	at org.eclipse.core.internal.expressions.OrExpression.evaluate(OrExpression.java:25)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.IterateExpression.evaluate(IterateExpression.java:165)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:81)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateOr(CompositeExpression.java:69)
	at org.eclipse.core.internal.expressions.OrExpression.evaluate(OrExpression.java:25)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.EnablementExpression.evaluate(EnablementExpression.java:58)
	at org.eclipse.eclemma.internal.ui.actions.ContextualLaunchableTester.test(ContextualLaunchableTester.java:53)
	at org.eclipse.core.internal.expressions.Property.test(Property.java:65)
	at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:103)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:81)
	at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55)
	at org.eclipse.core.internal.expressions.EnablementExpression.evaluate(EnablementExpression.java:58)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension.evalEnablementExpression(LaunchShortcutExtension.java:280)
	at org.eclipse.debug.ui.actions.ContextualLaunchAction.isApplicable(ContextualLaunchAction.java:283)
	at org.eclipse.debug.ui.actions.ContextualLaunchAction.fillMenu(ContextualLaunchAction.java:214)
	at org.eclipse.debug.ui.actions.ContextualLaunchAction$1.menuShown(ContextualLaunchAction.java:137)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:259)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4213)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1046)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:760)
	at org.eclipse.jface.action.ActionContributionItem.copyMenu(ActionContributionItem.java:1232)
	at org.eclipse.jface.action.ActionContributionItem.handleShowProxy(ActionContributionItem.java:1212)
	at org.eclipse.jface.action.ActionContributionItem.lambda$7(ActionContributionItem.java:1175)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4213)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1042)
	at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:5137)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4769)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1480)
	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2142)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4923)
	at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
	at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:237)
	at org.eclipse.swt.widgets.Display.runPopups(Display.java:4071)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3624)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.bndtools.applaunch.BndApplicationLauncher.lambda$0(BndApplicationLauncher.java:34)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at aQute.launcher.Launcher.launch(Launcher.java:451)
	at aQute.launcher.Launcher.run(Launcher.java:185)
	at aQute.launcher.Launcher.main(Launcher.java:161)
	at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:170)
	at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:135)
	at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:52)

closed time in 2 days

kriegfrj

PR merged bndtools/bnd

Reviewers
[launch] Fix shortcuts disappearing

A stray : meant that the property tester for the contextual launch was being configured with an empty class. We were handling the null case but not the empty string case. Removed the stray colon and changed to handle both error conditions.

Fixes #4832.

Signed-off-by: Fr Jeremy Krieg fr.jkrieg@greekwelfaresa.org.au

+6 -4

0 comment

2 changed files

kriegfrj

pr closed time in 2 days

PR opened bndtools/bnd

[launch] Fix shortcuts disappearing

A stray : meant that the property tester for the contextual launch was being configured with an empty class. We were handling the null case but not the empty string case. Removed the stray colon and changed to handle both error conditions.

Fixes #4832.

Signed-off-by: Fr Jeremy Krieg fr.jkrieg@greekwelfaresa.org.au

+6 -4

0 comment

2 changed files

pr created time in 2 days

push eventkriegfrj/bnd

Fr Jeremy Krieg

commit sha d6934907b024ad938ae6ef8239ae7c9f1e67f002

[launch] Fix shortcuts disappearing A stray : meant that the property tester for the contextual launch was being configured with an empty class. We were handling the null case but not the empty string case. Removed the stray colon and changed to handle both error conditions. Fixes #4832. Signed-off-by: Fr Jeremy Krieg <fr.jkrieg@greekwelfaresa.org.au>

view details

push time in 2 days

create barnchkriegfrj/bnd

branch : launch-facade-fixes

created branch time in 2 days

issue commentbndtools/bnd

[launch] Intermittent stack trace error

Just found this:

2021-09-13 15:24:59,327 [main] ERROR org.eclipse.equinox.logger - Launch shortcut 'bndtools.launch.JUnitShortcut' enablement expression caused exception. Shortcut was removed.
org.eclipse.core.runtime.CoreException: Downstream interface for bndtools.launch.LaunchPropertyTester not found
	at org.bndtools.facade.ExtensionFacade.setInitializationData(ExtensionFacade.java:220)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:254)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
	at org.eclipse.core.internal.expressions.PropertyTesterDescriptor.instantiate(PropertyTesterDescriptor.java:99)
	at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeExtension.java:100)
	at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeExtension.java:150)
	at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeExtension.java:133)
	at org.eclipse.core.internal.expressions.TypeExtension.findTypeExtender(TypeExtension.java:133)

I think I have found the root cause - the ExtensionFacade is correctly handling the case where the "data" field is absent, but not handling the case where it is blank. Fix is easy, to come shortly.

kriegfrj

comment created time in 2 days

issue commentbndtools/bnd

[launch] Intermittent stack trace error

This is almost certainly the root cause of the disappearing shortcut. I found a different (but closely related) error that stated that the shortcut would be removed because it had caused an exception during the evaluation.

Hoping for a fix in time for today's cut-off.

kriegfrj

comment created time in 2 days

issue openedbndtools/bnd

[launch] Intermittent stack trace error

I captured this stack trace while working on Bndtools and wanted to record it for posterity.

There have been a couple of reports on the dev Slack forum (from @stbischof and myself) of some of the context menu launch shortcuts going missing. Usually it is fixed by a restart. I suspect that there is some race condition with the facade implementation of the property tester, the result of which then gets cached for the life of the Workbench. There are other side effects (eg, other menu items going missing, some launches not working when they should, etc). I suspect that the stack trace below is a significant clue.

2021-09-13 15:12:28,498 [main] ERROR org.eclipse.equinox.logger - Launch shortcut 'bndtools.launch.JUnitShortcut' enablement expression caused exception. org.eclipse.core.runtime.CoreException: No property tester contributes a property org.bndtools.core.isInBndJavaProject to type class org.eclipse.jdt.internal.core.CompilationUnit at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(TypeExtensionManager.java:130) at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:100) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55) at org.eclipse.core.internal.expressions.AdaptExpression.evaluate(AdaptExpression.java:118) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateOr(CompositeExpression.java:69) at org.eclipse.core.internal.expressions.OrExpression.evaluate(OrExpression.java:25) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55) at org.eclipse.core.internal.expressions.IterateExpression.evaluate(IterateExpression.java:165) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55) at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:81) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateOr(CompositeExpression.java:69) at org.eclipse.core.internal.expressions.OrExpression.evaluate(OrExpression.java:25) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55) at org.eclipse.core.internal.expressions.EnablementExpression.evaluate(EnablementExpression.java:58) at org.eclipse.eclemma.internal.ui.actions.ContextualLaunchableTester.test(ContextualLaunchableTester.java:53) at org.eclipse.core.internal.expressions.Property.test(Property.java:65) at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:103) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55) at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:81) at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:55) at org.eclipse.core.internal.expressions.EnablementExpression.evaluate(EnablementExpression.java:58) at org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension.evalEnablementExpression(LaunchShortcutExtension.java:280) at org.eclipse.debug.ui.actions.ContextualLaunchAction.isApplicable(ContextualLaunchAction.java:283) at org.eclipse.debug.ui.actions.ContextualLaunchAction.fillMenu(ContextualLaunchAction.java:214) at org.eclipse.debug.ui.actions.ContextualLaunchAction$1.menuShown(ContextualLaunchAction.java:137) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:259) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4213) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1046) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:760) at org.eclipse.jface.action.ActionContributionItem.copyMenu(ActionContributionItem.java:1232) at org.eclipse.jface.action.ActionContributionItem.handleShowProxy(ActionContributionItem.java:1212) at org.eclipse.jface.action.ActionContributionItem.lambda$7(ActionContributionItem.java:1175) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4213) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1042) at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:5137) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4769) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1480) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2142) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4923) at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method) at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:237) at org.eclipse.swt.widgets.Display.runPopups(Display.java:4071) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3624) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.bndtools.applaunch.BndApplicationLauncher.lambda$0(BndApplicationLauncher.java:34) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at aQute.launcher.Launcher.launch(Launcher.java:451) at aQute.launcher.Launcher.run(Launcher.java:185) at aQute.launcher.Launcher.main(Launcher.java:161) at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:170) at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:135) at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:52)

created time in 4 days

delete branch kriegfrj/bnd

delete branch : fix-status-handlers

delete time in 5 days

push eventbndtools/bnd

Fr Jeremy Krieg

commit sha 5f03dab3b80db9f7d7e62ccfe3ad5dd3036adfc7

[launch] Fix status handler registration Statuses are now defined in the org.bndtools.launch plugin but the plugin.xml in bndtools.core had not been updated to reflect this fact so they weren't working. Signed-off-by: Fr Jeremy Krieg <fr.jkrieg@greekwelfaresa.org.au>

view details

Fr Jeremy Krieg

commit sha 60ee4db9c170250cd17566dfa469c2b55ccee41e

Merge pull request #4831 from kriegfrj/fix-status-handlers [launch] Fix status handler registration

view details

push time in 5 days

PR merged bndtools/bnd

[launch] Fix status handler registration

Status handlers are now in the org.bndtools.launch plugin but the bndtools.core plugin.xml had not been updated to reflect this fact so they weren't working.

+3 -3

0 comment

1 changed file

kriegfrj

pr closed time in 5 days

PR opened bndtools/bnd

[launch] Fix status handler registration

Status handlers are now in the org.bndtools.launch plugin but the bndtools.core plugin.xml had not been updated to reflect this fact so they weren't working.

+3 -3

0 comment

1 changed file

pr created time in 5 days

push eventkriegfrj/bnd

Fr Jeremy Krieg

commit sha 5f03dab3b80db9f7d7e62ccfe3ad5dd3036adfc7

[launch] Fix status handler registration Statuses are now defined in the org.bndtools.launch plugin but the plugin.xml in bndtools.core had not been updated to reflect this fact so they weren't working. Signed-off-by: Fr Jeremy Krieg <fr.jkrieg@greekwelfaresa.org.au>

view details

push time in 5 days

create barnchkriegfrj/bnd

branch : fix-status-handlers

created branch time in 5 days