-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55688/
-----------------------------------------------------------

Review request for geode, Galen O'Sullivan, Hitesh Khamesra, and Udo Kohlmeyer.


Bugs: GEODE-1965
    https://issues.apache.org/jira/browse/GEODE-1965


Repository: geode


Description
-------

The DUnit distributed unit test framework is extended to have 
Host.getHost(x).getVM(version, vmNumber), allowing you to launch a managed JVM 
running the given version of Geode.

A new class, VersionManager, loads the versions available to test against and 
can be used to parameterize a class to run against all available versions or to 
check whether a version is available for testing.  I've modified a 
client/server test to show how this is done.

Available versions are created as Gradle source-sets in the new 
geode-old-versions submodule.  This submodule has no source files at present.  
All test classes are compiled against the current version of Geode but are run 
with old versions when run in a VM obtained through 
Host.getHost(x).getVM(oldVersion, vmNumber).  Versions are of the form "100", 
"110", "120" etc.  The current version is VersionManager.CURRENT_VERSION, which 
has the value "000".

The DUnit Locator process has been modified to allow peers to start up using 
old versions of Geode.  This isn't normally allowed, but this modification 
makes it easier to test peer-to-peer algorithms that have been modified or 
peer-to-peer messages that have a new on-wire format.


Diffs
-----

  geode-core/build.gradle 49dd84b387867e0189892ba096d35a2483c0ee37 
  
geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java
 7da9de439e28756815e0c5ce3539578c02f22e8f 
  
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
 391653cf1f1b9dbcc7bca5232bf6f230d81dc230 
  
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscSelectorDUnitTest.java
 e177b793cc252038cd8e892be07181ec867d44ed 
  geode-core/src/test/java/org/apache/geode/test/dunit/DUnitEnv.java 
efc196f7998a4ed7410c44346c421e1d8b07d854 
  geode-core/src/test/java/org/apache/geode/test/dunit/Host.java 
43cbccf931e43b1f98c42f82955f824c67279109 
  geode-core/src/test/java/org/apache/geode/test/dunit/Invoke.java 
a09f5ff965ec5e705b41b9b94927be919c07afc7 
  geode-core/src/test/java/org/apache/geode/test/dunit/VM.java 
04d29511201fb52b4347c6287f427c3d1a81595f 
  geode-core/src/test/java/org/apache/geode/test/dunit/standalone/ChildVM.java 
b85d0b55705ba040f6f954a9847ac00f3a334252 
  
geode-core/src/test/java/org/apache/geode/test/dunit/standalone/DUnitLauncher.java
 8587ea5e34df82036dbca94602ed2276cef73ca8 
  
geode-core/src/test/java/org/apache/geode/test/dunit/standalone/ProcessManager.java
 c3c33d04014b173d45bf4bbf7c74a10fc0cc1335 
  
geode-core/src/test/java/org/apache/geode/test/dunit/standalone/StandAloneDUnitEnv.java
 3d554edf30c3f703d891f624035c6e918ab16a5b 
  
geode-core/src/test/java/org/apache/geode/test/dunit/standalone/VersionManager.java
 PRE-CREATION 
  geode-old-versions/build.gradle PRE-CREATION 
  settings.gradle 8e2673a7750ffaf03d9b00778b93fde7831fa0e4 

Diff: https://reviews.apache.org/r/55688/diff/


Testing
-------


Thanks,

Bruce Schuchardt

Reply via email to