I am not sure why you think geode-junit and geode-dunit are production jars and should be treated as such. They are test framework jars in the same vein as org.springframework:spring-test or org.apache.lucene:lucene-test-framework. The should contain shared class for producing tests against the geode product. They could certainly use some refinement. I would suggest we create a geode-test main module with sub modules for unit, integration, distributed and upgrade style test frameworks. I would also create sub-modules for common test domain objects that main not be as beneficial to the consumers downstream but are shared between primary modules in our projects.
Thanks for finding the tests that were meant to test the framework. I have refactored them into the appropriate test sources sets. More inline below: On Thu, Aug 9, 2018 at 3:56 PM Kirk Lund <kl...@apache.org> wrote: > Here are the tests that are no longer running because they've been moved to > src/main (was this reviewed?): > > <klund@Kirks-MacBook-Pro>/Users/klund/dev/gemfire/open/geode-dunit [2294]$ > find . -name '*Test.java' > > ./src/main/java/org/apache/geode/codeAnalysis/AnalyzeSerializablesJUnitTest.java > Has been split into a base class that all other projects derive from and moved to geode-junit. > ./src/main/java/org/apache/geode/security/templates/PKCSPrincipalTest.java > > ./src/main/java/org/apache/geode/security/templates/UsernamePrincipalTest.java > Moved these unit tests to dunit/src/test > > ./src/main/java/org/apache/geode/test/dunit/cache/examples/CacheTestCaseExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/BeforeClassExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/DistributedTestCaseExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/DistributedTestRuleExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/DoNotHandleUnexpectedExceptionExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/FixtureOrderingExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java > > ./src/main/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java > All of these are "examples". I wonder if they should be treated differently. For the time they are in geode-dunit/src/distributedTest. ./src/main/java/org/apache/geode/test/dunit/internal/DUnitBlackboardDUnitTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/ClusterStartupRuleCanSpecifyOlderVersionsDUnitTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/DistributedTestRuleDistributedTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/MemberStarterRuleAwaitDUnitTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/MemberStarterRuleAwaitIntegrationTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/MemberStarterRuleIntegrationTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/MemberStarterRuleTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/SharedCountersRuleDistributedTest.java > > ./src/main/java/org/apache/geode/test/dunit/rules/tests/SharedErrorCollectorDistributedTest.java > ./src/main/java/org/apache/geode/test/dunit/tests/BasicDistributedTest.java > > ./src/main/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java > ./src/main/java/org/apache/geode/test/dunit/tests/VMDistributedTest.java Moved to geode-dunit/src/distributedTest. > The following is the list of testing classes in geode-junit that probably > shouldn't be part of a geode-junit release: > > ./src/main/java/com/examples/ds/Address.java > ./src/main/java/com/examples/ds/Company.java > ./src/main/java/com/examples/ds/CompanySerializer.java > ./src/main/java/com/examples/ds/Employee.java > ./src/main/java/com/examples/ds/PutDataSerializables.java > ./src/main/java/com/examples/ds/User.java > ./src/main/java/com/examples/snapshot/MyDataSerializer.java > ./src/main/java/com/examples/snapshot/MyObject.java > ./src/main/java/com/examples/snapshot/MyObjectDataSerializable.java > ./src/main/java/com/examples/snapshot/MyObjectPdx.java > ./src/main/java/com/examples/snapshot/MyObjectPdxSerializable.java > ./src/main/java/com/examples/snapshot/MyPdxSerializer.java > ./src/main/java/org/apache/geode/cache/query/CacheUtils.java > ./src/main/java/org/apache/geode/cache/query/data/Address.java > ./src/main/java/org/apache/geode/cache/query/data/City.java > ./src/main/java/org/apache/geode/cache/query/data/CollectionHolder.java > ./src/main/java/org/apache/geode/cache/query/data/ComparableWrapper.java > ./src/main/java/org/apache/geode/cache/query/data/Country.java > ./src/main/java/org/apache/geode/cache/query/data/Data.java > ./src/main/java/org/apache/geode/cache/query/data/District.java > ./src/main/java/org/apache/geode/cache/query/data/Employee.java > ./src/main/java/org/apache/geode/cache/query/data/Instrument.java > ./src/main/java/org/apache/geode/cache/query/data/Inventory.java > ./src/main/java/org/apache/geode/cache/query/data/Keywords.java > ./src/main/java/org/apache/geode/cache/query/data/Manager.java > ./src/main/java/org/apache/geode/cache/query/data/Numbers.java > ./src/main/java/org/apache/geode/cache/query/data/PhoneNo.java > ./src/main/java/org/apache/geode/cache/query/data/Portfolio.java > ./src/main/java/org/apache/geode/cache/query/data/PortfolioData.java > ./src/main/java/org/apache/geode/cache/query/data/PortfolioNoDS.java > ./src/main/java/org/apache/geode/cache/query/data/PortfolioPdx.java > ./src/main/java/org/apache/geode/cache/query/data/Position.java > ./src/main/java/org/apache/geode/cache/query/data/PositionNoDS.java > ./src/main/java/org/apache/geode/cache/query/data/PositionPdx.java > > ./src/main/java/org/apache/geode/cache/query/data/ProhibitedSecurityQuote.java > ./src/main/java/org/apache/geode/cache/query/data/Quote.java > ./src/main/java/org/apache/geode/cache/query/data/Restricted.java > ./src/main/java/org/apache/geode/cache/query/data/SecurityMaster.java > ./src/main/java/org/apache/geode/cache/query/data/State.java > ./src/main/java/org/apache/geode/cache/query/data/Street.java > ./src/main/java/org/apache/geode/cache/query/data/Student.java > ./src/main/java/org/apache/geode/cache/query/data/TestData.java > ./src/main/java/org/apache/geode/cache/query/data/TradingLine.java > ./src/main/java/org/apache/geode/cache/query/data/Vehicle.java > ./src/main/java/org/apache/geode/cache/query/data/Village.java > ./src/main/java/org/apache/geode/cache/util/TxEventTestUtil.java > ./src/main/java/org/apache/geode/cache30/MyGatewayEventFilter1.java > ./src/main/java/org/apache/geode/cache30/MyGatewayEventFilter2.java > ./src/main/java/org/apache/geode/cache30/MyGatewayTransportFilter1.java > ./src/main/java/org/apache/geode/cache30/MyGatewayTransportFilter2.java > ./src/main/java/org/apache/geode/DeltaTestImpl.java > > ./src/main/java/org/apache/geode/distributed/TestServerLauncherCacheProvider.java > ./src/main/java/org/apache/geode/internal/cache/execute/data/CustId.java > ./src/main/java/org/apache/geode/internal/cache/execute/data/OrderId.java > > ./src/main/java/org/apache/geode/internal/cache/execute/data/ShipmentId.java > > ./src/main/java/org/apache/geode/internal/cache/execute/MyFunctionExecutionException.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/AbstractMockExtension.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/AbstractMockExtensionXmlGenerator.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/AlterMockCacheExtensionFunction.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/AlterMockRegionExtensionFunction.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/CreateMockCacheExtensionFunction.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/CreateMockRegionExtensionFunction.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/DestroyMockCacheExtensionFunction.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/DestroyMockRegionExtensionFunction.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/MockCacheExtension.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/MockCacheExtensionXmlGenerator.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/MockExtensionCommands.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/MockExtensionXmlParser.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/MockRegionExtension.java > > ./src/main/java/org/apache/geode/internal/cache/extension/mock/MockRegionExtensionXmlGenerator.java > > ./src/main/java/org/apache/geode/internal/cache/TestObjectWithIdentifier.java > > ./src/main/java/org/apache/geode/internal/cache/wan/CustomAsyncEventListener.java > ./src/main/java/org/apache/geode/internal/cache/wan/Filter70.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyAsyncEventListener.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyAsyncEventListener2.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyDistributedSystemListener.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyGatewayEventFilter.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyGatewaySenderEventListener2.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter1.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter2.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter3.java > > ./src/main/java/org/apache/geode/internal/cache/wan/MyGatewayTransportFilter4.java > ./src/main/java/org/apache/geode/internal/cache/wan/QueueListener.java > > ./src/main/java/org/apache/geode/internal/cache/wan/WaitingAsyncEventListener.java > > ./src/main/java/org/apache/geode/management/internal/cli/commands/CommandAvailabilityIndicatorTestHelper.java > > ./src/main/java/org/apache/geode/management/internal/cli/commands/ToUpperResultCollector.java > > ./src/main/java/org/apache/geode/management/internal/cli/domain/MyCacheListener.java > > ./src/main/java/org/apache/geode/management/internal/cli/domain/MyCacheLoader.java > > ./src/main/java/org/apache/geode/management/internal/cli/domain/MyCacheWriter.java > ./src/main/java/org/apache/geode/management/internal/cli/domain/Stock.java > ./src/main/java/org/apache/geode/management/internal/cli/dto/Car.java > ./src/main/java/org/apache/geode/management/internal/cli/dto/Key.java > ./src/main/java/org/apache/geode/management/internal/cli/dto/Key1.java > ./src/main/java/org/apache/geode/management/internal/cli/dto/Key2.java > > ./src/main/java/org/apache/geode/management/internal/cli/dto/ObjectWithCharAttr.java > ./src/main/java/org/apache/geode/management/internal/cli/dto/Value.java > ./src/main/java/org/apache/geode/management/internal/cli/dto/Value1.java > ./src/main/java/org/apache/geode/management/internal/cli/dto/Value2.java > ./src/main/java/org/apache/geode/management/internal/cli/ResultHandler.java > > ./src/main/java/org/apache/geode/management/internal/configuration/ConfigGroup.java > > ./src/main/java/org/apache/geode/management/internal/security/TestCommand.java > > ./src/main/java/org/apache/geode/management/internal/security/TestFunctions.java > ./src/main/java/org/apache/geode/pdx/DomainObject.java > ./src/main/java/org/apache/geode/pdx/DomainObjectBad.java > ./src/main/java/org/apache/geode/pdx/DomainObjectClassLoadable.java > ./src/main/java/org/apache/geode/pdx/DomainObjectPdxAuto.java > > ./src/main/java/org/apache/geode/pdx/DomainObjectPdxAutoNoDefaultConstructor.java > ./src/main/java/org/apache/geode/pdx/DSInsidePdx.java > ./src/main/java/org/apache/geode/pdx/Employee.java > ./src/main/java/org/apache/geode/pdx/NestedPdx.java > ./src/main/java/org/apache/geode/pdx/NonDelegatingLoader.java > ./src/main/java/org/apache/geode/pdx/PdxInsideDS.java > ./src/main/java/org/apache/geode/pdx/SeparateClassloaderPdx.java > ./src/main/java/org/apache/geode/pdx/SimpleClass.java > ./src/main/java/org/apache/geode/pdx/SimpleClass1.java > ./src/main/java/org/apache/geode/pdx/SimpleClass2.java > ./src/main/java/org/apache/geode/security/PDXPostProcessor.java > > ./src/main/java/org/apache/geode/security/query/data/PdxQueryTestObject.java > ./src/main/java/org/apache/geode/security/query/data/PdxTrade.java > ./src/main/java/org/apache/geode/security/query/data/QueryTestObject.java > ./src/main/java/org/apache/geode/security/query/UserPermissions.java > ./src/main/java/org/apache/geode/security/SimpleTestSecurityManager.java > > ./src/main/java/org/apache/geode/security/templates/UserPasswordAuthInit.java > ./src/main/java/org/apache/geode/security/TestPostProcessor.java > ./src/main/java/org/apache/geode/security/TestSecurityManager.java > All of these are shared across projects and test sources sets and must be in a common test framework or be duplicated in each source set. > The following is the list of testing classes in geode-junit that probably > shouldn't be part of a geode-unit release: > > ./src/main/java/org/apache/geode/cache/client/internal/LocatorTestBase.java > > ./src/main/java/org/apache/geode/cache/query/cq/dunit/CqQueryTestListener.java > > ./src/main/java/org/apache/geode/cache/query/dunit/CloseCacheAuthorization.java > ./src/main/java/org/apache/geode/cache/query/dunit/HelperTestCase.java > ./src/main/java/org/apache/geode/cache/query/QueryTestUtils.java > ./src/main/java/org/apache/geode/cache30/CacheSerializableRunnable.java > ./src/main/java/org/apache/geode/cache30/CacheTestCase.java > ./src/main/java/org/apache/geode/cache30/CacheXml70DUnitTestHelper.java > ./src/main/java/org/apache/geode/cache30/CacheXmlTestCase.java > ./src/main/java/org/apache/geode/cache30/CertifiableTestCacheListener.java > ./src/main/java/org/apache/geode/cache30/ClientServerTestCase.java > ./src/main/java/org/apache/geode/cache30/MultiVMRegionTestCase.java > ./src/main/java/org/apache/geode/cache30/RegionTestCase.java > ./src/main/java/org/apache/geode/cache30/TestCacheCallback.java > ./src/main/java/org/apache/geode/cache30/TestCacheListener.java > ./src/main/java/org/apache/geode/cache30/TestCacheLoader.java > ./src/main/java/org/apache/geode/cache30/TestCacheWriter.java > > ./src/main/java/org/apache/geode/codeAnalysis/AnalyzeSerializablesJUnitTest.java > ./src/main/java/org/apache/geode/codeAnalysis/ClassAndMethodDetails.java > ./src/main/java/org/apache/geode/codeAnalysis/ClassAndMethods.java > ./src/main/java/org/apache/geode/codeAnalysis/ClassAndVariableDetails.java > ./src/main/java/org/apache/geode/codeAnalysis/ClassAndVariables.java > ./src/main/java/org/apache/geode/codeAnalysis/CompiledClassUtils.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/CompiledAttribute.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/CompiledClass.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/CompiledCode.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/CompiledField.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/CompiledMethod.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/Cp.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpClass.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpDouble.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpFieldref.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpFloat.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpInteger.java > > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpInterfaceMethodref.java > > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpInvokeDynamic.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpLong.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpMethodHandle.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpMethodref.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpMethodType.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpNameAndType.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpString.java > ./src/main/java/org/apache/geode/codeAnalysis/decode/cp/CpUtf8.java > > ./src/main/java/org/apache/geode/distributed/internal/membership/gms/MembershipManagerHelper.java > ./src/main/java/org/apache/geode/internal/AvailablePortHelper.java > > ./src/main/java/org/apache/geode/internal/cache/CustomerIDPartitionResolver.java > > ./src/main/java/org/apache/geode/internal/cache/execute/CustomerIDPartitionResolver.java > ./src/main/java/org/apache/geode/internal/cache/execute/data/Customer.java > ./src/main/java/org/apache/geode/internal/cache/execute/data/Order.java > ./src/main/java/org/apache/geode/internal/cache/execute/data/Shipment.java > > ./src/main/java/org/apache/geode/internal/cache/execute/PRColocationDUnitTestHelper.java > > ./src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheServerTestUtil.java > > ./src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTestBase.java > > ./src/main/java/org/apache/geode/internal/cache/tier/sockets/ConflationDUnitTestHelper.java > > ./src/main/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java > > ./src/main/java/org/apache/geode/management/internal/cli/commands/CliCommandTestBase.java > ./src/main/java/org/apache/geode/management/internal/cli/HeadlessGfsh.java > > ./src/main/java/org/apache/geode/management/internal/configuration/ClusterConfig.java > > ./src/main/java/org/apache/geode/management/internal/configuration/ClusterConfigTestBase.java > ./src/main/java/org/apache/geode/management/ManagementTestBase.java > ./src/main/java/org/apache/geode/management/MBeanUtil.java > ./src/main/java/org/apache/geode/management/MXBeanAwaitility.java > ./src/main/java/org/apache/geode/security/ClientAuthorizationTestCase.java > > ./src/main/java/org/apache/geode/security/generator/AuthzCredentialGenerator.java > > ./src/main/java/org/apache/geode/security/generator/CredentialGenerator.java > > ./src/main/java/org/apache/geode/security/generator/DummyAuthzCredentialGenerator.java > > ./src/main/java/org/apache/geode/security/generator/DummyCredentialGenerator.java > > ./src/main/java/org/apache/geode/security/generator/LdapUserCredentialGenerator.java > > ./src/main/java/org/apache/geode/security/generator/PKCSCredentialGenerator.java > > ./src/main/java/org/apache/geode/security/generator/SSLCredentialGenerator.java > > ./src/main/java/org/apache/geode/security/generator/UserPasswordWithExtraPropsAuthInit.java > > ./src/main/java/org/apache/geode/security/generator/XmlAuthzCredentialGenerator.java > ./src/main/java/org/apache/geode/security/query/QuerySecurityBase.java > ./src/main/java/org/apache/geode/security/SecurityTestUtil.java > ./src/main/java/org/apache/geode/security/SecurityTestUtils.java > ./src/main/java/org/apache/geode/security/templates/DummyAuthenticator.java > ./src/main/java/org/apache/geode/security/templates/DummyAuthorization.java > > ./src/main/java/org/apache/geode/security/templates/FunctionSecurityPrmsHolder.java > > ./src/main/java/org/apache/geode/security/templates/LdapUserAuthenticator.java > ./src/main/java/org/apache/geode/security/templates/PKCSAuthenticator.java > ./src/main/java/org/apache/geode/security/templates/PKCSAuthInit.java > ./src/main/java/org/apache/geode/security/templates/PKCSPrincipal.java > ./src/main/java/org/apache/geode/security/templates/PKCSPrincipalTest.java > > ./src/main/java/org/apache/geode/security/templates/SimpleAccessController.java > > ./src/main/java/org/apache/geode/security/templates/SimpleAuthenticator.java > ./src/main/java/org/apache/geode/security/templates/UsernamePrincipal.java > > ./src/main/java/org/apache/geode/security/templates/UsernamePrincipalTest.java > ./src/main/java/org/apache/geode/security/templates/XmlAuthorization.java > ./src/main/java/org/apache/geode/security/templates/XmlErrorHandler.java > All of these are shared across projects and test sources sets and must be in a common test framework or be duplicated in each source set. > And we have some classes in geode-dunit that should instead be in > geode-junit (are we reviewing these pull requests?): > > ./src/main/java/org/apache/geode/test/junit/rules/ClientCacheRule.java > > ./src/main/java/org/apache/geode/test/junit/rules/ConnectionConfiguration.java > ./src/main/java/org/apache/geode/test/junit/rules/DiskDirRule.java > ./src/main/java/org/apache/geode/test/junit/rules/GfshCommandRule.java > ./src/main/java/org/apache/geode/test/junit/rules/Locator.java > ./src/main/java/org/apache/geode/test/junit/rules/LocatorStarterRule.java > > ./src/main/java/org/apache/geode/test/junit/rules/MBeanServerConnectionRule.java > ./src/main/java/org/apache/geode/test/junit/rules/Member.java > ./src/main/java/org/apache/geode/test/junit/rules/MemberStarterRule.java > ./src/main/java/org/apache/geode/test/junit/rules/Server.java > ./src/main/java/org/apache/geode/test/junit/rules/ServerStarterRule.java > ./src/main/java/org/apache/geode/test/junit/rules/VMProvider.java > I think all of these had dependencies inside the dunit framework. They can always be refactored. -Jake