Closes #649 Reuse embedded OSGi container in tests
This speeds up build time from 17m to 11m on my machine by reusing OSGi framework containers where possible. That also fixes an OSGi container which is causing lots of build failures on Jenkins. See the last commit which is the only thing new, and the `OsgiManager` class is the main significant difference in that. Other things are just wiring to control bundle reuse or not. This includes #645 and #647 so if this build passes we can assume the failures in those PR's are ignorable (they seem to be due to memory leaks). But merge those before merging this (and I can rebase this if needed once they are merged.) /cc @neykov @aledsage @geomacy Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/aae72186 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/aae72186 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/aae72186 Branch: refs/heads/master Commit: aae72186527c85dba7648e6a00cdf652eab05c37 Parents: b7f13c1 881ecd5 Author: Geoff Macartney <[email protected]> Authored: Fri Apr 28 14:06:08 2017 +0100 Committer: Geoff Macartney <[email protected]> Committed: Fri Apr 28 14:06:08 2017 +0100 ---------------------------------------------------------------------- .../camp/brooklyn/AbstractYamlTest.java | 8 +- .../camp/brooklyn/ExternalConfigYamlTest.java | 2 +- ...RmMachineLocationExternalConfigYamlTest.java | 2 +- .../catalog/AbstractCatalogXmlTest.java | 2 +- .../catalog/CatalogMakeOsgiBundleTest.java | 2 +- .../brooklyn/core/mgmt/ha/OsgiManager.java | 87 ++++++++++++- .../brooklyn/core/BrooklynVersionTest.java | 2 +- ...aderFromBrooklynClassLoadingContextTest.java | 2 +- .../brooklyn/core/mgmt/osgi/OsgiPathTest.java | 12 +- .../mgmt/osgi/OsgiTestingLeaksAndSpeedTest.java | 125 +++++++++++++++++++ .../mgmt/osgi/OsgiVersionMoreEntityTest.java | 2 +- ...entoSerializerDelegatingClassLoaderTest.java | 2 +- .../mgmt/persist/XmlMementoSerializerTest.java | 14 +-- .../rebind/ActivePartialRebindVersionTest.java | 2 +- .../core/mgmt/rebind/ManagementPlaneIdTest.java | 2 +- .../core/mgmt/rebind/RebindTestFixture.java | 8 +- .../core/mgmt/rebind/RebindTestUtils.java | 19 ++- .../entity/LocalManagementContextForTests.java | 43 ++++++- .../util/core/ClassLoaderUtilsTest.java | 14 +-- .../util/core/osgi/BundleMakerTest.java | 2 +- .../rt/felix/EmbeddedFelixFramework.java | 2 +- 21 files changed, 312 insertions(+), 42 deletions(-) ----------------------------------------------------------------------
